diff --git a/src/main/java/rife/bld/extension/CompileKotlinOperation.java b/src/main/java/rife/bld/extension/CompileKotlinOperation.java index e3aa20c..beb8582 100644 --- a/src/main/java/rife/bld/extension/CompileKotlinOperation.java +++ b/src/main/java/rife/bld/extension/CompileKotlinOperation.java @@ -47,7 +47,7 @@ public class CompileKotlinOperation extends AbstractOperation classpath, Collection sources, File destination, File friendPaths) + protected void executeBuildSources(Collection classpath, Collection sources, File destination, + File friendPaths) throws IOException { if (sources.isEmpty() || destination == null) { return; @@ -265,8 +270,8 @@ public class CompileKotlinOperation extends AbstractOperation + * Sets the following from the project: + *
    + *
  • {@link #buildMainDirectory() buildMainDirectory}
  • + *
  • {@link #buildTestDirectory() buildTestDirectory}
  • + *
  • {@link #compileMainClasspath() compileMainClassPath}
  • + *
  • {@link #compileTestClasspath() compilesTestClassPath}
  • + *
  • {@link #mainSourceFiles() mainSourceFiles}
  • + *
  • {@link #testSourceFiles() testSourceFile}
  • + *
* * @param project the project to configure the compile operation from */ public CompileKotlinOperation fromProject(BaseProject project) { + project_ = project; return buildMainDirectory(project.buildMainDirectory()) .buildTestDirectory(project.buildTestDirectory()) .compileMainClasspath(project.compileMainClasspath()) .compileTestClasspath(project.compileTestClasspath()) - .kotlinLibsDirectory(project.libBldDirectory()) .mainSourceFiles(getKotlinFileList(new File(project.srcMainDirectory(), "kotlin"))) .testSourceFiles(getKotlinFileList(new File(project.srcTestDirectory(), "kotlin"))); } @@ -340,28 +356,6 @@ public class CompileKotlinOperation extends AbstractOperation args.add(PLUGIN_ID + "processors=" + p)); + args.add(PLUGIN_ID + "processors=" + String.join(",", processors_)); } // verbose @@ -289,6 +300,18 @@ public class KaptOptions { return this; } + /** + * A list of annotation processor qualified class names. If specified, {@code kapt} does not try to find annotation + * processors in {@link #apClasspath}. + * + * @param processors one or moe qualified class names + * @return this class instance + */ + public KaptOptions processors(String... processors) { + processors_.addAll(List.of(processors)); + return this; + } + /** * Enables verbose output. * diff --git a/src/main/java/rife/bld/extension/dokka/DokkaOperation.java b/src/main/java/rife/bld/extension/dokka/DokkaOperation.java index b3c7c8d..c226bfd 100644 --- a/src/main/java/rife/bld/extension/dokka/DokkaOperation.java +++ b/src/main/java/rife/bld/extension/dokka/DokkaOperation.java @@ -218,6 +218,8 @@ public class DokkaOperation extends AbstractProcessOperation { /** * Configures the operation from a {@link BaseProject}. + *

+ * Sets the {@link #sourceSet_ sourceSet} and {@link #moduleName_ moduleName} from the project. * * @param project the project to configure the operation from */ diff --git a/src/test/java/rife/bld/extension/CompileKotlinOperationTest.java b/src/test/java/rife/bld/extension/CompileKotlinOperationTest.java index bb23cc5..ecdd291 100644 --- a/src/test/java/rife/bld/extension/CompileKotlinOperationTest.java +++ b/src/test/java/rife/bld/extension/CompileKotlinOperationTest.java @@ -18,6 +18,7 @@ package rife.bld.extension; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; +import rife.bld.blueprints.BaseProjectBlueprint; import rife.tools.FileUtils; import java.io.File; @@ -68,6 +69,8 @@ class CompileKotlinOperationTest { } var op = new CompileKotlinOperation() + .fromProject(new BaseProjectBlueprint(new File("examples"), "com.example", + "Example")) .compileOptions(new CompileKotlinOptions().verbose(true)) .buildMainDirectory(mainDir) .buildTestDirectory(testDir)