protected Project compile() throws IOException {
		List<String> compileCmd = getCompileCommand();

		// add additional files
		Project project = ctx.getProject();
		project.getMainSourceSet().copyResourcesTo(ctx.getCompileDir());

		generatePom();

		Util.infoMsg(String.format("Building %s for %s...", project.getMainSource().isAgent() ? "javaagent" : "jar",
				project.getResourceRef().getFile().getFileName().toString()));
		Util.verboseMsg("Compile: " + String.join(" ", compileCmd));
		runCompiler(compileCmd);

		searchForMain(ctx.getCompileDir());

		return project;
	}
This class takes a <code>Project</code> and compiles it.
src/main/java/dev/jbang/source/buildsteps/CompileBuildStep.java