]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-3895 fix dependency of ExtensionProviders on commons-conf
authorSimon Brandhof <simon.brandhof@gmail.com>
Thu, 8 Nov 2012 13:45:03 +0000 (14:45 +0100)
committerSimon Brandhof <simon.brandhof@gmail.com>
Thu, 8 Nov 2012 13:45:03 +0000 (14:45 +0100)
sonar-batch/src/main/java/org/sonar/batch/bootstrap/ProjectModule.java

index 8e7a22c33efdcf86ee69c0c4bf306d84d06c67b2..3f58c74ccdf58294cf80c084638127689b2138c3 100644 (file)
@@ -63,17 +63,21 @@ public class ProjectModule extends Module {
   }
 
   private void addCoreComponents() {
+    ProjectDefinition projectDefinition = container.getComponentByType(ProjectTree.class).getProjectDefinition(project);
+    container.addSingleton(projectDefinition);
+    container.addSingleton(project.getConfiguration());
+    container.addSingleton(project);
+    container.addSingleton(ProjectSettings.class);
+
+    // hack to initialize commons-configuration before ExtensionProviders
+    container.getComponentByType(ProjectSettings.class);
+
     container.addSingleton(EventBus.class);
     container.addSingleton(Phases.class);
     container.addSingleton(PhasesTimeProfiler.class);
     for (Class clazz : Phases.getPhaseClasses()) {
       container.addSingleton(clazz);
     }
-    ProjectDefinition projectDefinition = container.getComponentByType(ProjectTree.class).getProjectDefinition(project);
-    container.addSingleton(projectDefinition);
-    container.addSingleton(project.getConfiguration());
-    container.addSingleton(project);
-    container.addSingleton(ProjectSettings.class);
     container.addSingleton(UnsupportedProperties.class);
 
     for (Object component : projectDefinition.getContainerExtensions()) {