From 414849196259fb34c621b0cdaa0a9e923ca9bc42 Mon Sep 17 00:00:00 2001 From: Russell Howe Date: Sun, 14 Aug 2022 12:26:43 +0100 Subject: [PATCH] Code simplifications in AbstractMojo (#47) * Replace StringBuilder with string concatenation in AbstractJarMojo#getJarFile * Simplify archiver selection * Simplify projectHasAlreadySetAnArtifact in AbstractJarMojo Inverting this test leads to a more readable flow. * Simplify hasClassifier We can remove all branching from this method and return the check directly. --- .../maven/plugins/jar/AbstractJarMojo.java | 42 +++++++------------ 1 file changed, 14 insertions(+), 28 deletions(-) diff --git a/src/main/java/org/apache/maven/plugins/jar/AbstractJarMojo.java b/src/main/java/org/apache/maven/plugins/jar/AbstractJarMojo.java index 588dad8..d54386b 100644 --- a/src/main/java/org/apache/maven/plugins/jar/AbstractJarMojo.java +++ b/src/main/java/org/apache/maven/plugins/jar/AbstractJarMojo.java @@ -196,16 +196,17 @@ protected File getJarFile( File basedir, String resultFinalName, String classifi throw new IllegalArgumentException( "finalName is not allowed to be null" ); } - StringBuilder fileName = new StringBuilder( resultFinalName ); - + String fileName; if ( hasClassifier() ) { - fileName.append( "-" ).append( classifier ); + fileName = resultFinalName + "-" + classifier + ".jar"; + } + else + { + fileName = resultFinalName + ".jar"; } - fileName.append( ".jar" ); - - return new File( basedir, fileName.toString() ); + return new File( basedir, fileName ); } /** @@ -243,18 +244,11 @@ public File createArchive() } } + String archiverName = containsModuleDescriptor ? "mjar" : "jar"; + MavenArchiver archiver = new MavenArchiver(); archiver.setCreatedBy( "Maven JAR Plugin", "org.apache.maven.plugins", "maven-jar-plugin" ); - - if ( containsModuleDescriptor ) - { - archiver.setArchiver( (JarArchiver) archivers.get( "mjar" ) ); - } - else - { - archiver.setArchiver( (JarArchiver) archivers.get( "jar" ) ); - } - + archiver.setArchiver( (JarArchiver) archivers.get( archiverName ) ); archiver.setOutputFile( jarFile ); // configure for Reproducible Builds based on outputTimestamp value @@ -328,14 +322,12 @@ public void execute() private boolean projectHasAlreadySetAnArtifact() { - if ( getProject().getArtifact().getFile() != null ) - { - return getProject().getArtifact().getFile().isFile(); - } - else + if ( getProject().getArtifact().getFile() == null ) { return false; } + + return getProject().getArtifact().getFile().isFile(); } /** @@ -343,13 +335,7 @@ private boolean projectHasAlreadySetAnArtifact() */ protected boolean hasClassifier() { - boolean result = false; - if ( getClassifier() != null && getClassifier().trim().length() > 0 ) - { - result = true; - } - - return result; + return getClassifier() != null && getClassifier().trim().length() > 0; } private String[] getIncludes()