use of org.eclipse.ceylon.compiler.typechecker.TypeCheckerBuilder in project ceylon by eclipse.
the class CompileSomething method main.
public static void main(String[] x) throws IOException {
final Options opts = new Options().outRepo("/tmp/modules").addRepo("compiler-js/build/runtime").addRepo("../ceylon.ast/modules").addRepo("../ceylon-sdk/modules").addRepo("compiler-js/build/test/proto").addRepo("npm:").optimize(true).verbose("all").generateSourceArchive(false).suppressWarnings(EnumUtil.enumsFromStrings(Warning.class, Arrays.asList("unusedImport"))).addSrcDir("/tmp/source");
final TypeCheckerBuilder tcb = new TypeCheckerBuilder().statistics(false).encoding("UTF-8");
for (File sd : opts.getSrcDirs()) {
tcb.addSrcDirectory(sd);
}
final RepositoryManager repoman = CeylonUtils.repoManager().systemRepo(opts.getSystemRepo()).userRepos(opts.getRepos()).outRepo(opts.getOutRepo()).buildManager();
tcb.setRepositoryManager(repoman);
JsModuleManagerFactory.setVerbose(true);
tcb.moduleManagerFactory(new JsModuleManagerFactory("UTF-8"));
final TypeChecker tc = tcb.getTypeChecker();
TypeCache.setEnabled(false);
tc.process(true);
TypeCache.setEnabled(true);
final JsCompiler jsc = new JsCompiler(tc, opts);
ArrayList<File> individualSources = new ArrayList<>();
for (File srcdir : opts.getSrcDirs()) {
for (File sd : srcdir.listFiles()) {
if (sd.isFile() && sd.getName().endsWith(".js") || !individualSources.isEmpty()) {
System.out.println("Especificando archivos para incluir fuentes js");
individualSources.addAll(Arrays.asList(srcdir.listFiles()));
break;
}
}
}
if (!individualSources.isEmpty()) {
jsc.setSourceFiles(individualSources);
}
jsc.stopOnErrors(true);
boolean ok = jsc.generate();
jsc.printErrors(new java.io.PrintWriter(System.out));
if (ok) {
System.out.println("OK");
} else {
System.out.println("EXIT CODE: " + jsc.getExitCode());
}
}
use of org.eclipse.ceylon.compiler.typechecker.TypeCheckerBuilder in project ceylon by eclipse.
the class TestJavaDeps method testJavaDependencies.
@Test
public void testJavaDependencies() throws IOException {
final RepositoryManager repoman = CeylonUtils.repoManager().systemRepo("../dist/dist/repo").outRepo("test-modules").buildManager();
final TypeCheckerBuilder builder = new TypeCheckerBuilder().setRepositoryManager(repoman).addSrcDirectory(new File("src/test/resources/javadeps"));
final TypeChecker tc = builder.getTypeChecker();
tc.process();
final Options opts = new Options().addSrcDir("src/test/resources/javadeps").outRepo("./build").comment(false).generateSourceArchive(false).encoding("UTF-8");
final JsCompiler comp = new JsCompiler(tc, opts);
comp.generate();
}
use of org.eclipse.ceylon.compiler.typechecker.TypeCheckerBuilder in project ceylon by eclipse.
the class TestModelMethodsAndAttributes method initTypechecker.
public static void initTypechecker() {
if (model == null) {
final RepositoryManager repoman = CeylonUtils.repoManager().systemRepo("../dist/dist/repo").outRepo("test-modules").buildManager();
tc = new TypeCheckerBuilder().addSrcDirectory(new File("src/test/resources/modeltests")).setRepositoryManager(repoman).getTypeChecker();
tc.process();
}
}
use of org.eclipse.ceylon.compiler.typechecker.TypeCheckerBuilder in project ceylon by eclipse.
the class TestStaticTypeComparator method setup.
@BeforeClass
public static void setup() {
final TypeCheckerBuilder tcb = new TypeCheckerBuilder().statistics(true).encoding("UTF-8");
tcb.addSrcDirectory(new File("../language/src"));
tc = tcb.getTypeChecker();
tc.process();
}
use of org.eclipse.ceylon.compiler.typechecker.TypeCheckerBuilder in project ceylon by eclipse.
the class TestModuleManager method setup.
@BeforeClass
public static void setup() throws IOException {
// Copy language module to destination
java.io.File srclangmod = new java.io.File(String.format("build/runtime/ceylon/language/%s/ceylon.language-%<s.js", Versions.CEYLON_VERSION_NUMBER));
java.io.File dstlangmod = new java.io.File("build/test/test_modules/ceylon/language/" + Versions.CEYLON_VERSION_NUMBER);
System.out.printf("Copying %s to %s%n", srclangmod, dstlangmod);
dstlangmod.mkdirs();
java.io.BufferedReader lmreader = new java.io.BufferedReader(new java.io.FileReader(srclangmod));
java.io.Writer lmwriter = new java.io.FileWriter(new java.io.File(dstlangmod, srclangmod.getName()));
String line;
while ((line = lmreader.readLine()) != null) {
lmwriter.write(line);
lmwriter.write('\n');
}
lmreader.close();
lmwriter.close();
options = new Options().addRepo("build/test/test_modules").outRepo("build/test/test_modules").addSrcDir("src/test/resources/loader/pass1/m1/test.ceylon").addSrcDir("src/test/resources/loader/pass1");
repoman = CeylonUtils.repoManager().cwd(options.getCwd()).systemRepo(options.getSystemRepo()).userRepos(options.getRepos()).outRepo(options.getOutRepo()).buildManager();
// Create a typechecker to compile the test module
System.out.println("Compiling pass 1");
TypeCheckerBuilder tcb = new TypeCheckerBuilder().usageWarnings(false);
tcb.addSrcDirectory(new java.io.File("src/test/resources/loader/pass1"));
tcb.setRepositoryManager(repoman);
tc = tcb.getTypeChecker();
tc.process();
JsCompiler compiler = new JsCompiler(tc, options);
compiler.stopOnErrors(false);
compiler.generate();
loadJsModel();
srcmod = tc.getPhasedUnits().getPhasedUnits().get(0).getPackage().getModule().getLanguageModule();
jsmod = jstc.getPhasedUnits().getPhasedUnits().get(0).getPackage().getModule().getLanguageModule();
srclang = srcmod.getDirectPackage(Module.LANGUAGE_MODULE_NAME);
jslang = jsmod.getDirectPackage(Module.LANGUAGE_MODULE_NAME);
}
Aggregations