X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=tests%2Forg.simantics.scl.compiler.tests%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Ftests%2FInitialRepository.java;h=87ea5274d23aa0947d56c0d7163b67d3afa17368;hp=e1d0d59f7daab5e7022fde34382a07c57b919ff9;hb=4c2fb8fefbdec1856e160dc24b6498aa4bd5eb48;hpb=1956b6ed85e1df65c4df58e6cb0ac6aa296e6939 diff --git a/tests/org.simantics.scl.compiler.tests/src/org/simantics/scl/compiler/tests/InitialRepository.java b/tests/org.simantics.scl.compiler.tests/src/org/simantics/scl/compiler/tests/InitialRepository.java index e1d0d59f7..87ea5274d 100644 --- a/tests/org.simantics.scl.compiler.tests/src/org/simantics/scl/compiler/tests/InitialRepository.java +++ b/tests/org.simantics.scl.compiler.tests/src/org/simantics/scl/compiler/tests/InitialRepository.java @@ -1,21 +1,38 @@ -package org.simantics.scl.compiler.tests; - -import org.simantics.scl.compiler.module.repository.ModuleRepository; -import org.simantics.scl.compiler.source.repository.CompositeModuleSourceRepository; -import org.simantics.scl.compiler.source.repository.SourceRepositories; -import org.simantics.scl.osgi.SCLOsgi; - -public class InitialRepository { - private static ModuleRepository MODULE_REPOSITORY1 = new ModuleRepository( - new CompositeModuleSourceRepository( - SourceRepositories.BUILTIN_SOURCE_REPOSITORY, - SourceRepositories.PRELUDE_SOURCE_REPOSITORY - )); - - public static ModuleRepository getInitialRepository() { - if(MODULE_REPOSITORY1.getModule("Prelude").didSucceed()) - return MODULE_REPOSITORY1; - else - return SCLOsgi.MODULE_REPOSITORY; - } -} +package org.simantics.scl.compiler.tests; + +import org.simantics.scl.compiler.environment.Environment; +import org.simantics.scl.compiler.environment.specification.EnvironmentSpecification; +import org.simantics.scl.compiler.module.repository.ImportFailureException; +import org.simantics.scl.compiler.module.repository.ModuleRepository; +import org.simantics.scl.compiler.source.repository.CompositeModuleSourceRepository; +import org.simantics.scl.compiler.source.repository.SourceRepositories; +import org.simantics.scl.osgi.SCLOsgi; + +public class InitialRepository { + public static final boolean NO_PRELUDE = false; + + private static ModuleRepository MODULE_REPOSITORY1 = new ModuleRepository( + new CompositeModuleSourceRepository( + SourceRepositories.BUILTIN_SOURCE_REPOSITORY, + SourceRepositories.PRELUDE_SOURCE_REPOSITORY + )); + + public static EnvironmentSpecification DEFAULT_ENVIRONMENT_SPECIFICATION = new EnvironmentSpecification(); + static { + DEFAULT_ENVIRONMENT_SPECIFICATION.importModule("Builtin", ""); + DEFAULT_ENVIRONMENT_SPECIFICATION.importModule("Prelude", ""); + } + + public static ModuleRepository getInitialRepository() { + if(NO_PRELUDE) + return new ModuleRepository(SourceRepositories.BUILTIN_SOURCE_REPOSITORY); + else if(MODULE_REPOSITORY1.getModule("Prelude").didSucceed()) + return MODULE_REPOSITORY1; + else + return SCLOsgi.MODULE_REPOSITORY; + } + + public static Environment getDefaultEnvironment() throws ImportFailureException { + return getInitialRepository().createEnvironment(DEFAULT_ENVIRONMENT_SPECIFICATION, null); + } +}