Of course yes. If you prefer that your Jerkar run code lies in a distinct project, create a Jerkar 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");
project().setSourceLayout(JkProjectSourceLayout.ofMavenStyle().withBaseDir(projectPath));
...
You can specify a built-in run class to run. This way, compilation won't occur.
For example jerkar -RunClass=JkRun help
or jerkar -RC=JkRun scaffold#run java#"
.
Jerkar uses the JDK it is running on to compile production or test code. If code must be build on a another JDK version, you can specify JDK path for different version. Just mention it as option, for example in your [JERKAR HOME]/options.properties file.
jdk.6=/software/jdk6
jdk.7=/software/jdk7
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 used automatically to compile it.
Jerkar 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;
@JkImport("org.eclipse.jdt.core.compiler:ecj:4.6.1")
public class Build extends JkRun {
...
maker().setCompiler(JkJavaCompiler.of(new EclipseCompiler()));
...
}