diff --git a/dependencies.md b/dependencies.md
index b6e32fc6..3763d0c8 100644
--- a/dependencies.md
+++ b/dependencies.md
@@ -266,6 +266,7 @@
| Dependency | License |
| -------------------------------------- | --------------------------------------------- |
+| [Project Keeper shared test setup][54] | [The MIT License][55] |
| [Maven Project Version Getter][64] | [MIT License][65] |
| [JUnit Jupiter Engine][20] | [Eclipse Public License v2.0][21] |
| [JUnit Jupiter Params][20] | [Eclipse Public License v2.0][21] |
@@ -328,6 +329,7 @@
| [Apache Maven Site Plugin][34] | [Apache-2.0][1] |
| [SonarQube Scanner for Maven][35] | [GNU LGPL 3][36] |
| [Apache Maven Toolchains Plugin][37] | [Apache-2.0][1] |
+| [Apache Maven Javadoc Plugin][46] | [Apache-2.0][1] |
| [Apache Maven Compiler Plugin][38] | [Apache-2.0][1] |
| [Apache Maven Enforcer Plugin][0] | [Apache-2.0][1] |
| [Maven Flatten Plugin][39] | [Apache Software Licenese][1] |
diff --git a/doc/changes/changes_4.5.0.md b/doc/changes/changes_4.5.0.md
index 9adc57a4..d5694a60 100644
--- a/doc/changes/changes_4.5.0.md
+++ b/doc/changes/changes_4.5.0.md
@@ -15,6 +15,10 @@ This release allows customization of the java version in `actions/setup-java` st
* #598: Reverted changes to PK's template for IDE Eclipse `javax.annotation.Nonnull`
+## Refactoring
+
+* #596: Fixed build with Java 21
+
## Dependency Updates
### Project Keeper Root Project
@@ -116,6 +120,7 @@ This release allows customization of the java version in `actions/setup-java` st
#### Test Dependency Updates
* Updated `com.exasol:maven-project-version-getter:1.2.0` to `1.2.1`
+* Added `com.exasol:project-keeper-shared-test-setup:4.5.0`
#### Plugin Dependency Updates
@@ -137,6 +142,7 @@ This release allows customization of the java version in `actions/setup-java` st
#### Plugin Dependency Updates
+* Added `org.apache.maven.plugins:maven-javadoc-plugin:3.11.1`
* Updated `org.apache.maven.plugins:maven-site-plugin:3.9.1` to `3.21.0`
* Updated `org.apache.maven.plugins:maven-surefire-plugin:3.5.1` to `3.5.2`
* Updated `org.codehaus.mojo:versions-maven-plugin:2.17.1` to `2.18.0`
diff --git a/maven-project-crawler/pom.xml b/maven-project-crawler/pom.xml
index da0373dd..5b1dcf31 100644
--- a/maven-project-crawler/pom.xml
+++ b/maven-project-crawler/pom.xml
@@ -42,6 +42,10 @@
semver4j
+
+ com.exasol
+ project-keeper-shared-test-setup
+
org.apache.maven
maven-core
diff --git a/maven-project-crawler/src/test/java/com/exasol/projectkeeper/MavenProjectCrawlerMojoIT.java b/maven-project-crawler/src/test/java/com/exasol/projectkeeper/MavenProjectCrawlerMojoIT.java
index 0952bc7f..e0c8ea73 100644
--- a/maven-project-crawler/src/test/java/com/exasol/projectkeeper/MavenProjectCrawlerMojoIT.java
+++ b/maven-project-crawler/src/test/java/com/exasol/projectkeeper/MavenProjectCrawlerMojoIT.java
@@ -25,6 +25,7 @@
import com.exasol.projectkeeper.shared.dependencies.ProjectDependency;
import com.exasol.projectkeeper.shared.dependencychanges.NewDependency;
import com.exasol.projectkeeper.shared.mavenprojectcrawler.*;
+import com.exasol.projectkeeper.test.TestMavenModel;
@Tag("integration")
class MavenProjectCrawlerMojoIT {
diff --git a/maven-project-crawler/src/test/java/com/exasol/projectkeeper/TestMavenModel.java b/maven-project-crawler/src/test/java/com/exasol/projectkeeper/TestMavenModel.java
deleted file mode 100644
index de7d4282..00000000
--- a/maven-project-crawler/src/test/java/com/exasol/projectkeeper/TestMavenModel.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package com.exasol.projectkeeper;
-
-import java.io.FileWriter;
-import java.io.IOException;
-import java.nio.file.Path;
-
-import org.apache.maven.model.*;
-import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
-import org.codehaus.plexus.util.xml.Xpp3Dom;
-
-public class TestMavenModel extends Model {
- private static final long serialVersionUID = -554596503224484792L;
- public static final String PROJECT_ARTIFACT_ID = "my-test-project";
- public static final String PROJECT_NAME = "my test project";
- public static final String PROJECT_VERSION = "0.1.0";
- public static final String PROJECT_GROUP_ID = "com.example";
-
- @SuppressWarnings("this-escape") // Required by 3rd party parent class
- public TestMavenModel() {
- this.setBuild(new Build());
- this.setVersion(PROJECT_VERSION);
- this.setArtifactId(PROJECT_ARTIFACT_ID);
- this.setName(PROJECT_NAME);
- this.setGroupId(PROJECT_GROUP_ID);
- this.setModelVersion("4.0.0");
- }
-
- public void addDependency(final String artifactId, final String groupId, final String scope, final String version) {
- final Dependency dependency = new Dependency();
- dependency.setGroupId(groupId);
- dependency.setArtifactId(artifactId);
- dependency.setVersion(version);
- dependency.setScope(scope);
- this.addDependency(dependency);
- }
-
- public TestMavenModel configureAssemblyPluginFinalName(final String finalName) {
- final Plugin plugin = new Plugin();
- plugin.setArtifactId("maven-assembly-plugin");
- final Xpp3Dom configuration = new Xpp3Dom("configuration");
- final Xpp3Dom finalNameElement = new Xpp3Dom("finalName");
- finalNameElement.setValue(finalName);
- configuration.addChild(finalNameElement);
- plugin.setConfiguration(configuration);
- return withPlugin(plugin);
- }
-
- public TestMavenModel withPlugin(final Plugin plugin) {
- this.getBuild().addPlugin(plugin);
- return this;
- }
-
- public void setJavaVersionProperty(final String javaVersion) {
- this.addProperty("java.version", javaVersion);
- }
-
- public void writeAsPomToProject(final Path projectDir) throws IOException {
- try (final FileWriter fileWriter = new FileWriter(projectDir.resolve("pom.xml").toFile())) {
- new MavenXpp3Writer().write(fileWriter, this);
- }
- }
-}
diff --git a/maven-project-crawler/src/test/java/com/exasol/projectkeeper/validators/changesfile/DependencyUpdateReaderTest.java b/maven-project-crawler/src/test/java/com/exasol/projectkeeper/validators/changesfile/DependencyUpdateReaderTest.java
index f2422a6c..c3b87051 100644
--- a/maven-project-crawler/src/test/java/com/exasol/projectkeeper/validators/changesfile/DependencyUpdateReaderTest.java
+++ b/maven-project-crawler/src/test/java/com/exasol/projectkeeper/validators/changesfile/DependencyUpdateReaderTest.java
@@ -20,12 +20,12 @@
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;
-import com.exasol.projectkeeper.TestMavenModel;
import com.exasol.projectkeeper.TestRepo;
import com.exasol.projectkeeper.pom.MavenProjectFromFileReader;
import com.exasol.projectkeeper.shared.dependencies.BaseDependency.Type;
import com.exasol.projectkeeper.shared.dependencychanges.DependencyChangeReport;
import com.exasol.projectkeeper.shared.dependencychanges.UpdatedDependency;
+import com.exasol.projectkeeper.test.TestMavenModel;
class DependencyUpdateReaderTest {
@@ -93,4 +93,4 @@ public MavenProject readProject(final File pomFile) {
}
}
}
-}
\ No newline at end of file
+}
diff --git a/maven-project-crawler/src/test/java/com/exasol/projectkeeper/validators/changesfile/LastReleasePomFileReaderTest.java b/maven-project-crawler/src/test/java/com/exasol/projectkeeper/validators/changesfile/LastReleasePomFileReaderTest.java
index d69d1faf..602a4085 100644
--- a/maven-project-crawler/src/test/java/com/exasol/projectkeeper/validators/changesfile/LastReleasePomFileReaderTest.java
+++ b/maven-project-crawler/src/test/java/com/exasol/projectkeeper/validators/changesfile/LastReleasePomFileReaderTest.java
@@ -17,8 +17,8 @@
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.io.TempDir;
-import com.exasol.projectkeeper.TestMavenModel;
import com.exasol.projectkeeper.TestRepo;
+import com.exasol.projectkeeper.test.TestMavenModel;
class LastReleasePomFileReaderTest {
private static final String CURRENT_VERSION = "1.0.0";
@@ -159,4 +159,4 @@ private String makeRelease(final TestRepo git, final String name, final Path dir
git.addAll().commit().createTag(name);
return Files.readString(directory.resolve("pom.xml"));
}
-}
\ No newline at end of file
+}
diff --git a/project-keeper-maven-plugin/src/main/java/com/exasol/projectkeeper/plugin/AbstractProjectKeeperMojo.java b/project-keeper-maven-plugin/src/main/java/com/exasol/projectkeeper/plugin/AbstractProjectKeeperMojo.java
index 62d7be3f..13afcd8a 100644
--- a/project-keeper-maven-plugin/src/main/java/com/exasol/projectkeeper/plugin/AbstractProjectKeeperMojo.java
+++ b/project-keeper-maven-plugin/src/main/java/com/exasol/projectkeeper/plugin/AbstractProjectKeeperMojo.java
@@ -27,6 +27,9 @@ public abstract class AbstractProjectKeeperMojo extends AbstractMojo {
@Parameter(defaultValue = "${session}", readonly = true)
private MavenSession session;
+ AbstractProjectKeeperMojo() {
+ }
+
/**
* Get a project-keeper core.
*
diff --git a/project-keeper-maven-plugin/src/main/java/com/exasol/projectkeeper/plugin/ProjectKeeperFixMojo.java b/project-keeper-maven-plugin/src/main/java/com/exasol/projectkeeper/plugin/ProjectKeeperFixMojo.java
index 5f310cea..088f1baa 100644
--- a/project-keeper-maven-plugin/src/main/java/com/exasol/projectkeeper/plugin/ProjectKeeperFixMojo.java
+++ b/project-keeper-maven-plugin/src/main/java/com/exasol/projectkeeper/plugin/ProjectKeeperFixMojo.java
@@ -14,6 +14,8 @@
@Mojo(name = "fix")
// [impl->dsn~mvn-fix-goal~1]
public class ProjectKeeperFixMojo extends AbstractProjectKeeperMojo {
+ ProjectKeeperFixMojo() {
+ }
@Override
protected void runProjectKeeper(final ProjectKeeper projectKeeper) throws MojoFailureException {
diff --git a/project-keeper-maven-plugin/src/main/java/com/exasol/projectkeeper/plugin/ProjectKeeperUpdateDependenciesMojo.java b/project-keeper-maven-plugin/src/main/java/com/exasol/projectkeeper/plugin/ProjectKeeperUpdateDependenciesMojo.java
index aac03317..aa36f249 100644
--- a/project-keeper-maven-plugin/src/main/java/com/exasol/projectkeeper/plugin/ProjectKeeperUpdateDependenciesMojo.java
+++ b/project-keeper-maven-plugin/src/main/java/com/exasol/projectkeeper/plugin/ProjectKeeperUpdateDependenciesMojo.java
@@ -13,6 +13,8 @@
*/
@Mojo(name = "update-dependencies")
public class ProjectKeeperUpdateDependenciesMojo extends AbstractProjectKeeperMojo {
+ ProjectKeeperUpdateDependenciesMojo() {
+ }
@Override
protected void runProjectKeeper(final ProjectKeeper projectKeeper) throws MojoFailureException {
diff --git a/project-keeper-maven-plugin/src/main/java/com/exasol/projectkeeper/plugin/ProjectKeeperVerifyMojo.java b/project-keeper-maven-plugin/src/main/java/com/exasol/projectkeeper/plugin/ProjectKeeperVerifyMojo.java
index e28c1875..03f78883 100644
--- a/project-keeper-maven-plugin/src/main/java/com/exasol/projectkeeper/plugin/ProjectKeeperVerifyMojo.java
+++ b/project-keeper-maven-plugin/src/main/java/com/exasol/projectkeeper/plugin/ProjectKeeperVerifyMojo.java
@@ -15,6 +15,8 @@
@Mojo(name = "verify", defaultPhase = LifecyclePhase.PACKAGE)
// [impl->dsn~mvn-verify-goal~1]
public class ProjectKeeperVerifyMojo extends AbstractProjectKeeperMojo {
+ ProjectKeeperVerifyMojo() {
+ }
@Override
protected void runProjectKeeper(final ProjectKeeper projectKeeper) throws MojoFailureException {
diff --git a/project-keeper-maven-plugin/src/main/java/com/exasol/projectkeeper/plugin/ProjectKeeperVerifyReleaseMojo.java b/project-keeper-maven-plugin/src/main/java/com/exasol/projectkeeper/plugin/ProjectKeeperVerifyReleaseMojo.java
index 6d2d3dd5..53aeb9df 100644
--- a/project-keeper-maven-plugin/src/main/java/com/exasol/projectkeeper/plugin/ProjectKeeperVerifyReleaseMojo.java
+++ b/project-keeper-maven-plugin/src/main/java/com/exasol/projectkeeper/plugin/ProjectKeeperVerifyReleaseMojo.java
@@ -13,6 +13,8 @@
*/
@Mojo(name = "verify-release")
public class ProjectKeeperVerifyReleaseMojo extends AbstractProjectKeeperMojo {
+ ProjectKeeperVerifyReleaseMojo() {
+ }
@Override
protected void runProjectKeeper(final ProjectKeeper projectKeeper) throws MojoFailureException {
diff --git a/project-keeper/src/main/java/com/exasol/projectkeeper/ApStyleFormatter.java b/project-keeper/src/main/java/com/exasol/projectkeeper/ApStyleFormatter.java
index 08293f1e..024bc185 100644
--- a/project-keeper/src/main/java/com/exasol/projectkeeper/ApStyleFormatter.java
+++ b/project-keeper/src/main/java/com/exasol/projectkeeper/ApStyleFormatter.java
@@ -6,6 +6,8 @@
public class ApStyleFormatter {
/**
+ * Convert string to a human readable value.
+ *
* @param string name to be converted
* @return human readable format for input string
*/
diff --git a/project-keeper/src/main/java/com/exasol/projectkeeper/LicenseNameReader.java b/project-keeper/src/main/java/com/exasol/projectkeeper/LicenseNameReader.java
index 696f7b86..47e57573 100644
--- a/project-keeper/src/main/java/com/exasol/projectkeeper/LicenseNameReader.java
+++ b/project-keeper/src/main/java/com/exasol/projectkeeper/LicenseNameReader.java
@@ -11,6 +11,9 @@
*/
public class LicenseNameReader {
+ LicenseNameReader() {
+ }
+
/**
* Read the name of the license (first line of LICENSE file).
*
diff --git a/project-keeper/src/main/java/com/exasol/projectkeeper/sources/AnalyzedMavenSource.java b/project-keeper/src/main/java/com/exasol/projectkeeper/sources/AnalyzedMavenSource.java
index b6d9a717..609f197a 100644
--- a/project-keeper/src/main/java/com/exasol/projectkeeper/sources/AnalyzedMavenSource.java
+++ b/project-keeper/src/main/java/com/exasol/projectkeeper/sources/AnalyzedMavenSource.java
@@ -41,52 +41,86 @@ private AnalyzedMavenSource(final AnalyzedMavenSourceBuilder builder) {
this.isRootProject = builder.isRootProject;
}
- /** @return new builder for an {@link AnalyzedMavenSource}. */
+ /**
+ * Create a new builder.
+ *
+ * @return new builder for an {@link AnalyzedMavenSource}.
+ */
public static AnalyzedMavenSource.AnalyzedMavenSourceBuilder builder() {
return new AnalyzedMavenSource.AnalyzedMavenSourceBuilder();
}
- /** @return source path, e.g. {@code project-dir/module/pom.xml} */
+ /**
+ * Get source path.
+ *
+ * @return source path, e.g. {@code project-dir/module/pom.xml}
+ */
@Override
public Path getPath() {
return this.path;
}
- /** @return modules */
+ /**
+ * Get modules.
+ *
+ * @return modules
+ */
@Override
public Set getModules() {
return this.modules;
}
- /** @return advertise this source or not */
+ /**
+ * Check if this should be advertised.
+ *
+ * @return advertise this source or not
+ */
@Override
public boolean isAdvertised() {
return this.advertise;
}
- /** @return Maven artifact ID */
+ /**
+ * Get Maven artifact ID.
+ *
+ * @return Maven artifact ID
+ */
public String getArtifactId() {
return this.artifactId;
}
- /** @return project name */
+ /**
+ * Get project name.
+ *
+ * @return project name
+ */
@Override
public String getProjectName() {
return this.projectName;
}
- /** @return Project version */
+ /**
+ * Get project version.
+ *
+ * @return Project version
+ */
@Override
public String getVersion() {
return this.version;
}
- /** @return artifact file name or {@code null} if no artifact is built */
+ /**
+ * Get release artifact name.
+ *
+ * @return artifact file name or {@code null} if no artifact is built
+ */
public String getReleaseArtifactName() {
return this.releaseArtifactName;
}
/**
+ * Get Java version.
+ *
* @return Java version used for compiling and testing the project. Read from the {@code properties/java.version}
* element of the {@code pom.xml} file. Defaults to {@link PomFileGenerator#DEFAULT_JAVA_VERSION}.
*/
@@ -94,19 +128,25 @@ public String getJavaVersion() {
return this.javaVersion;
}
- /** @return dependency changes */
+ /**
+ * Get dependency changes.
+ *
+ * @return dependency changes
+ */
@Override
public DependencyChangeReport getDependencyChanges() {
return this.dependencyChanges;
}
- /** @return dependencies */
+ /** Get current dependencies. @return current dependencies */
@Override
public ProjectDependencies getDependencies() {
return this.dependencies;
}
/**
+ * Check if this is the root project.
+ *
* @return {@code true} if this is the main maven project in the repo (if pom lies directly in repo)
*/
public boolean isRootProject() {
@@ -134,6 +174,8 @@ private AnalyzedMavenSourceBuilder() {
}
/**
+ * Set source path.
+ *
* @param path source path e.g. {@code project-dir/module/pom.xml}
* @return {@code this}.
*/
@@ -143,6 +185,8 @@ public AnalyzedMavenSource.AnalyzedMavenSourceBuilder path(final Path path) {
}
/**
+ * Set PK modules.
+ *
* @param modules modules
* @return {@code this}.
*/
@@ -152,6 +196,8 @@ public AnalyzedMavenSource.AnalyzedMavenSourceBuilder modules(final Set getModules() {
return modules;
}
- /** @return {@code true} if this source should be advertised */
@Override
public boolean isAdvertised() {
return advertise;
}
- /** @return module name */
+ /**
+ * Get the module name.
+ *
+ * @return module name
+ */
public String getModuleName() {
return moduleName;
}
- /** @return project name */
@Override
public String getProjectName() {
return projectName;
}
- /** @return version */
@Override
public String getVersion() {
return version;
}
- /** @return dependency changes */
@Override
public DependencyChangeReport getDependencyChanges() {
return dependencyChanges;
}
- /** @return dependencies */
@Override
public ProjectDependencies getDependencies() {
return dependencies;
}
/**
+ * Check if this is the root project.
+ *
* @return {@code true} if this is the main project in the repo, i.e. if build script (e.g. go.mod) lies directly in
* repo
*/
@@ -107,7 +108,11 @@ public boolean isRootProject() {
return isRootProject;
}
- /** @return a new builder for {@link AnalyzedSourceImpl} */
+ /**
+ * Create a new builder.
+ *
+ * @return a new builder for {@link AnalyzedSourceImpl}
+ */
public static AnalyzedSourceImpl.AnalyzedSourceImplBuilder builder() {
return new AnalyzedSourceImpl.AnalyzedSourceImplBuilder();
}
@@ -131,6 +136,8 @@ private AnalyzedSourceImplBuilder() {
}
/**
+ * Set source path.
+ *
* @param path source path
* @return {@code this}.
*/
@@ -140,6 +147,8 @@ public AnalyzedSourceImpl.AnalyzedSourceImplBuilder path(final Path path) {
}
/**
+ * Set PK modules.
+ *
* @param modules enabled modules
* @return {@code this}.
*/
@@ -149,6 +158,8 @@ public AnalyzedSourceImpl.AnalyzedSourceImplBuilder modules(final Set changes = new ArrayList<>();
/**
+ * Set previous dependencies.
+ *
* @param dependencies previous list of dependencies
* @return this for fluent programming
*/
@@ -37,6 +44,8 @@ public DependencyChanges from(final Optional> dependen
}
/**
+ * Set current dependencies.
+ *
* @param dependencies current list of dependencies
* @return this for fluent programming
*/
@@ -50,6 +59,8 @@ private static Map toMap(final List build() {
diff --git a/project-keeper/src/main/java/com/exasol/projectkeeper/sources/analyze/generic/GitService.java b/project-keeper/src/main/java/com/exasol/projectkeeper/sources/analyze/generic/GitService.java
index 0424f99b..bb2499fd 100644
--- a/project-keeper/src/main/java/com/exasol/projectkeeper/sources/analyze/generic/GitService.java
+++ b/project-keeper/src/main/java/com/exasol/projectkeeper/sources/analyze/generic/GitService.java
@@ -8,8 +8,14 @@
* Separate class to enable mocking access to Git repository.
*/
public class GitService {
+ /** Create a new instance */
+ public GitService() {
+ // Empty constructor required by javadoc
+ }
/**
+ * Get a Git repository.
+ *
* @param folder root folder of the current project
* @return {@link GitRepository}
*/
diff --git a/project-keeper/src/main/java/com/exasol/projectkeeper/sources/analyze/golang/GoBinary.java b/project-keeper/src/main/java/com/exasol/projectkeeper/sources/analyze/golang/GoBinary.java
index de0d1e83..e1b5b5a7 100644
--- a/project-keeper/src/main/java/com/exasol/projectkeeper/sources/analyze/golang/GoBinary.java
+++ b/project-keeper/src/main/java/com/exasol/projectkeeper/sources/analyze/golang/GoBinary.java
@@ -82,6 +82,8 @@ boolean isInstalled() {
}
/**
+ * Get the command.
+ *
* @return command for execution in a process
*/
public String command() {
diff --git a/project-keeper/src/main/java/com/exasol/projectkeeper/sources/analyze/npm/NpmDependencyChanges.java b/project-keeper/src/main/java/com/exasol/projectkeeper/sources/analyze/npm/NpmDependencyChanges.java
index bc970be4..90306f05 100644
--- a/project-keeper/src/main/java/com/exasol/projectkeeper/sources/analyze/npm/NpmDependencyChanges.java
+++ b/project-keeper/src/main/java/com/exasol/projectkeeper/sources/analyze/npm/NpmDependencyChanges.java
@@ -16,6 +16,8 @@
public class NpmDependencyChanges {
/**
+ * Create a new instance.
+ *
* @param current current release
* @param previous previous release or empty optional
* @return {@link DependencyChangeReport}
diff --git a/project-keeper/src/main/java/com/exasol/projectkeeper/stream/CollectingConsumer.java b/project-keeper/src/main/java/com/exasol/projectkeeper/stream/CollectingConsumer.java
index ff0fe5b1..48da1dc8 100644
--- a/project-keeper/src/main/java/com/exasol/projectkeeper/stream/CollectingConsumer.java
+++ b/project-keeper/src/main/java/com/exasol/projectkeeper/stream/CollectingConsumer.java
@@ -15,6 +15,9 @@ public class CollectingConsumer implements StreamConsumer {
private final CountDownLatch countDownLatch = new CountDownLatch(1);
private final StringBuilder stringBuilder = new StringBuilder();
+ CollectingConsumer() {
+ }
+
@Override
public void accept(final String line) {
this.stringBuilder.append(line).append("\n");
diff --git a/project-keeper/src/main/java/com/exasol/projectkeeper/validators/OwnVersionValidator.java b/project-keeper/src/main/java/com/exasol/projectkeeper/validators/OwnVersionValidator.java
index 09be3196..a9606a39 100644
--- a/project-keeper/src/main/java/com/exasol/projectkeeper/validators/OwnVersionValidator.java
+++ b/project-keeper/src/main/java/com/exasol/projectkeeper/validators/OwnVersionValidator.java
@@ -26,6 +26,8 @@
public class OwnVersionValidator implements Validator {
/**
+ * Create a validator for running as a maven plugin.
+ *
* @param currentVersion current version of PK in order to validate if there is an update available.
* @param updater instance of {@link Updater} in order to accept the latest version and to perform a
* self-update by replacing the version of PK maven plugin in the user's pom file.
diff --git a/project-keeper/src/main/java/com/exasol/projectkeeper/validators/changesfile/ChangesFileName.java b/project-keeper/src/main/java/com/exasol/projectkeeper/validators/changesfile/ChangesFileName.java
index 390c6df5..8b28e948 100644
--- a/project-keeper/src/main/java/com/exasol/projectkeeper/validators/changesfile/ChangesFileName.java
+++ b/project-keeper/src/main/java/com/exasol/projectkeeper/validators/changesfile/ChangesFileName.java
@@ -18,6 +18,8 @@ public final class ChangesFileName implements Comparable {
public static final Pattern PATTERN = Pattern.compile("changes_(" + Version.PATTERN.pattern() + ")\\.md");
/**
+ * Get Changes file name for the given path.
+ *
* @param path path to create a {@link ChangesFileName} for
* @return If path matches regular expression for valid changes filenames then an {@link Optional} containing a new
* instance of {@link ChangesFileName}, otherwise {@code Optional.empty()}.
@@ -43,6 +45,8 @@ public ChangesFileName(final String version) {
}
/**
+ * Get the filename.
+ *
* @return filename of the current {@link ChangesFileName} as string
*/
public String filename() {
@@ -55,6 +59,8 @@ public int compareTo(final ChangesFileName o) {
}
/**
+ * Get the version number.
+ *
* @return version number contained in the filename of current {@link ChangesFileName}
*/
public String version() {
diff --git a/project-keeper/src/main/java/com/exasol/projectkeeper/validators/changesfile/NamedDependencyChangeReport.java b/project-keeper/src/main/java/com/exasol/projectkeeper/validators/changesfile/NamedDependencyChangeReport.java
index d2744944..ba803223 100644
--- a/project-keeper/src/main/java/com/exasol/projectkeeper/validators/changesfile/NamedDependencyChangeReport.java
+++ b/project-keeper/src/main/java/com/exasol/projectkeeper/validators/changesfile/NamedDependencyChangeReport.java
@@ -22,12 +22,20 @@ public NamedDependencyChangeReport(final String sourceName, final DependencyChan
this.report = report;
}
- /** @return source name */
+ /**
+ * Get the source name.
+ *
+ * @return source name
+ */
public String getSourceName() {
return sourceName;
}
- /** @return report */
+ /**
+ * Get the report.
+ *
+ * @return report
+ */
public DependencyChangeReport getReport() {
return report;
}
diff --git a/project-keeper/src/main/java/com/exasol/projectkeeper/validators/changesfile/dependencies/DependencyChangeReportRenderer.java b/project-keeper/src/main/java/com/exasol/projectkeeper/validators/changesfile/dependencies/DependencyChangeReportRenderer.java
index 34695e34..4fd5927b 100644
--- a/project-keeper/src/main/java/com/exasol/projectkeeper/validators/changesfile/dependencies/DependencyChangeReportRenderer.java
+++ b/project-keeper/src/main/java/com/exasol/projectkeeper/validators/changesfile/dependencies/DependencyChangeReportRenderer.java
@@ -13,6 +13,10 @@
* String renderer for {@link DependencyChangeReport}.
*/
public class DependencyChangeReportRenderer {
+ /** Create a new instance */
+ public DependencyChangeReportRenderer() {
+ // Empty constructor required by javadoc
+ }
/**
* Render a {@link DependencyChangeReport} to string.
diff --git a/project-keeper/src/main/java/com/exasol/projectkeeper/validators/dependencies/renderer/DependencyPageRenderer.java b/project-keeper/src/main/java/com/exasol/projectkeeper/validators/dependencies/renderer/DependencyPageRenderer.java
index ebba18b8..2bdeff70 100644
--- a/project-keeper/src/main/java/com/exasol/projectkeeper/validators/dependencies/renderer/DependencyPageRenderer.java
+++ b/project-keeper/src/main/java/com/exasol/projectkeeper/validators/dependencies/renderer/DependencyPageRenderer.java
@@ -18,6 +18,11 @@
public class DependencyPageRenderer {
private static final String NEWLINE = System.lineSeparator();
+ /** Create a new instance */
+ public DependencyPageRenderer() {
+ // Empty constructor required by javadoc
+ }
+
/**
* Convert a list of dependencies into a markdown dependency report.
*
diff --git a/project-keeper/src/main/java/com/exasol/projectkeeper/validators/files/ProjectFilesValidator.java b/project-keeper/src/main/java/com/exasol/projectkeeper/validators/files/ProjectFilesValidator.java
index b4cb2a5a..50b5ca2a 100644
--- a/project-keeper/src/main/java/com/exasol/projectkeeper/validators/files/ProjectFilesValidator.java
+++ b/project-keeper/src/main/java/com/exasol/projectkeeper/validators/files/ProjectFilesValidator.java
@@ -97,6 +97,8 @@ private ContentValidator getContentValidator(final FileTemplate template) {
}
/**
+ * Create a new builder.
+ *
* @return Builder for a new instance of {@link ProjectFilesValidator}
*/
public static Builder builder() {
@@ -119,6 +121,8 @@ private Builder() {
}
/**
+ * Set project directory.
+ *
* @param projectDirectory project's root directory
* @return {@code this} for fluent programming
*/
@@ -128,6 +132,8 @@ public Builder projectDirectory(final Path projectDirectory) {
}
/**
+ * Set analyzed sources.
+ *
* @param value list of analyzed sources
* @return {@code this} for fluent programming
*/
@@ -137,6 +143,8 @@ public Builder analyzedSources(final List value) {
}
/**
+ * Set logger.
+ *
* @param value logger to use for log messages
* @return {@code this} for fluent programming
*/
@@ -146,6 +154,8 @@ public Builder logger(final Logger value) {
}
/**
+ * Set project keeper version.
+ *
* @param value the version of the currently running project keeper
* @return {@code this} for fluent programming
*/
@@ -155,6 +165,8 @@ public Builder projectKeeperVersion(final String value) {
}
/**
+ * Define if project has an NPM module.
+ *
* @param value {@code true} if the current project contains an NPM module
* @return {@code this} for fluent programming
*/
@@ -164,6 +176,8 @@ public Builder hasNpmModule(final boolean value) {
}
/**
+ * Set CI build options.
+ *
* @param buildOptions CI build options
* @return {@code this} for fluent programming
*/
@@ -173,6 +187,8 @@ public Builder ciBuildOptions(final BuildOptions buildOptions) {
}
/**
+ * Build a new instance.
+ *
* @return new instance of {@link ProjectFilesValidator}
*/
public ProjectFilesValidator build() {
diff --git a/project-keeper/src/main/java/com/exasol/projectkeeper/validators/finding/FindingsUngrouper.java b/project-keeper/src/main/java/com/exasol/projectkeeper/validators/finding/FindingsUngrouper.java
index d3a9b4fe..d5d7af1a 100644
--- a/project-keeper/src/main/java/com/exasol/projectkeeper/validators/finding/FindingsUngrouper.java
+++ b/project-keeper/src/main/java/com/exasol/projectkeeper/validators/finding/FindingsUngrouper.java
@@ -7,6 +7,10 @@
* This class ungroups all {@link ValidationFindingGroup}s into one flat list.
*/
public class FindingsUngrouper {
+ /** Create a new instance */
+ public FindingsUngrouper() {
+ // Empty constructor required by javadoc
+ }
/**
* Ungroup all {@link ValidationFindingGroup}s into one flat list.
diff --git a/project-keeper/src/main/java/com/exasol/projectkeeper/validators/pom/builder/ChildrenBuilder.java b/project-keeper/src/main/java/com/exasol/projectkeeper/validators/pom/builder/ChildrenBuilder.java
index 1d3bc94e..453d292d 100644
--- a/project-keeper/src/main/java/com/exasol/projectkeeper/validators/pom/builder/ChildrenBuilder.java
+++ b/project-keeper/src/main/java/com/exasol/projectkeeper/validators/pom/builder/ChildrenBuilder.java
@@ -6,10 +6,17 @@
import java.util.List;
/**
- * Builder for XML nodes with children
+ * Builder for XML nodes with children.
+ *
+ * @param child element builder
*/
public abstract class ChildrenBuilder> {
+ /** Create a new instance */
+ protected ChildrenBuilder() {
+ // Empty constructor required by javadoc
+ }
+
/**
* children builders of the current builder
*/
@@ -51,6 +58,8 @@ public T nullableChild(final NodeBuilder child) {
}
/**
+ * Add children.
+ *
* @param children children to add to the current element
* @return this for fluent programming
*/
@@ -60,6 +69,8 @@ public T children(final List children) {
}
/**
+ * Get typed this pointer.
+ *
* @return instance of the current object to support generics
*/
protected abstract T getThis();
diff --git a/project-keeper/src/main/java/com/exasol/projectkeeper/validators/pom/builder/DocumentBuilder.java b/project-keeper/src/main/java/com/exasol/projectkeeper/validators/pom/builder/DocumentBuilder.java
index 79f340ac..f5444280 100644
--- a/project-keeper/src/main/java/com/exasol/projectkeeper/validators/pom/builder/DocumentBuilder.java
+++ b/project-keeper/src/main/java/com/exasol/projectkeeper/validators/pom/builder/DocumentBuilder.java
@@ -16,6 +16,8 @@ public class DocumentBuilder extends ChildrenBuilder {
}
/**
+ * Build a new document.
+ *
* @return new instance of {@link org.w3c.dom.Document}
*/
public Document build() {
@@ -42,4 +44,4 @@ private Document createDocument() {
protected DocumentBuilder getThis() {
return this;
}
-}
\ No newline at end of file
+}
diff --git a/project-keeper/src/main/java/com/exasol/projectkeeper/validators/pom/builder/NodeBuilder.java b/project-keeper/src/main/java/com/exasol/projectkeeper/validators/pom/builder/NodeBuilder.java
index cd2fb392..6d1f3004 100644
--- a/project-keeper/src/main/java/com/exasol/projectkeeper/validators/pom/builder/NodeBuilder.java
+++ b/project-keeper/src/main/java/com/exasol/projectkeeper/validators/pom/builder/NodeBuilder.java
@@ -8,12 +8,16 @@
*/
public interface NodeBuilder {
/**
+ * Create a new node.
+ *
* @param document document to use for building the Node
* @return new instance of a {@link org.w3c.dom.Node}
*/
public Node build(Document document);
/**
+ * Create a new document builder.
+ *
* @return New instance of {@link DocumentBuilder}
*/
public static DocumentBuilder document() {
@@ -21,6 +25,8 @@ public static DocumentBuilder document() {
}
/**
+ * Create a new element builder.
+ *
* @param name name of the element to be built by this builder
* @return New instance of {@link ElementBuilder}
*/
@@ -29,6 +35,8 @@ public static ElementBuilder element(final String name) {
}
/**
+ * Create a new element builder.
+ *
* @param namespace XML namespace of the element
* @param name name of the element to be built by this builder
* @return New instance of {@link ElementBuilder}
diff --git a/project-keeper/src/main/java/com/exasol/projectkeeper/validators/pom/plugin/ErrorCodeCrawlerPluginTemplateGenerator.java b/project-keeper/src/main/java/com/exasol/projectkeeper/validators/pom/plugin/ErrorCodeCrawlerPluginTemplateGenerator.java
index 6f7c01ea..eb7502c7 100644
--- a/project-keeper/src/main/java/com/exasol/projectkeeper/validators/pom/plugin/ErrorCodeCrawlerPluginTemplateGenerator.java
+++ b/project-keeper/src/main/java/com/exasol/projectkeeper/validators/pom/plugin/ErrorCodeCrawlerPluginTemplateGenerator.java
@@ -13,6 +13,11 @@
public class ErrorCodeCrawlerPluginTemplateGenerator implements PluginTemplateGenerator {
private static final String TEMPLATE = "maven_templates/error-code-crawler-maven-plugin.xml";
+ /** Create a new instance */
+ public ErrorCodeCrawlerPluginTemplateGenerator() {
+ // Empty constructor required by javadoc
+ }
+
@Override
public Optional generateTemplate(final Collection enabledModules) {
final Node pluginTemplate = new PluginTemplateReader().readPluginTemplate(TEMPLATE);
diff --git a/project-keeper/src/main/java/com/exasol/projectkeeper/validators/pom/plugin/FailsafePluginTemplateGenerator.java b/project-keeper/src/main/java/com/exasol/projectkeeper/validators/pom/plugin/FailsafePluginTemplateGenerator.java
index 620b6ef4..dd639333 100644
--- a/project-keeper/src/main/java/com/exasol/projectkeeper/validators/pom/plugin/FailsafePluginTemplateGenerator.java
+++ b/project-keeper/src/main/java/com/exasol/projectkeeper/validators/pom/plugin/FailsafePluginTemplateGenerator.java
@@ -16,6 +16,11 @@ public class FailsafePluginTemplateGenerator implements PluginTemplateGenerator
private static final String TEST_COVERAGE_CONFIGURATION = "configuration/systemPropertyVariables/test.coverage";
private static final String TEMPLATE = "maven_templates/maven-failsafe-plugin.xml";
+ /** Create a new instance */
+ public FailsafePluginTemplateGenerator() {
+ // Empty constructor required by javadoc
+ }
+
@Override
public Optional generateTemplate(final Collection enabledModules) {
if (enabledModules.contains(ProjectKeeperModule.INTEGRATION_TESTS)) {
diff --git a/project-keeper/src/main/java/com/exasol/projectkeeper/validators/pom/plugin/JacocoPluginTemplateGenerator.java b/project-keeper/src/main/java/com/exasol/projectkeeper/validators/pom/plugin/JacocoPluginTemplateGenerator.java
index 9a9a4051..31f92b1b 100644
--- a/project-keeper/src/main/java/com/exasol/projectkeeper/validators/pom/plugin/JacocoPluginTemplateGenerator.java
+++ b/project-keeper/src/main/java/com/exasol/projectkeeper/validators/pom/plugin/JacocoPluginTemplateGenerator.java
@@ -16,6 +16,11 @@
public class JacocoPluginTemplateGenerator implements PluginTemplateGenerator {
private static final String TEMPLATE = "maven_templates/jacoco-maven-plugin.xml";
+ /** Create a new instance. */
+ public JacocoPluginTemplateGenerator() {
+ // Empty constructor required by javadoc
+ }
+
@Override
public Optional generateTemplate(final Collection enabledModules) {
final Node pluginTemplate = new PluginTemplateReader().readPluginTemplate(TEMPLATE);
diff --git a/project-keeper/src/main/java/com/exasol/projectkeeper/validators/pom/plugin/PluginTemplateReader.java b/project-keeper/src/main/java/com/exasol/projectkeeper/validators/pom/plugin/PluginTemplateReader.java
index 637b6acf..a63c69a1 100644
--- a/project-keeper/src/main/java/com/exasol/projectkeeper/validators/pom/plugin/PluginTemplateReader.java
+++ b/project-keeper/src/main/java/com/exasol/projectkeeper/validators/pom/plugin/PluginTemplateReader.java
@@ -17,6 +17,9 @@
public class PluginTemplateReader {
private static final DocumentBuilderFactory DOCUMENT_BUILDER_FACTORY = createXmlDocumentBuilderFactory();
+ PluginTemplateReader() {
+ }
+
private static DocumentBuilderFactory createXmlDocumentBuilderFactory() {
final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setAttribute(XMLConstants.ACCESS_EXTERNAL_DTD, "");
diff --git a/shared-test-setup/pom.xml b/shared-test-setup/pom.xml
index 6b23f1e8..8ed66157 100644
--- a/shared-test-setup/pom.xml
+++ b/shared-test-setup/pom.xml
@@ -35,12 +35,20 @@
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 3.11.1
+
+
+ false
+
+
org.apache.maven.plugins
maven-compiler-plugin
-
-Xlint:all,-processing
-Werror
diff --git a/shared-test-setup/src/main/java/com/exasol/projectkeeper/test/TestMavenModel.java b/shared-test-setup/src/main/java/com/exasol/projectkeeper/test/TestMavenModel.java
index ba972c56..72c49f10 100644
--- a/shared-test-setup/src/main/java/com/exasol/projectkeeper/test/TestMavenModel.java
+++ b/shared-test-setup/src/main/java/com/exasol/projectkeeper/test/TestMavenModel.java
@@ -89,12 +89,16 @@ public TestMavenModel writeAsPomToProject(final Path projectDir) {
}
public TestMavenModel configureAssemblyPluginFinalName() {
+ return configureAssemblyPluginFinalName("jar-name");
+ }
+
+ public TestMavenModel configureAssemblyPluginFinalName(final String finalName) {
final Plugin plugin = new Plugin();
plugin.setArtifactId("maven-assembly-plugin");
final Xpp3Dom configuration = new Xpp3Dom("configuration");
- final Xpp3Dom finalName = new Xpp3Dom("finalName");
- finalName.setValue("my-jar");
- configuration.addChild(finalName);
+ final Xpp3Dom finalNameElement = new Xpp3Dom("finalName");
+ finalNameElement.setValue(finalName);
+ configuration.addChild(finalNameElement);
plugin.setConfiguration(configuration);
return withPlugin(plugin);
}
@@ -111,4 +115,8 @@ public TestMavenModel withPlugin(final Plugin plugin) {
this.getBuild().addPlugin(plugin);
return this;
}
+
+ public void setJavaVersionProperty(final String javaVersion) {
+ this.addProperty("java.version", javaVersion);
+ }
}