This is an automated email from the ASF dual-hosted git repository. khmarbaise pushed a commit to branch CODE-CLEANUP in repository https://gitbox.apache.org/repos/asf/maven-ear-plugin.git
commit cab3dfaf147d78563b484a1c8fac1066dfaaaa71 Author: Karl Heinz Marbaise <khmarba...@apache.org> AuthorDate: Wed Mar 7 20:14:41 2018 +0100 o Removed unused parts. o Removed ModuleIdentifierValidator including the test cause it's not needed anymore. --- .../maven/plugins/ear/AbstractEarModule.java | 1 - .../apache/maven/plugins/ear/AbstractEarMojo.java | 13 +- .../java/org/apache/maven/plugins/ear/EarMojo.java | 13 +- .../ear/util/ModuleIdentifierValidator.java | 139 -------------- .../ear/util/ModuleIdentifierValidatorTest.java | 211 --------------------- 5 files changed, 4 insertions(+), 373 deletions(-) diff --git a/src/main/java/org/apache/maven/plugins/ear/AbstractEarModule.java b/src/main/java/org/apache/maven/plugins/ear/AbstractEarModule.java index 34cda4c..8ceb14b 100644 --- a/src/main/java/org/apache/maven/plugins/ear/AbstractEarModule.java +++ b/src/main/java/org/apache/maven/plugins/ear/AbstractEarModule.java @@ -250,7 +250,6 @@ public abstract class AbstractEarModule try { String outputFileNameMapping = earExecutionContext.getOutputFileNameMapping(); - System.out.println( "*** outputFileNameMapping:" + outputFileNameMapping ); bundleFileName = MappingUtils.evaluateFileNameMapping( outputFileNameMapping, artifact ); } catch ( InterpolationException e ) diff --git a/src/main/java/org/apache/maven/plugins/ear/AbstractEarMojo.java b/src/main/java/org/apache/maven/plugins/ear/AbstractEarMojo.java index bc258db..f8285d9 100644 --- a/src/main/java/org/apache/maven/plugins/ear/AbstractEarMojo.java +++ b/src/main/java/org/apache/maven/plugins/ear/AbstractEarMojo.java @@ -29,12 +29,10 @@ import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter; import org.apache.maven.plugin.AbstractMojo; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; -import org.apache.maven.plugins.annotations.Component; import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.plugins.ear.util.ArtifactTypeMappingService; import org.apache.maven.plugins.ear.util.JavaEEVersion; import org.apache.maven.project.MavenProject; -import org.apache.maven.shared.filtering.MavenResourcesFiltering; import org.codehaus.plexus.configuration.PlexusConfiguration; import org.codehaus.plexus.configuration.PlexusConfigurationException; @@ -129,11 +127,9 @@ public abstract class AbstractEarMojo // CHECKSTYLE_ON: LineLength /** - * When using a {@link #fileNameMapping} with versions, either use the {@code baseVersion} or the {@code version}. - * When the artifact is a SNAPSHOT, {@code version} will always return a value with a {@code -SNAPSHOT} postfix - * instead of the possible timestamped value. - * - * @since 2.9 FIXME: Check what exactly this means!!! + * When using a {@link #outputFileNameMapping} with versions, either use the {@code baseVersion} or the + * {@code version}. When the artifact is a SNAPSHOT, {@code version} will always return a value with a + * {@code -SNAPSHOT} postfix instead of the possible timestamped value. */ @Parameter private Boolean useBaseVersion; @@ -167,9 +163,6 @@ public abstract class AbstractEarMojo @Parameter( defaultValue = "${project.build.directory}", required = true ) private File tempFolder; - @Component - private MavenResourcesFiltering mavenResourcesFiltering; - private List<EarModule> earModules; private List<JarModule> allJarModules; diff --git a/src/main/java/org/apache/maven/plugins/ear/EarMojo.java b/src/main/java/org/apache/maven/plugins/ear/EarMojo.java index b671adf..df089bd 100644 --- a/src/main/java/org/apache/maven/plugins/ear/EarMojo.java +++ b/src/main/java/org/apache/maven/plugins/ear/EarMojo.java @@ -258,16 +258,6 @@ public class EarMojo @Parameter( defaultValue = "true" ) private boolean useJvmChmod = true; - /** - * The list of artifacts is checked and if you set this to {@code true} the build will fail if duplicate artifacts - * have been found within the build configuration. - * - * @since 2.10 - */ - // TODO: This can be removed if we change to full unique identifiers in EAR (next major version!) - @Parameter( defaultValue = "false", property = "maven.ear.duplicateArtifactsBreakTheBuild" ) - private boolean duplicateArtifactsBreakTheBuild; - /** {@inheritDoc} */ public void execute() throws MojoExecutionException, MojoFailureException @@ -741,7 +731,7 @@ public class EarMojo if ( module.getLibDir() != null ) { // MEAR-189: - // We use the original name, cause in case of fileNameMapping to no-version/full + // We use the original name, cause in case of outputFileNameMapping // we could not not delete it and it will end up in the resulting EAR and the WAR // will not be cleaned up. // CHECKSTYLE_OFF: LineLength @@ -753,7 +743,6 @@ public class EarMojo // If WAR contains files with timestamps, but EAR strips them away (useBaseVersion=true) // the artifact is not found. Therefore respect the current fileNameMapping additionally. - // FIXME: Need to check this based on the new name mapping.! if ( !artifact.exists() ) { getLog().debug( "module does not exist with original file name." ); diff --git a/src/main/java/org/apache/maven/plugins/ear/util/ModuleIdentifierValidator.java b/src/main/java/org/apache/maven/plugins/ear/util/ModuleIdentifierValidator.java deleted file mode 100644 index b2c7f21..0000000 --- a/src/main/java/org/apache/maven/plugins/ear/util/ModuleIdentifierValidator.java +++ /dev/null @@ -1,139 +0,0 @@ -package org.apache.maven.plugins.ear.util; - -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.apache.maven.plugins.ear.EarModule; - -/** - * This class will check the list of modules if there exist a duplicate artifactId. If we have such case it's necessary - * to create a warning to the user otherwise it can happen to overwrite existing artifacts during the EAR creation - * process. This is a temporary solution to keep backward compatibility with previous versions. For the next major - * release 3.X the creation of the EAR archive should be done based on unique identifiers like - * {@code groupId:artifactId:version}. - * - * @author Karl Heinz Marbaise <khmarba...@apache.org> - */ -public class ModuleIdentifierValidator -{ - - private List<EarModule> earModules; - - private Map<String, List<EarModule>> result; - - /** - * @param earModules The list of {@link EarModule} which will be checked. - */ - public ModuleIdentifierValidator( List<EarModule> earModules ) - { - if ( earModules == null ) - { - throw new IllegalArgumentException( "Not allowed to give null for earModules." ); - } - this.earModules = earModules; - this.result = new HashMap<String, List<EarModule>>(); - } - - /** - * You have to call {@link #checkForDuplicateArtifacts()} before - * otherwise you will get always {@code false}. - * @return true in case of existing duplicates false otherwise. - */ - public boolean existDuplicateArtifacts() - { - return !result.isEmpty(); - } - - /** - * Trigger the module list check. - * - * @return this for fluent usage. - */ - public ModuleIdentifierValidator checkForDuplicateArtifacts() - { - analyze(); - return this; - } - - private void analyze() - { - final Map<String, List<EarModule>> newList = new HashMap<String, List<EarModule>>(); - - for ( EarModule earModule : earModules ) - { - String earId = earModule.getArtifact().getArtifactId() + ":" + earModule.getArtifact().getVersion(); - - if ( newList.containsKey( earId ) ) - { - newList.get( earId ).add( earModule ); - } - else - { - List<EarModule> list = new ArrayList<EarModule>(); - list.add( earModule ); - newList.put( earId, list ); - } - } - - result.clear(); - for ( Map.Entry<String, List<EarModule>> item : newList.entrySet() ) - { - if ( item.getValue().size() > 1 ) - { - result.put( item.getKey(), item.getValue() ); - } - } - - } - - /** - * @return A map of duplicate artifacts. - */ - public Map<String, List<EarModule>> getDuplicateArtifacts() - { - return result; - } - - /** - * @return The list of {@link EarModule} - */ - public List<EarModule> getEarModules() - { - return earModules; - } - - /** - * @param paramEarModules {@link EarModule} - * @return {@link ModuleIdentifierValidator} - */ - public ModuleIdentifierValidator setEarModules( List<EarModule> paramEarModules ) - { - if ( paramEarModules == null ) - { - throw new IllegalArgumentException( "Not allowed to give null for earModules." ); - } - this.earModules = paramEarModules; - return this; - } -} \ No newline at end of file diff --git a/src/test/java/org/apache/maven/plugins/ear/util/ModuleIdentifierValidatorTest.java b/src/test/java/org/apache/maven/plugins/ear/util/ModuleIdentifierValidatorTest.java deleted file mode 100644 index 62de40c..0000000 --- a/src/test/java/org/apache/maven/plugins/ear/util/ModuleIdentifierValidatorTest.java +++ /dev/null @@ -1,211 +0,0 @@ -package org.apache.maven.plugins.ear.util; - -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertTrue; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; - -import java.util.ArrayList; -import java.util.List; -import java.util.Map; - -import org.apache.maven.artifact.Artifact; -import org.apache.maven.plugins.ear.EarModule; -import org.apache.maven.plugins.ear.util.ModuleIdentifierValidator; -import org.junit.Before; -import org.junit.Test; - -public class ModuleIdentifierValidatorTest -{ - private List<EarModule> earModules; - - private ModuleIdentifierValidator miv; - - @Before - public void before() - { - this.earModules = new ArrayList<EarModule>(); - this.miv = new ModuleIdentifierValidator( this.earModules ); - } - - private EarModule createMockEarModule( String groupId, String artifactId, String version ) - { - EarModule earModule = mock( EarModule.class ); - Artifact artifact = mock( Artifact.class ); - when( earModule.getArtifact() ).thenReturn( artifact ); - when( earModule.getArtifact().getGroupId() ).thenReturn( groupId ); - when( earModule.getArtifact().getArtifactId() ).thenReturn( artifactId ); - when( earModule.getArtifact().getVersion() ).thenReturn( version ); - when( earModule.getArtifact().getId() ).thenReturn( groupId + ":" + artifactId + ":" + version ); - return earModule; - } - - private EarModule createMockEarModule( String groupId, String artifactId, String classifier, String version ) - { - EarModule earModule = mock( EarModule.class ); - Artifact artifact = mock( Artifact.class ); - when( earModule.getArtifact() ).thenReturn( artifact ); - when( earModule.getArtifact().getGroupId() ).thenReturn( groupId ); - when( earModule.getArtifact().getArtifactId() ).thenReturn( artifactId ); - when( earModule.getArtifact().getClassifier() ).thenReturn( classifier ); - when( earModule.getArtifact().getVersion() ).thenReturn( version ); - when( earModule.getArtifact().getId() ).thenReturn( groupId + ":" + artifactId + ":" + classifier + ":" + version ); - return earModule; - } - - @Test - public void existDuplicateShouldResultFalseWithEmptyList() - { - miv.checkForDuplicateArtifacts(); - - assertFalse( miv.existDuplicateArtifacts() ); - } - - @Test - public void shouldNotFailCauseTheArtifactIdsAreDifferentWithSameGroupId() - { - earModules.add( createMockEarModule( "org.apache.maven.test", "result-artifact", "1.0.0" ) ); - earModules.add( createMockEarModule( "org.apache.maven.test", "result-artifact-a", "1.0.0" ) ); - earModules.add( createMockEarModule( "org.apache.maven.test", "result-artifact-b", "1.0.0" ) ); - - assertFalse( miv.checkForDuplicateArtifacts().existDuplicateArtifacts() ); - - Map<String, List<EarModule>> result = miv.getDuplicateArtifacts(); - - assertTrue( result.isEmpty() ); - } - - @Test - public void shouldNotFailCauseTheArtifactIdsAreDifferent() - { - earModules.add( createMockEarModule( "org.apache", "artifact-1", "1.0.0" ) ); - earModules.add( createMockEarModule( "org.apache", "artifact-2", "1.0.0" ) ); - earModules.add( createMockEarModule( "org.apache.maven", "aid-1", "1.0.0" ) ); - earModules.add( createMockEarModule( "org.apache.maven", "aid-2", "1.0.0" ) ); - earModules.add( createMockEarModule( "org.apache.maven.test", "result-artifact-a", "1.0.0" ) ); - earModules.add( createMockEarModule( "org.apache.maven.test", "result-artifact-b", "1.0.0" ) ); - - assertFalse( miv.checkForDuplicateArtifacts().existDuplicateArtifacts() ); - - Map<String, List<EarModule>> result = miv.getDuplicateArtifacts(); - - assertTrue( result.isEmpty() ); - } - - @Test - public void shouldNotFailCauseTheClassifiersAreDifferent() - { - earModules.add( createMockEarModule( "org.apache", "artifact-1", "first", "1.0.0" ) ); - earModules.add( createMockEarModule( "org.apache", "artifact-2", "second", "1.0.0" ) ); - earModules.add( createMockEarModule( "org.apache.maven", "aid-1", "first", "1.0.0" ) ); - earModules.add( createMockEarModule( "org.apache.maven", "aid-2", "second", "1.0.0" ) ); - earModules.add( createMockEarModule( "org.apache.maven.test", "result-artifact-a", "first", "1.0.0" ) ); - earModules.add( createMockEarModule( "org.apache.maven.test", "result-artifact-b", "second", "1.0.0" ) ); - - assertFalse( miv.checkForDuplicateArtifacts().existDuplicateArtifacts() ); - - Map<String, List<EarModule>> result = miv.getDuplicateArtifacts(); - - assertTrue( result.isEmpty() ); - } - - @Test - public void shouldFailCauseTheArtifactIdsAreIdenticalWithDifferentGroupIds() - { - EarModule earModule1 = createMockEarModule( "org.apache.maven.test", "result-artifact", "1.0.0" ); - EarModule earModule2 = createMockEarModule( "org.apache.maven", "result-artifact", "1.0.0" ); - earModules.add( earModule1 ); - earModules.add( earModule2 ); - - miv.checkForDuplicateArtifacts(); - Map<String, List<EarModule>> result = miv.getDuplicateArtifacts(); - - assertFalse( result.isEmpty() ); - assertEquals( 1, result.size() ); - assertTrue( result.containsKey( "result-artifact:1.0.0" ) ); - assertEquals( 2, result.get( "result-artifact:1.0.0" ).size() ); - } - - @Test - public void shouldFailCauseTheArtifactIdsAreIdenticalWithClassifiers() - { - EarModule earModule1 = createMockEarModule( "org.apache.maven.test", "result-artifact", "first", "1.0.0" ); - EarModule earModule2 = createMockEarModule( "org.apache.maven", "result-artifact", "second", "1.0.0" ); - earModules.add( earModule1 ); - earModules.add( earModule2 ); - - miv.checkForDuplicateArtifacts(); - Map<String, List<EarModule>> result = miv.getDuplicateArtifacts(); - - assertFalse( result.isEmpty() ); - assertEquals( 1, result.size() ); - assertTrue( result.containsKey( "result-artifact:1.0.0" ) ); - assertEquals( 2, result.get( "result-artifact:1.0.0" ).size() ); - } - - @Test - public void shouldFailCauseTheArtifactIdsAreIdentical() - { - earModules.add( createMockEarModule( "org.apache", "artifact-1", "1.0.0" ) ); - earModules.add( createMockEarModule( "org.apache", "artifact-2", "1.0.0" ) ); - earModules.add( createMockEarModule( "org.apache.maven", "aid-1", "1.0.0" ) ); - earModules.add( createMockEarModule( "org.apache.maven", "artifact-2", "1.0.0" ) ); - earModules.add( createMockEarModule( "org.apache.maven.test", "result-artifact-a", "1.0.0" ) ); - earModules.add( createMockEarModule( "org.apache.maven.test", "result-artifact-b", "1.0.0" ) ); - - miv.checkForDuplicateArtifacts(); - Map<String, List<EarModule>> result = miv.getDuplicateArtifacts(); - - assertFalse( result.isEmpty() ); - } - - @Test - public void shouldFailWithAppropriateInformationAboutTheIdenticalArtifactIds() - { - EarModule earModule_1 = createMockEarModule( "org.apache", "artifact-2", "1.0.0" ); - EarModule earModule_2 = createMockEarModule( "org.apache.maven", "artifact-2", "1.0.0" ); - - earModules.add( createMockEarModule( "org.apache", "artifact-1", "1.0.0" ) ); - earModules.add( earModule_1 ); - earModules.add( createMockEarModule( "org.apache.maven", "aid-1", "1.0.0" ) ); - earModules.add( earModule_2 ); - earModules.add( createMockEarModule( "org.apache.maven.test", "result-artifact-a", "1.0.0" ) ); - earModules.add( createMockEarModule( "org.apache.maven.test", "result-artifact-b", "1.0.0" ) ); - - miv.checkForDuplicateArtifacts(); - Map<String, List<EarModule>> result = miv.getDuplicateArtifacts(); - - assertFalse( result.isEmpty() ); - assertEquals( 1, result.size() ); - - assertTrue( result.containsKey( "artifact-2:1.0.0" ) ); - - List<EarModule> list = result.get( "artifact-2:1.0.0" ); - - assertEquals( 2, list.size() ); - assertTrue( list.contains( earModule_1 ) ); - assertTrue( list.contains( earModule_2 ) ); - - } - -} -- To stop receiving notification emails like this one, please contact khmarba...@apache.org.