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%2Finternal%2FActivator.java;h=4642fb5a40d48922d1b46d8854cac9a6e69a5486;hp=b629e08d96817dc7d2935259ec8354af7c534edf;hb=6667a65141692bc359087d8f1c9c8561636f1c59;hpb=502db54a267e8583aef1f57120ddc9ac162fbba9 diff --git a/bundles/org.simantics.scl.osgi/src/org/simantics/scl/osgi/internal/Activator.java b/bundles/org.simantics.scl.osgi/src/org/simantics/scl/osgi/internal/Activator.java index b629e08d9..4642fb5a4 100644 --- a/bundles/org.simantics.scl.osgi/src/org/simantics/scl/osgi/internal/Activator.java +++ b/bundles/org.simantics.scl.osgi/src/org/simantics/scl/osgi/internal/Activator.java @@ -1,18 +1,25 @@ package org.simantics.scl.osgi.internal; import java.util.Hashtable; +import java.util.concurrent.ForkJoinPool; import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; +import org.simantics.scl.compiler.errors.Failable; +import org.simantics.scl.compiler.module.Module; import org.simantics.scl.compiler.module.repository.ModuleRepository; import org.simantics.scl.compiler.module.repository.UpdateListener; import org.simantics.scl.compiler.source.repository.ModuleSourceRepository; import org.simantics.scl.compiler.source.repository.ProceduralModuleSourceRepository; import org.simantics.scl.compiler.source.repository.SourceRepositories; import org.simantics.scl.osgi.SCLOsgi; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public class Activator implements BundleActivator { + private static final Logger LOGGER = LoggerFactory.getLogger(Activator.class); + public static final String PLUGIN_ID = "org.simantics.scl.osgi"; private static BundleContext context; @@ -37,6 +44,13 @@ public class Activator implements BundleActivator { } }, properties); + // Let's try to compile StandardLibrary asynchronously to speed up + // the compilation when we actually need it the first time + LOGGER.info("Warming up SCL-compiler with StandardLibrary"); + ForkJoinPool.commonPool().submit(() -> { + Failable module = SCLOsgi.MODULE_REPOSITORY.getModule("StandardLibrary"); + LOGGER.info("StandardLibrary compiled {}", module); + }); } public void stop(BundleContext bundleContext) throws Exception {