From 39c64725ad2ea4170493f4860c2e72129ed81e36 Mon Sep 17 00:00:00 2001 From: Elliotte Rusty Harold Date: Fri, 3 Jul 2020 08:05:01 -0400 Subject: [PATCH 1/4] limit depdendency on file management to tests --- pom.xml | 22 +++---- .../testUtils/DependencyTestUtils.java | 57 +------------------ 2 files changed, 10 insertions(+), 69 deletions(-) diff --git a/pom.xml b/pom.xml index cea122f54..7de7c1f1d 100644 --- a/pom.xml +++ b/pom.xml @@ -99,23 +99,16 @@ under the License. - - - org.ow2.asm - asm - 8.0.1 - - + + + org.ow2.asm + asm + 8.0.1 + + - - - org.apache.maven - maven-compat - ${mavenVersion} - test - @@ -211,6 +204,7 @@ under the License. org.apache.maven.shared file-management 3.0.0 + test org.codehaus.plexus diff --git a/src/test/java/org/apache/maven/plugins/dependency/testUtils/DependencyTestUtils.java b/src/test/java/org/apache/maven/plugins/dependency/testUtils/DependencyTestUtils.java index 43790f3ae..36bd0fc2d 100644 --- a/src/test/java/org/apache/maven/plugins/dependency/testUtils/DependencyTestUtils.java +++ b/src/test/java/org/apache/maven/plugins/dependency/testUtils/DependencyTestUtils.java @@ -19,22 +19,13 @@ * under the License. */ -import static org.junit.Assert.assertTrue; - import java.io.File; import java.io.IOException; -import java.lang.reflect.Field; -import java.util.HashMap; -import org.apache.maven.artifact.factory.ArtifactFactory; -import org.apache.maven.artifact.factory.DefaultArtifactFactory; -import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager; -import org.apache.maven.artifact.handler.manager.DefaultArtifactHandlerManager; import org.apache.maven.plugin.logging.Log; import org.apache.maven.plugin.testing.SilentLog; import org.apache.maven.shared.model.fileset.FileSet; import org.apache.maven.shared.model.fileset.util.FileSetManager; -import org.codehaus.plexus.util.ReflectionUtils; public class DependencyTestUtils { @@ -44,7 +35,9 @@ public class DependencyTestUtils * * @param dir {@link File} The base directory of the included and excluded files. * @throws IOException in case of an error. When a directory failed to get deleted. + * @deprecated use Apache Commons FileUtils.deleteDirectory */ + @Deprecated public static void removeDirectory( File dir ) throws IOException { @@ -61,50 +54,4 @@ public static void removeDirectory( File dir ) } } - public static ArtifactFactory getArtifactFactory() - throws IllegalAccessException - { - ArtifactFactory artifactFactory; - ArtifactHandlerManager manager = new DefaultArtifactHandlerManager(); - setVariableValueToObject( manager, "artifactHandlers", new HashMap<>() ); - - artifactFactory = new DefaultArtifactFactory(); - setVariableValueToObject( artifactFactory, "artifactHandlerManager", manager ); - - return artifactFactory; - } - - /** - * convenience method to set values to variables in objects that don't have setters - * - * @param object {@link Object} - * @param variable the field name. - * @param value The value to be set. - * @throws IllegalAccessException in case of an error. - */ - public static void setVariableValueToObject( Object object, String variable, Object value ) - throws IllegalAccessException - { - Field field = ReflectionUtils.getFieldByNameIncludingSuperclasses( variable, object.getClass() ); - - field.setAccessible( true ); - - field.set( object, value ); - } - - public static void setFileModifiedTime( File file ) - throws InterruptedException - { - Thread.sleep( 100 ); - // round down to the last second - long time = System.currentTimeMillis(); - time = time - ( time % 1000 ); - assertTrue( "Updating last modification time of marker file " + file.getAbsolutePath() - + " failed unexpectedly.", file.setLastModified( time ) ); - - // wait at least a second for filesystems that only record to the - // nearest second. - Thread.sleep( 1000 ); - } - } From 2175bb514a3b7bc99254856301ed67a42e7135a8 Mon Sep 17 00:00:00 2001 From: Elliotte Rusty Harold Date: Fri, 3 Jul 2020 08:07:04 -0400 Subject: [PATCH 2/4] limit depdendency on file management to tests --- pom.xml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 7de7c1f1d..6d643f4d8 100644 --- a/pom.xml +++ b/pom.xml @@ -109,8 +109,14 @@ under the License. - + + + org.apache.maven + maven-compat + ${mavenVersion} + test + org.apache.maven maven-artifact From df815cd29e6a87e589e2b40abf5c4ef95d401e9f Mon Sep 17 00:00:00 2001 From: Elliotte Rusty Harold Date: Fri, 3 Jul 2020 08:34:06 -0400 Subject: [PATCH 3/4] remove DependencyTestUtils --- pom.xml | 5 -- .../AbstractDependencyMojoTestCase.java | 6 +- .../testUtils/DependencyTestUtils.java | 57 ------------------- .../utils/filters/TestDestFileFilter.java | 6 +- .../utils/filters/TestMarkerFileFilter.java | 12 ++-- .../filters/TestResolveMarkerFileFilter.java | 6 +- .../markers/TestDefaultMarkerFileHandler.java | 6 +- .../markers/TestUnpackMarkerFileHandler.java | 8 +-- 8 files changed, 22 insertions(+), 84 deletions(-) delete mode 100644 src/test/java/org/apache/maven/plugins/dependency/testUtils/DependencyTestUtils.java diff --git a/pom.xml b/pom.xml index 6d643f4d8..46b7d08a4 100644 --- a/pom.xml +++ b/pom.xml @@ -184,11 +184,6 @@ under the License. doxia-sink-api ${doxiaVersion} - - org.apache.maven.doxia - doxia-core - ${doxiaVersion} - org.apache.maven.doxia doxia-site-renderer diff --git a/src/test/java/org/apache/maven/plugins/dependency/AbstractDependencyMojoTestCase.java b/src/test/java/org/apache/maven/plugins/dependency/AbstractDependencyMojoTestCase.java index 8b1c97327..e802f9d0b 100644 --- a/src/test/java/org/apache/maven/plugins/dependency/AbstractDependencyMojoTestCase.java +++ b/src/test/java/org/apache/maven/plugins/dependency/AbstractDependencyMojoTestCase.java @@ -22,9 +22,9 @@ import java.io.File; import java.io.IOException; +import org.apache.commons.io.FileUtils; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugins.dependency.testUtils.DependencyArtifactStubFactory; -import org.apache.maven.plugins.dependency.testUtils.DependencyTestUtils; import org.apache.maven.plugin.testing.AbstractMojoTestCase; public abstract class AbstractDependencyMojoTestCase @@ -48,7 +48,7 @@ protected void setUp( String testDirStr, boolean createFiles, boolean flattenedP super.setUp(); testDir = new File( getBasedir(), "target" + File.separatorChar + "unit-tests" + File.separatorChar + testDirStr + File.separatorChar ); - DependencyTestUtils.removeDirectory( testDir ); + FileUtils.deleteDirectory( testDir ); assertFalse( testDir.exists() ); stubFactory = new DependencyArtifactStubFactory( this.testDir, createFiles, flattenedPath ); @@ -60,7 +60,7 @@ protected void tearDown() { try { - DependencyTestUtils.removeDirectory( testDir ); + FileUtils.deleteDirectory( testDir ); } catch ( IOException e ) { diff --git a/src/test/java/org/apache/maven/plugins/dependency/testUtils/DependencyTestUtils.java b/src/test/java/org/apache/maven/plugins/dependency/testUtils/DependencyTestUtils.java deleted file mode 100644 index 36bd0fc2d..000000000 --- a/src/test/java/org/apache/maven/plugins/dependency/testUtils/DependencyTestUtils.java +++ /dev/null @@ -1,57 +0,0 @@ -package org.apache.maven.plugins.dependency.testUtils; - -/* - * 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.io.File; -import java.io.IOException; - -import org.apache.maven.plugin.logging.Log; -import org.apache.maven.plugin.testing.SilentLog; -import org.apache.maven.shared.model.fileset.FileSet; -import org.apache.maven.shared.model.fileset.util.FileSetManager; - -public class DependencyTestUtils -{ - - /** - * Deletes a directory and its contents. - * - * @param dir {@link File} The base directory of the included and excluded files. - * @throws IOException in case of an error. When a directory failed to get deleted. - * @deprecated use Apache Commons FileUtils.deleteDirectory - */ - @Deprecated - public static void removeDirectory( File dir ) - throws IOException - { - if ( dir != null ) - { - Log log = new SilentLog(); - FileSetManager fileSetManager = new FileSetManager( log, false ); - - FileSet fs = new FileSet(); - fs.setDirectory( dir.getPath() ); - fs.addInclude( "**/**" ); - fileSetManager.delete( fs ); - - } - } - -} diff --git a/src/test/java/org/apache/maven/plugins/dependency/utils/filters/TestDestFileFilter.java b/src/test/java/org/apache/maven/plugins/dependency/utils/filters/TestDestFileFilter.java index 76655b02a..86dca0c48 100644 --- a/src/test/java/org/apache/maven/plugins/dependency/utils/filters/TestDestFileFilter.java +++ b/src/test/java/org/apache/maven/plugins/dependency/utils/filters/TestDestFileFilter.java @@ -26,10 +26,10 @@ import junit.framework.TestCase; +import org.apache.commons.io.FileUtils; import org.apache.maven.artifact.Artifact; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugins.dependency.testUtils.DependencyArtifactStubFactory; -import org.apache.maven.plugins.dependency.testUtils.DependencyTestUtils; import org.apache.maven.plugins.dependency.utils.DependencyUtil; import org.apache.maven.plugin.logging.Log; import org.apache.maven.plugin.testing.SilentLog; @@ -55,7 +55,7 @@ protected void setUp() super.setUp(); outputFolder = new File( "target/markers/" ); - DependencyTestUtils.removeDirectory( outputFolder ); + FileUtils.deleteDirectory( outputFolder ); assertFalse( outputFolder.exists() ); this.fact = new DependencyArtifactStubFactory( outputFolder, false ); @@ -65,7 +65,7 @@ protected void setUp() protected void tearDown() throws IOException { - DependencyTestUtils.removeDirectory( outputFolder ); + FileUtils.deleteDirectory( outputFolder ); } public File createFile( Artifact artifact ) diff --git a/src/test/java/org/apache/maven/plugins/dependency/utils/filters/TestMarkerFileFilter.java b/src/test/java/org/apache/maven/plugins/dependency/utils/filters/TestMarkerFileFilter.java index cb3168a1e..8069c9d50 100644 --- a/src/test/java/org/apache/maven/plugins/dependency/utils/filters/TestMarkerFileFilter.java +++ b/src/test/java/org/apache/maven/plugins/dependency/utils/filters/TestMarkerFileFilter.java @@ -26,10 +26,10 @@ import junit.framework.TestCase; +import org.apache.commons.io.FileUtils; import org.apache.maven.artifact.Artifact; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugins.dependency.testUtils.DependencyArtifactStubFactory; -import org.apache.maven.plugins.dependency.testUtils.DependencyTestUtils; import org.apache.maven.plugins.dependency.utils.markers.DefaultFileMarkerHandler; import org.apache.maven.plugin.logging.Log; import org.apache.maven.plugin.testing.SilentLog; @@ -55,7 +55,7 @@ protected void setUp() super.setUp(); outputFolder = new File( "target/markers/" ); - DependencyTestUtils.removeDirectory( outputFolder ); + FileUtils.deleteDirectory( outputFolder ); assertFalse( outputFolder.exists() ); this.fact = new DependencyArtifactStubFactory( outputFolder, false ); @@ -65,7 +65,7 @@ protected void setUp() protected void tearDown() throws IOException { - DependencyTestUtils.removeDirectory( outputFolder ); + FileUtils.deleteDirectory( outputFolder ); } public void testMarkerFile() @@ -99,7 +99,7 @@ public void testMarkerSnapshots() result = filter.filter( artifacts ); assertEquals( 2, result.size() ); assertTrue( handler.clearMarker() ); - DependencyTestUtils.removeDirectory( outputFolder ); + FileUtils.deleteDirectory( outputFolder ); assertFalse( outputFolder.exists() ); } @@ -119,7 +119,7 @@ public void testMarkerRelease() assertEquals( 2, result.size() ); assertTrue( handler.clearMarker() ); - DependencyTestUtils.removeDirectory( outputFolder ); + FileUtils.deleteDirectory( outputFolder ); assertFalse( outputFolder.exists() ); } @@ -157,7 +157,7 @@ public void testMarkerTimestamp() assertFalse( handler.isMarkerSet() ); snap.getFile().delete(); release.getFile().delete(); - DependencyTestUtils.removeDirectory( outputFolder ); + FileUtils.deleteDirectory( outputFolder ); assertFalse( outputFolder.exists() ); } diff --git a/src/test/java/org/apache/maven/plugins/dependency/utils/filters/TestResolveMarkerFileFilter.java b/src/test/java/org/apache/maven/plugins/dependency/utils/filters/TestResolveMarkerFileFilter.java index 76f60981d..4c36fe438 100644 --- a/src/test/java/org/apache/maven/plugins/dependency/utils/filters/TestResolveMarkerFileFilter.java +++ b/src/test/java/org/apache/maven/plugins/dependency/utils/filters/TestResolveMarkerFileFilter.java @@ -29,10 +29,10 @@ import junit.framework.TestCase; +import org.apache.commons.io.FileUtils; import org.apache.maven.artifact.Artifact; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugins.dependency.testUtils.DependencyArtifactStubFactory; -import org.apache.maven.plugins.dependency.testUtils.DependencyTestUtils; import org.apache.maven.plugins.dependency.utils.markers.SourcesFileMarkerHandler; import org.apache.maven.plugin.logging.Log; import org.apache.maven.plugin.testing.SilentLog; @@ -58,7 +58,7 @@ protected void setUp() super.setUp(); outputFolder = new File( "target/markers/" ); - DependencyTestUtils.removeDirectory( outputFolder ); + FileUtils.deleteDirectory( outputFolder ); assertFalse( outputFolder.exists() ); this.fact = new DependencyArtifactStubFactory( outputFolder, false ); @@ -68,7 +68,7 @@ protected void setUp() protected void tearDown() throws IOException { - DependencyTestUtils.removeDirectory( outputFolder ); + FileUtils.deleteDirectory( outputFolder ); } public void testResolveFile() diff --git a/src/test/java/org/apache/maven/plugins/dependency/utils/markers/TestDefaultMarkerFileHandler.java b/src/test/java/org/apache/maven/plugins/dependency/utils/markers/TestDefaultMarkerFileHandler.java index 4704511b1..4d328cba9 100644 --- a/src/test/java/org/apache/maven/plugins/dependency/utils/markers/TestDefaultMarkerFileHandler.java +++ b/src/test/java/org/apache/maven/plugins/dependency/utils/markers/TestDefaultMarkerFileHandler.java @@ -26,13 +26,13 @@ import junit.framework.TestCase; +import org.apache.commons.io.FileUtils; import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.DefaultArtifact; import org.apache.maven.artifact.handler.ArtifactHandler; import org.apache.maven.artifact.handler.DefaultArtifactHandler; import org.apache.maven.artifact.versioning.VersionRange; import org.apache.maven.plugin.MojoExecutionException; -import org.apache.maven.plugins.dependency.testUtils.DependencyTestUtils; import org.apache.maven.plugins.dependency.testUtils.stubs.StubDefaultFileMarkerHandler; import org.apache.maven.plugin.logging.Log; import org.apache.maven.plugin.testing.SilentLog; @@ -66,14 +66,14 @@ protected void setUp() artifacts.add( artifact ); outputFolder = new File( "target/markers/" ); - DependencyTestUtils.removeDirectory( this.outputFolder ); + FileUtils.deleteDirectory( this.outputFolder ); assertFalse( outputFolder.exists() ); } protected void tearDown() throws IOException { - DependencyTestUtils.removeDirectory( this.outputFolder ); + FileUtils.deleteDirectory( this.outputFolder ); } public void testSetMarker() diff --git a/src/test/java/org/apache/maven/plugins/dependency/utils/markers/TestUnpackMarkerFileHandler.java b/src/test/java/org/apache/maven/plugins/dependency/utils/markers/TestUnpackMarkerFileHandler.java index b9036667c..8501b217f 100644 --- a/src/test/java/org/apache/maven/plugins/dependency/utils/markers/TestUnpackMarkerFileHandler.java +++ b/src/test/java/org/apache/maven/plugins/dependency/utils/markers/TestUnpackMarkerFileHandler.java @@ -24,11 +24,11 @@ import java.util.ArrayList; import java.util.List; +import org.apache.commons.io.FileUtils; import org.apache.maven.artifact.Artifact; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugins.dependency.fromConfiguration.ArtifactItem; import org.apache.maven.plugins.dependency.testUtils.DependencyArtifactStubFactory; -import org.apache.maven.plugins.dependency.testUtils.DependencyTestUtils; import org.apache.maven.plugins.dependency.testUtils.stubs.StubUnpackFileMarkerHandler; import org.apache.maven.plugin.logging.Log; import org.apache.maven.plugin.testing.AbstractMojoTestCase; @@ -54,7 +54,7 @@ protected void setUp() testDir = new File( getBasedir(), "target" + File.separatorChar + "unit-tests" + File.separatorChar + "unpack-markers" + File.separatorChar ); - DependencyTestUtils.removeDirectory( testDir ); + FileUtils.deleteDirectory( testDir ); assertFalse( testDir.exists() ); stubFactory = new DependencyArtifactStubFactory( this.testDir, false ); @@ -77,14 +77,14 @@ protected void setUp() artifactItems.add( artifactItem ); outputFolder = new File( "target/markers/" ); - DependencyTestUtils.removeDirectory( this.outputFolder ); + FileUtils.deleteDirectory( this.outputFolder ); assertFalse( outputFolder.exists() ); } protected void tearDown() throws IOException { - DependencyTestUtils.removeDirectory( this.outputFolder ); + FileUtils.deleteDirectory( this.outputFolder ); } /** From f2717d36df62fcec1fbb9f0e24742d3f8ee6b21d Mon Sep 17 00:00:00 2001 From: Elliotte Rusty Harold Date: Fri, 3 Jul 2020 08:35:52 -0400 Subject: [PATCH 4/4] remove dependency on file-management --- pom.xml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/pom.xml b/pom.xml index 46b7d08a4..152d3803b 100644 --- a/pom.xml +++ b/pom.xml @@ -201,12 +201,6 @@ under the License. plexus-utils 3.3.0 - - org.apache.maven.shared - file-management - 3.0.0 - test - org.codehaus.plexus plexus-io