@Nonnull
	protected Builder<CmdGeneratorBuilder> getBuilder(BuildContext ctx) {
		Project prj = ctx.getProject();
		if (prj.getMainSource() != null) {
			return prj.getMainSource().getBuilder(ctx);
		} else {
			if (prj.isJar() && prj.isNativeImage()) {
				// JARs normally don't need building unless a native image
				// was requested
				return new JavaSource.JavaAppBuilder(ctx);
			} else {
				// Returns a no-op builder that when its build() gets called
				// immediately returns a builder for a CmdGenerator
				return () -> CmdGenerator.builder(ctx);
			}
		}
	}
Returns a <code>Builder</code> that can be used to turn this
<code>Project</code> into executable code.

@return A <code>Builder</code>
src/main/java/dev/jbang/source/CodeBuilderProvider.java