Search in sources :

Example 1 with NativeJavaCompiler

use of org.kie.memorycompiler.jdknative.NativeJavaCompiler in project drools by kiegroup.

the class AbstractKnowledgeTest method compile.

public List<String> compile(KieModuleModel kproj, MemoryFileSystem srcMfs, MemoryFileSystem trgMfs, List<String> classes) {
    for (KieBaseModel kbase : kproj.getKieBaseModels().values()) {
        Folder srcFolder = srcMfs.getFolder("src/main/resources/" + kbase.getName());
        Folder trgFolder = trgMfs.getFolder(kbase.getName());
        copyFolder(srcMfs, srcFolder, trgMfs, trgFolder, kproj);
    }
    Folder srcFolder = srcMfs.getFolder("META-INF");
    Folder trgFolder = trgMfs.getFolder("META-INF");
    trgFolder.create();
    copyFolder(srcMfs, srcFolder, trgMfs, trgFolder, kproj);
    JavaCompiler compiler = new NativeJavaCompiler();
    CompilationResult res = compiler.compile(classes.toArray(new String[classes.size()]), trgMfs, trgMfs);
    if (res.getErrors().length > 0) {
        fail(res.getErrors()[0].getMessage());
    }
    List<String> classes2 = new ArrayList<String>(classes.size());
    for (String str : classes) {
        classes2.add(filenameToClassname(str));
    }
    return classes2;
}
Also used : KieBaseModel(org.kie.api.builder.model.KieBaseModel) NativeJavaCompiler(org.kie.memorycompiler.jdknative.NativeJavaCompiler) ArrayList(java.util.ArrayList) NativeJavaCompiler(org.kie.memorycompiler.jdknative.NativeJavaCompiler) JavaCompiler(org.kie.memorycompiler.JavaCompiler) CompilationResult(org.kie.memorycompiler.CompilationResult) Folder(org.drools.compiler.compiler.io.Folder)

Aggregations

ArrayList (java.util.ArrayList)1 Folder (org.drools.compiler.compiler.io.Folder)1 KieBaseModel (org.kie.api.builder.model.KieBaseModel)1 CompilationResult (org.kie.memorycompiler.CompilationResult)1 JavaCompiler (org.kie.memorycompiler.JavaCompiler)1 NativeJavaCompiler (org.kie.memorycompiler.jdknative.NativeJavaCompiler)1