Yes. If you prefer that your Jeka code lies in a distinct project, create a Jeka project in a sibling folder and mention where is located the project to build.
...
@Override
protected void setup() { // project to build lies in a sibling folder.
Path projectPath = this.baseDir().resolve("../myProject");
java.getProject().simpleFacade().setBaseDir(projectPath);
...
You can specify a built-in commandSet class to run. This way, compilation won't occur.
For example jeka -JKC
or jeka -JKC scaffold#run java#"
.
Jeka uses the JDK it is running on to compile production or test code. If code must be compiled on a another JDK version, you can specify JDK path for different version. Just mention it as option, for example in your [JEKA HOME]/options.properties file.
jeka.jdk.9=/software/jdk9
This way, if one of your project source code is declared to be in a specific Java version, the relevant JDK version will be picked up automatically.
Jeka can use any JSR199 Java compiler to compile your Java code. Just set the compiler instance you need as :
import org.eclipse.jdt.internal.compiler.tool.EclipseCompiler;
@JkInjectClasspath("org.eclipse.jdt.core.compiler:ecj:4.6.1")
public class Build extends JkBean {
...
project.getConstruction()
.getCompilation()
.getCompiler()
.setCompilerTool(new EclipseCompiler());
}
Just make your JkClass class implements
implements JkJavaIdeSupport
.