Compare commits

..

No commits in common. "b8a02dce9eebe3f9fff49285ff4e41d7ef50b096" and "0703d31e9d36b47a35c479df6b2542f67196253b" have entirely different histories.

10 changed files with 74 additions and 87 deletions

View file

@ -8,8 +8,8 @@ jobs:
strategy:
matrix:
java-version: [17, 21, 23]
kotlin-version: [1.9.24, 2.0.21]
java-version: [ 17, 21, 22 ]
kotlin-version: [ 1.19.24, 2.0.0 ]
steps:
- name: Checkout source repository

View file

@ -7,9 +7,9 @@
<!-- BEST PRACTICES -->
<rule ref="category/java/bestpractices.xml">
<exclude name="AvoidPrintStackTrace"/>
<exclude name="JUnit4TestShouldUseTestAnnotation"/>
<exclude name="JUnitTestContainsTooManyAsserts"/>
<exclude name="GuardLogStatement"/>
<exclude name="UnitTestContainsTooManyAsserts"/>
<exclude name="UnitTestShouldUseTestAnnotation"/>
</rule>
<rule ref="category/java/bestpractices.xml/MissingOverride">

View file

@ -2,7 +2,7 @@ bld.downloadExtensionJavadoc=false
bld.downloadExtensionSources=true
bld.downloadLocation=
bld.extension-dokka=com.uwyn.rife2:bld-dokka:1.0.1
bld.extension-kotlin=com.uwyn.rife2:bld-kotlin:1.0.2
bld.extension-kotlin=com.uwyn.rife2:bld-kotlin:1.0.1
bld.repositories=MAVEN_LOCAL,MAVEN_CENTRAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES
bld.sourceDirectories=
bld.version=2.1.0

View file

@ -34,13 +34,13 @@ public class ExampleBuild extends Project {
repositories = List.of(MAVEN_LOCAL, MAVEN_CENTRAL, RIFE2_RELEASES);
final var kotlin = version(2, 0, 21);
final var kotlin = version(2, 0, 20);
scope(compile)
.include(dependency("org.jetbrains.kotlin", "kotlin-stdlib", kotlin));
scope(test)
.include(dependency("org.jetbrains.kotlin", "kotlin-test-junit5", kotlin))
.include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 11, 3)))
.include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 11, 3)));
.include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 11, 0)))
.include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 11, 0)));
// Include the Kotlin source directory when creating or publishing sources Java Archives
jarSourcesOperation().sourceDirectories(new File(srcMainDirectory(), "kotlin"));

View file

@ -2,7 +2,7 @@ bld.downloadExtensionJavadoc=false
bld.downloadExtensionSources=true
bld.downloadLocation=
bld.extension-exec=com.uwyn.rife2:bld-exec:1.0.3
bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.1.7
bld.extension-pmd=com.uwyn.rife2:bld-pmd:1.1.5
bld.repositories=MAVEN_CENTRAL,MAVEN_LOCAL,RIFE2_SNAPSHOTS,RIFE2_RELEASES
bld.sourceDirectories=
bld.version=2.1.0

View file

@ -39,7 +39,6 @@ public class DokkaOperationBuild extends Project {
downloadSources = true;
autoDownloadPurge = true;
repositories = List.of(MAVEN_LOCAL, MAVEN_CENTRAL, RIFE2_RELEASES, RIFE2_SNAPSHOTS);
var dokka = version(1, 9, 20);
@ -52,8 +51,8 @@ public class DokkaOperationBuild extends Project {
.include(dependency("org.jetbrains.dokka", "jekyll-plugin", dokka))
.include(dependency("com.uwyn.rife2", "bld", version(2, 1, 0)));
scope(test)
.include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 11, 3)))
.include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 11, 3)))
.include(dependency("org.junit.jupiter", "junit-jupiter", version(5, 11, 0)))
.include(dependency("org.junit.platform", "junit-platform-console-standalone", version(1, 11, 0)))
.include(dependency("org.assertj", "assertj-core", version(3, 26, 3)));
javadocOperation()
@ -64,23 +63,25 @@ public class DokkaOperationBuild extends Project {
publishOperation()
.repository(version.isSnapshot() ? repository("rife2-snapshot") : repository("rife2"))
.repository(repository("github"))
.info()
.groupId("com.uwyn.rife2")
.artifactId(name)
.description("bld Dokka Extension")
.url("https://github.com/rife2/bld-dokka")
.developer(new PublishDeveloper()
.developer(
new PublishDeveloper()
.id("ethauvin")
.name("Erik C. Thauvin")
.email("erik@thauvin.net")
.url("https://erik.thauvin.net/")
)
.license(new PublishLicense()
.license(
new PublishLicense()
.name("The Apache License, Version 2.0")
.url("https://www.apache.org/licenses/LICENSE-2.0.txt")
)
.scm(new PublishScm()
.scm(
new PublishScm()
.connection("scm:git:https://github.com/rife2/bld-dokka.git")
.developerConnection("scm:git:git@github.com:rife2/bld-dokka.git")
.url("https://github.com/rife2/bld-dokka")

View file

@ -45,13 +45,13 @@ import java.util.stream.Collectors;
@SuppressWarnings("PMD.AvoidThrowingRawExceptionTypes")
public class DokkaOperation extends AbstractProcessOperation<DokkaOperation> {
public static final String SEMICOLON = ";";
private static final String GFM_PLUGIN_REGEXP =
private final static String GFM_PLUGIN_REGEXP =
"^.*(dokka-base|analysis-kotlin-descriptors|gfm-plugin|freemarker).*\\.jar$";
private static final String HTML_PLUGIN_REGEXP =
private final static String HTML_PLUGIN_REGEXP =
"^.*(dokka-base|analysis-kotlin-descriptors|kotlinx-html-jvm|freemarker).*\\.jar$";
private static final String JAVADOC_PLUGIN_REGEXP =
private final static String JAVADOC_PLUGIN_REGEXP =
"^.*(dokka-base|analysis-kotlin-descriptors|javadoc-plugin|kotlin-as-java-plugin|korte-jvm).*\\.jar$";
private static final String JEKYLL_PLUGIN_REGEXP =
private final static String JEKYLL_PLUGIN_REGEXP =
"^.*(dokka-base|analysis-kotlin-descriptors|jekyll-plugin|gfm-plugin|freemarker).*\\.jar$";
private final Logger LOGGER = Logger.getLogger(DokkaOperation.class.getName());
private final Map<String, String> globalLinks_ = new ConcurrentHashMap<>();

View file

@ -24,7 +24,7 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentSkipListMap;
import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Collectors;
/**
@ -33,16 +33,15 @@ import java.util.stream.Collectors;
* @author <a href="https://erik.thauvin.net/">Erik C. Thauvin</a>
* @since 1.0
*/
@SuppressWarnings("PMD.UseConcurrentHashMap")
public class SourceSet {
private final Collection<File> classpath_ = new ArrayList<>();
private final Map<String, String> dependentSourceSets_ = new ConcurrentSkipListMap<>();
private final Map<String, String> dependentSourceSets_ = new ConcurrentHashMap<>();
private final Collection<DocumentedVisibility> documentedVisibilities_ = new ArrayList<>();
private final Map<String, String> externalDocumentationLinks_ = new ConcurrentSkipListMap<>();
private final Map<String, String> externalDocumentationLinks_ = new ConcurrentHashMap<>();
private final Collection<File> includes_ = new ArrayList<>();
private final Collection<String> perPackageOptions_ = new ArrayList<>();
private final Collection<File> samples_ = new ArrayList<>();
private final Map<String, String> srcLinks_ = new ConcurrentSkipListMap<>();
private final Map<String, String> srcLinks_ = new ConcurrentHashMap<>();
private final Collection<File> src_ = new ArrayList<>();
private final Collection<File> suppressedFiles_ = new ArrayList<>();
private AnalysisPlatform analysisPlatform_;

View file

@ -16,7 +16,6 @@
package rife.bld.extension;
import org.assertj.core.api.AutoCloseableSoftAssertions;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import rife.bld.blueprints.BaseProjectBlueprint;
@ -108,17 +107,14 @@ class DokkaOperationTest {
)))
.suppressInheritedMembers(true);
try (var softly = new AutoCloseableSoftAssertions()) {
softly.assertThat(op.globalLinks()).as("globalLinks").hasSize(2);
softly.assertThat(op.globalPackageOptions()).as("globalPackageOptions").hasSize(4);
softly.assertThat(op.globalSrcLink()).as("globalSrcLink").hasSize(4);
softly.assertThat(op.includes()).as("includes").hasSize(4);
softly.assertThat(op.pluginConfigurations()).as("pluginConfigurations").hasSize(3);
softly.assertThat(op.pluginsClasspath()).as("pluginsClasspath").hasSize(9);
}
assertThat(op.globalLinks()).as("globalLinks").hasSize(2);
assertThat(op.globalPackageOptions()).as("globalPackageOptions").hasSize(4);
assertThat(op.globalSrcLink()).as("globalSrcLink").hasSize(4);
assertThat(op.includes()).as("includes").hasSize(4);
assertThat(op.pluginConfigurations()).as("pluginConfigurations").hasSize(3);
assertThat(op.pluginsClasspath()).as("pluginsClasspath").hasSize(9);
var params = op.executeConstructProcessCommandList();
try (var softly = new AutoCloseableSoftAssertions()) {
for (var p : args) {
var found = false;
for (var a : params) {
@ -127,8 +123,7 @@ class DokkaOperationTest {
break;
}
}
softly.assertThat(found).as(p + " not found.").isTrue();
}
assertThat(found).as(p + " not found.").isTrue();
}
var path = EXAMPLES.getAbsolutePath();
@ -162,18 +157,15 @@ class DokkaOperationTest {
assertThat(params).hasSize(matches.size());
try (var softly = new AutoCloseableSoftAssertions()) {
IntStream.range(0, params.size()).forEach(i -> {
if (params.get(i).contains(".jar;")) {
var jars = params.get(i).split(";");
Arrays.stream(jars).forEach(jar ->
softly.assertThat(matches.get(i)).as(matches.get(i)).contains(jar));
Arrays.stream(jars).forEach(jar -> assertThat(matches.get(i)).as(matches.get(i)).contains(jar));
} else {
softly.assertThat(params.get(i)).as(params.get(i)).isEqualTo(matches.get(i));
assertThat(params.get(i)).as(params.get(i)).isEqualTo(matches.get(i));
}
});
}
}
@Test
void executeNoProjectTest() {

View file

@ -16,7 +16,6 @@
package rife.bld.extension.dokka;
import org.assertj.core.api.AutoCloseableSoftAssertions;
import org.junit.jupiter.api.Test;
import java.io.File;
@ -171,7 +170,7 @@ class SourceSetTest {
var matches = List.of(
"-classpath", localPath(PATH_1, PATH_2),
"-dependentSourceSets", "set1/set2;set3/set4",
"-externalDocumentationLinks", "link1^link2^^link3^link4",
"-externalDocumentationLinks", "link3^link4^^link1^link2",
"-perPackageOptions", OPTION_1 + ';' + OPTION_2,
"-samples", localPath(SAMPLES_1, SAMPLES_2, SAMPLES_3),
"-suppressedFiles", localPath(SUP_1, SUP_2, SUP_3)
@ -226,22 +225,19 @@ class SourceSetTest {
.srcLink(Path.of(PATH_3), "remote3", "#suffix3")
.suppressedFiles(SUP_1, SUP_2);
try (var softly = new AutoCloseableSoftAssertions()) {
softly.assertThat(sourceSet.classpath()).as("classpath").hasSize(2);
softly.assertThat(sourceSet.dependentSourceSets()).as("dependentSourceSets").hasSize(2);
softly.assertThat(sourceSet.documentedVisibilities()).as("documentedVisibilities").hasSize(2);
softly.assertThat(sourceSet.externalDocumentationLinks()).as("externalDocumentationLinks").hasSize(2);
softly.assertThat(sourceSet.includes()).as("includes").hasSize(4);
softly.assertThat(sourceSet.perPackageOptions()).as("perPackageOptions").hasSize(2);
softly.assertThat(sourceSet.samples()).as("samples").hasSize(2);
softly.assertThat(sourceSet.src()).as("src").hasSize(4);
softly.assertThat(sourceSet.srcLinks()).as("srcLinks").hasSize(3);
softly.assertThat(sourceSet.suppressedFiles()).as("suppressedFiles").hasSize(2);
}
assertThat(sourceSet.classpath()).as("classpath").hasSize(2);
assertThat(sourceSet.dependentSourceSets()).as("dependentSourceSets").hasSize(2);
assertThat(sourceSet.documentedVisibilities()).as("documentedVisibilities").hasSize(2);
assertThat(sourceSet.externalDocumentationLinks()).as("externalDocumentationLinks").hasSize(2);
assertThat(sourceSet.includes()).as("includes").hasSize(4);
assertThat(sourceSet.perPackageOptions()).as("perPackageOptions").hasSize(2);
assertThat(sourceSet.samples()).as("samples").hasSize(2);
assertThat(sourceSet.src()).as("src").hasSize(4);
assertThat(sourceSet.srcLinks()).as("srcLinks").hasSize(3);
assertThat(sourceSet.suppressedFiles()).as("suppressedFiles").hasSize(2);
var params = sourceSet.args();
try (var softly = new AutoCloseableSoftAssertions()) {
for (var p : args) {
var found = false;
for (var a : params) {
@ -250,8 +246,7 @@ class SourceSetTest {
break;
}
}
softly.assertThat(found).as(p + " not found.").isTrue();
}
assertThat(found).as(p + " not found.").isTrue();
}
var matches = List.of(