From 6f5d20b2c061dffaa88b8b92a48e9e5b2f1ce167 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 26 May 2024 12:34:31 -0700 Subject: [PATCH 1/4] Added diff of sourceSet help --- checkcliargs.sh | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/checkcliargs.sh b/checkcliargs.sh index bb873ac..7394fc1 100755 --- a/checkcliargs.sh +++ b/checkcliargs.sh @@ -3,12 +3,15 @@ TMPNEW=/tmp/checkcliargs-new TMPOLD=/tmp/checkcliargs-old -cd lib/compile -java -cp "*" -jar dokka-cli-*.jar -h >$TMPNEW - -cd ../../examples/lib/bld -java -cp "*" -jar dokka-cli-*.jar -h >$TMPOLD +java -cp "lib/compile/*" -jar lib/compile/dokka-cli-*.jar -h >$TMPNEW +java -cp "/examples/lib/bld*" -jar examples/lib/bld/dokka-cli-*.jar -h >$TMPOLD diff $TMPOLD $TMPNEW +java -cp "lib/compile/*" -jar lib/compile/dokka-cli-*.jar -sourceSet -h >$TMPNEW +java -cp "/examples/lib/bld*" -jar examples/lib/bld/dokka-cli-*.jar -sourceSet -h >$TMPOLD + +diff $TMPOLD $TMPNEW + + rm -rf $TMPNEW $TMPOLD From e82810eaedf843c885add5ec18121d0d76e2be50 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 26 May 2024 12:35:50 -0700 Subject: [PATCH 2/4] Bumped assertj-core to version 3.26.0 --- .../java/rife/bld/extension/CompileKotlinOperationBuild.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bld/java/rife/bld/extension/CompileKotlinOperationBuild.java b/src/bld/java/rife/bld/extension/CompileKotlinOperationBuild.java index 4e7b947..2cc8a2f 100644 --- a/src/bld/java/rife/bld/extension/CompileKotlinOperationBuild.java +++ b/src/bld/java/rife/bld/extension/CompileKotlinOperationBuild.java @@ -56,7 +56,7 @@ public class CompileKotlinOperationBuild extends Project { scope(test) .include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 10, 2))) .include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 10, 2))) - .include(dependency("org.assertj", "assertj-core", version(3, 25, 3))); + .include(dependency("org.assertj", "assertj-core", version(3, 26, 0))); javadocOperation() .javadocOptions() From 9de0095fbddaa6602ed378e654a980117449d657 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 26 May 2024 12:36:39 -0700 Subject: [PATCH 3/4] Added json configuration parameter --- .../rife/bld/extension/dokka/DokkaOperation.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/main/java/rife/bld/extension/dokka/DokkaOperation.java b/src/main/java/rife/bld/extension/dokka/DokkaOperation.java index c73ed84..2ea40ab 100644 --- a/src/main/java/rife/bld/extension/dokka/DokkaOperation.java +++ b/src/main/java/rife/bld/extension/dokka/DokkaOperation.java @@ -54,6 +54,7 @@ public class DokkaOperation extends AbstractProcessOperation { private final Map pluginsConfiguration_ = new ConcurrentHashMap<>(); private boolean delayTemplateSubstitution_; private boolean failOnWarning_; + private File json; private LoggingLevel loggingLevel_; private String moduleName_; private String moduleVersion_; @@ -216,6 +217,11 @@ public class DokkaOperation extends AbstractProcessOperation { args.add("-suppressInheritedMembers"); } + // json + if (json != null) { + args.add(json.getAbsolutePath()); + } + if (LOGGER.isLoggable(Level.FINE)) { LOGGER.fine(String.join(" ", args)); } @@ -381,6 +387,16 @@ public class DokkaOperation extends AbstractProcessOperation { return this; } + /** + * JSON configuration file path. + * + * @param configuration the configuration file path + */ + public DokkaOperation json(File configuration) { + json = configuration; + return this; + } + /** * Sets the logging level. * From 10fd25ebf61f036e3de81e51e1cc0919e4930cdc Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Sun, 26 May 2024 12:38:47 -0700 Subject: [PATCH 4/4] Added checks against all parameters --- .../extension/dokka/DokkaOperationTest.java | 36 +++++++++++++++++-- .../bld/extension/dokka/SourceSetTest.java | 34 ++++++++++++++++++ 2 files changed, 68 insertions(+), 2 deletions(-) diff --git a/src/test/java/rife/bld/extension/dokka/DokkaOperationTest.java b/src/test/java/rife/bld/extension/dokka/DokkaOperationTest.java index b4f30a9..f115a27 100644 --- a/src/test/java/rife/bld/extension/dokka/DokkaOperationTest.java +++ b/src/test/java/rife/bld/extension/dokka/DokkaOperationTest.java @@ -31,7 +31,25 @@ class DokkaOperationTest { @Test @SuppressWarnings({"ExtractMethodRecommender", "PMD.AvoidDuplicateLiterals"}) void executeConstructProcessCommandListTest() { + var params = List.of( + "-moduleName", + "-moduleVersion", + "-outputDir", + "-sourceSet", + "-pluginsConfiguration", + "-pluginsClasspath", + "-offlineMode", + "-failOnWarning", + "-delayTemplateSubstitution", + "-noSuppressObviousFunctions", + "-includes", + "-suppressInheritedMembers", + "-globalPackageOptions", + "-globalLinks", + "-globalSrcLink", + "-loggingLevel"); var examples = new File("examples"); + var jsonConf = new File("config.json"); var args = new DokkaOperation() .fromProject(new BaseProjectBlueprint(examples, "com.example", "Example")) .globalLinks("s", "link") @@ -41,6 +59,7 @@ class DokkaOperationTest { .globalSrcLink("link1", "link2") .globalSrcLink(List.of("link3", "link4")) .includes("file1", "file2") + .includes(List.of("file3", "file4")) .pluginConfigurations("name", "{\"json\"}") .pluginConfigurations(Map.of("{\"name2\"}", "json2", "name3}", "{json3")) .pluginsClasspath("path1", "path2") @@ -60,8 +79,20 @@ class DokkaOperationTest { new File("examples/foo.jar"), new File("examples/bar.jar") ))) + .json(jsonConf) .executeConstructProcessCommandList(); + for (var p : params) { + var found = false; + for (var a : args) { + if (a.startsWith(p)) { + found = true; + break; + } + } + assertThat(found).as(p + " not found.").isTrue(); + } + var path = examples.getAbsolutePath(); var dokkaJar = "1.9.20.jar"; var matches = List.of("java", @@ -78,14 +109,15 @@ class DokkaOperationTest { "-globalLinks", "s^link^^s2^link2", "-globalPackageOptions", "option1;option2;option3;option4", "-globalSrcLinks_", "link1;link2;link3;link4", - "-includes", "file1;file2", + "-includes", "file1;file2;file3;file4", "-loggingLevel", "debug", "-moduleName", "name", "-moduleVersion", "1.0", "-noSuppressObviousFunctions", "-offlineMode", "-pluginsConfiguration", "{\\\"name2\\\"}={json2}^^{name}={\\\"json\\\"}^^{name3}}={{json3}", - "-suppressInheritedMembers"); + "-suppressInheritedMembers", + jsonConf.getAbsolutePath()); assertThat(args).hasSize(matches.size()); diff --git a/src/test/java/rife/bld/extension/dokka/SourceSetTest.java b/src/test/java/rife/bld/extension/dokka/SourceSetTest.java index f48c26e..ac1c20b 100644 --- a/src/test/java/rife/bld/extension/dokka/SourceSetTest.java +++ b/src/test/java/rife/bld/extension/dokka/SourceSetTest.java @@ -53,6 +53,29 @@ class SourceSetTest { @Test @SuppressWarnings("PMD.AvoidDuplicateLiterals") void sourceSetTest() { + var params = List.of( + "-sourceSetName", + "-displayName", + "-classpath", + "-src", + "-dependentSourceSets", + "-samples", + "-includes", + "-documentedVisibilities", + "-reportUndocumented", + "-noSkipEmptyPackages", + "-skipDeprecated", + "-jdkVersion", + "-languageVersion", + "-apiVersion", + "-noStdlibLink", + "-noJdkLink", + "-suppressedFiles", + "-analysisPlatform", + "-perPackageOptions", + "-externalDocumentationLinks", + "-srcLink" + ); var sourceSet = new SourceSet() .classpath("classpath1", "classpath2") .dependentSourceSets("moduleName", "sourceSetName") @@ -80,6 +103,17 @@ class SourceSetTest { var args = sourceSet.args(); + for (var p : params) { + var found = false; + for (var a : args) { + if (a.startsWith(p)) { + found = true; + break; + } + } + assertThat(found).as(p + " not found.").isTrue(); + } + var matches = List.of( "-analysisPlatform", "jvm", "-apiVersion", "1.0",