+\r
+ protected static void createAndRegisterSlcExecution(Project project) {\r
+ SlcExecution slcExecution = new SlcExecution();\r
+ slcExecution.setUuid(UUID.randomUUID().toString());\r
+ try {\r
+ slcExecution.setHost(InetAddress.getLocalHost().getHostName());\r
+ } catch (UnknownHostException e) {\r
+ slcExecution.setHost(SlcExecution.UNKOWN_HOST);\r
+ }\r
+\r
+ if (project.getReference(SlcProjectHelper.REF_ROOT_CONTEXT) != null) {\r
+ slcExecution.setType(SlcExecutionBuildListener.SLC_ANT_TYPE);\r
+ } else {\r
+ slcExecution.setType(SlcExecutionBuildListener.ANT_TYPE);\r
+ }\r
+\r
+ slcExecution.setUser(System.getProperty("user.name"));\r
+ slcExecution.setStatus(SlcExecution.STATUS_RUNNING);\r
+ slcExecution.getAttributes().put("ant.file",\r
+ project.getProperty("ant.file"));\r
+\r
+ project.addReference(SlcExecutionBuildListener.REF_SLC_EXECUTION,\r
+ slcExecution);\r
+\r
+ // Add build listeners declared in Spring context\r
+ Map<String, ProjectRelatedBuildListener> listeners = ((ListableBeanFactory) project\r
+ .getReference(REF_ROOT_CONTEXT)).getBeansOfType(\r
+ ProjectRelatedBuildListener.class, false, true);\r
+ for (ProjectRelatedBuildListener listener : listeners.values()) {\r
+ listener.init(project);\r
+ project.addBuildListener(listener);\r
+ }\r
+\r
+ }\r