1 package org.simantics.scl.compiler.tests;
3 import org.simantics.scl.compiler.environment.Environment;
4 import org.simantics.scl.compiler.environment.specification.EnvironmentSpecification;
5 import org.simantics.scl.compiler.module.repository.ImportFailureException;
6 import org.simantics.scl.compiler.module.repository.ModuleRepository;
7 import org.simantics.scl.compiler.source.repository.CompositeModuleSourceRepository;
8 import org.simantics.scl.compiler.source.repository.SourceRepositories;
9 import org.simantics.scl.osgi.SCLOsgi;
11 public class InitialRepository {
12 public static final boolean NO_PRELUDE = false;
14 private static ModuleRepository MODULE_REPOSITORY1 = new ModuleRepository(
15 new CompositeModuleSourceRepository(
16 SourceRepositories.BUILTIN_SOURCE_REPOSITORY,
17 SourceRepositories.PRELUDE_SOURCE_REPOSITORY
20 public static EnvironmentSpecification DEFAULT_ENVIRONMENT_SPECIFICATION = new EnvironmentSpecification();
22 DEFAULT_ENVIRONMENT_SPECIFICATION.importModule("Builtin", "");
23 DEFAULT_ENVIRONMENT_SPECIFICATION.importModule("Prelude", "");
26 public static ModuleRepository getInitialRepository() {
28 return new ModuleRepository(SourceRepositories.BUILTIN_SOURCE_REPOSITORY);
29 else if(MODULE_REPOSITORY1.getModule("Prelude").didSucceed())
30 return MODULE_REPOSITORY1;
32 return SCLOsgi.MODULE_REPOSITORY;
35 public static Environment getDefaultEnvironment() throws ImportFailureException {
36 return getInitialRepository().createEnvironment(DEFAULT_ENVIRONMENT_SPECIFICATION, null);