You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rg...@apache.org on 2024/10/15 23:06:55 UTC
(logging-log4j-transform) branch main updated: Skip the transformer if log4j-api isn't present (#134)
This is an automated email from the ASF dual-hosted git repository.
rgoers pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/logging-log4j-transform.git
The following commit(s) were added to refs/heads/main by this push:
new 837fb79 Skip the transformer if log4j-api isn't present (#134)
837fb79 is described below
commit 837fb79bd7b2bceb8dcdcdfd82b200e8a0f29f8b
Author: Ralph Goers <rg...@apache.org>
AuthorDate: Tue Oct 15 16:06:50 2024 -0700
Skip the transformer if log4j-api isn't present (#134)
* Skip the transformer if log4j-api isn't present
Signed-off-by: Ralph Goers <rg...@apache.org>
* Chanage Log message
* Convert exceptions to just logging errors and returning
---------
Signed-off-by: Ralph Goers <rg...@apache.org>
---
.../log4j/transform/maven/LocationMojo.java | 28 +++++++++++++++-------
1 file changed, 20 insertions(+), 8 deletions(-)
diff --git a/log4j-transform-maven-plugin/src/main/java/org/apache/logging/log4j/transform/maven/LocationMojo.java b/log4j-transform-maven-plugin/src/main/java/org/apache/logging/log4j/transform/maven/LocationMojo.java
index 4a15886..0fc805c 100644
--- a/log4j-transform-maven-plugin/src/main/java/org/apache/logging/log4j/transform/maven/LocationMojo.java
+++ b/log4j-transform-maven-plugin/src/main/java/org/apache/logging/log4j/transform/maven/LocationMojo.java
@@ -29,6 +29,7 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
+import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
import org.apache.logging.log4j.transform.maven.scan.ClassFileInclusionScanner;
@@ -106,7 +107,9 @@ public class LocationMojo extends AbstractMojo {
getLog().info("Skipping project with packaging \"pom\".");
return;
}
- validateLog4jVersion();
+ if (!validateLog4jVersion()) {
+ return;
+ }
final Path sourceDirectory = this.sourceDirectory.toPath();
final Path outputDirectory = this.outputDirectory.toPath();
@@ -189,23 +192,32 @@ public class LocationMojo extends AbstractMojo {
}
}
- private void validateLog4jVersion() throws MojoExecutionException {
- Artifact log4jApi = project.getArtifacts().stream()
+ private boolean validateLog4jVersion() throws MojoExecutionException {
+ Optional<Artifact> artifact = project.getArtifacts().stream()
.filter(a -> LOG4J_GROUP_ID.equals(a.getGroupId()) && LOG4J_API_ARTIFACT_ID.equals(a.getArtifactId()))
- .findAny()
- .orElseThrow(() -> new MojoExecutionException("Missing `log4j-api` dependency."));
+ .findAny();
+ Artifact log4jApi;
+ if (artifact.isPresent()) {
+ log4jApi = artifact.get();
+ } else {
+ getLog().info("Skipping project. Log4j API is not being used.");
+ return false;
+ }
try {
if (MIN_SUPPORTED_VERSION.compareTo(log4jApi.getSelectedVersion()) > 0) {
- throw new MojoExecutionException("Log4j2 API version " + MIN_SUPPORTED_VERSION
- + " required. Selected version: " + log4jApi.getSelectedVersion());
+ getLog().error("Log4j2 API version " + MIN_SUPPORTED_VERSION + " required. Selected version: "
+ + log4jApi.getSelectedVersion());
+ return false;
}
// Transitive dependency
if (!project.getDependencyArtifacts().contains(log4jApi)) {
getLog().warn("Log4j2 API should not be a transitive dependency.");
}
} catch (OverConstrainedVersionException e) {
- throw new MojoExecutionException("Can not determine `log4j-api` version.", e);
+ getLog().error("Can not determine `log4j-api` version. " + e.getMessage());
+ return false;
}
+ return true;
}
private ClassLoader getProjectDependencies() throws MojoExecutionException {