X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.scl.osgi%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fosgi%2FSCLOsgi.java;h=90876bbdf229747a06e400e15fe35c441677f2a1;hp=59f8e5fd804616a59ac705a31563160404206f92;hb=6c68b80324f1e7d8fcedd2ff9f341b7eced1ee40;hpb=51006ffec13cbf8e0d9c8b07212d69478e4bdd4e diff --git a/bundles/org.simantics.scl.osgi/src/org/simantics/scl/osgi/SCLOsgi.java b/bundles/org.simantics.scl.osgi/src/org/simantics/scl/osgi/SCLOsgi.java index 59f8e5fd8..90876bbdf 100644 --- a/bundles/org.simantics.scl.osgi/src/org/simantics/scl/osgi/SCLOsgi.java +++ b/bundles/org.simantics.scl.osgi/src/org/simantics/scl/osgi/SCLOsgi.java @@ -5,39 +5,56 @@ import java.util.ArrayList; import org.simantics.scl.compiler.errors.DoesNotExist; import org.simantics.scl.compiler.errors.Failable; import org.simantics.scl.compiler.module.Module; +import org.simantics.scl.compiler.module.options.ModuleCompilationOptions; +import org.simantics.scl.compiler.module.options.ModuleCompilationOptionsAdvisor; import org.simantics.scl.compiler.module.repository.ModuleRepository; import org.simantics.scl.compiler.source.repository.ModuleSourceRepository; import org.simantics.scl.compiler.testing.repository.TestRepository; import org.simantics.scl.osgi.internal.Activator; import org.simantics.scl.osgi.internal.ServiceBasedModuleSourceRepository; import org.simantics.scl.osgi.internal.ServiceBasedTestRepository; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import gnu.trove.procedure.TObjectProcedure; public class SCLOsgi { + private static final Logger LOGGER = LoggerFactory.getLogger(SCLOsgi.class); + private SCLOsgi() {} public static ModuleSourceRepository SOURCE_REPOSITORY = new ServiceBasedModuleSourceRepository(Activator.getContext()); public static ModuleRepository MODULE_REPOSITORY = new ModuleRepository(SOURCE_REPOSITORY); public static TestRepository TEST_REPOSITORY = new ServiceBasedTestRepository(Activator.getContext()); - + static { + MODULE_REPOSITORY.setAdvisor(new ModuleCompilationOptionsAdvisor() { + ModuleCompilationOptions options = null; + @Override + public ModuleCompilationOptions getOptions(String moduleName) { + if(options == null) { + options = new ModuleCompilationOptions(false); + options.collectDebugInfo = Activator.getContext().getProperty("osgi.dev") != null; //$NON-NLS-1$ + } + return options; + } + }); + } + public static String compileAllModules() { ArrayList modulesWithErrors = new ArrayList(); SCLOsgi.SOURCE_REPOSITORY.forAllModules(new TObjectProcedure() { @Override public boolean execute(String moduleName) { - System.out.print(moduleName); - System.out.print(" - "); Failable module = SCLOsgi.MODULE_REPOSITORY.getModule(moduleName); if(module.didSucceed()) - System.out.println("succeeded"); + LOGGER.trace("{} - {}", moduleName, "succeeded"); else if(module == DoesNotExist.INSTANCE) - System.out.println("does not exist"); // should not happen + LOGGER.trace("{} - {}", moduleName, "does not exist"); // should not happen else { - System.out.println("error"); + LOGGER.trace("{} - {}", moduleName, "error"); modulesWithErrors.add(moduleName); } return true;