This is an automated email from the ASF dual-hosted git repository.

cstamas pushed a commit to branch cstamas-ant-update
in repository https://gitbox.apache.org/repos/asf/maven-resolver-ant-tasks.git

commit a5c828f5e47a38568d0b6b0ca29121997b7c1e07
Author: Tamas Cservenak <[email protected]>
AuthorDate: Sun Nov 14 22:32:10 2021 +0100

    Attempt to update Ant to latest 1.10
    
    The code deadlocks, as now BuildFileRule is used that syncs on
    System.out but resolver uses by default 5 threads to resolve and
    deadlocks on logging.
---
 build.xml                                          |  4 +-
 pom.xml                                            | 31 +++++++-----
 .../resolver/internal/ant/AntSecDispatcher.java    | 13 ++---
 .../maven/resolver/internal/ant/AntBuildsTest.java | 59 +++++++++++++---------
 .../maven/resolver/internal/ant/DeployTest.java    | 10 ++++
 .../maven/resolver/internal/ant/InstallTest.java   | 11 ++++
 .../internal/ant/ProjectWorkspaceReaderTest.java   |  5 +-
 .../maven/resolver/internal/ant/ReactorTest.java   | 19 +++++--
 .../maven/resolver/internal/ant/ResolveTest.java   | 14 +++++
 .../maven/resolver/internal/ant/SettingsTest.java  | 10 +++-
 10 files changed, 123 insertions(+), 53 deletions(-)

diff --git a/build.xml b/build.xml
index 9c9bcb5..c093e3f 100644
--- a/build.xml
+++ b/build.xml
@@ -68,7 +68,7 @@
     </resolver:resolve>
 
     <javac classpathref="cp.compile.main" srcdir="src/main/java" 
destdir="${build.dir}/classes"
-           includeAntRuntime="false" source="7" target="7" encoding="UTF-8" 
fork="true"/>
+           includeAntRuntime="false" source="8" target="8" encoding="UTF-8" 
fork="true"/>
   </target>
 
   <target name="process-test-resources" depends="compile">
@@ -91,7 +91,7 @@
     </path>
 
     <javac classpathref="cp.test" srcdir="src/test/java" 
destdir="${build.dir}/test-classes"
-           includeAntRuntime="false" source="7" target="7" encoding="UTF-8" 
fork="true"/>
+           includeAntRuntime="false" source="8" target="8" encoding="UTF-8" 
fork="true"/>
   </target>
 
   <target name="test" depends="test-compile">
diff --git a/pom.xml b/pom.xml
index 210111c..c344369 100644
--- a/pom.xml
+++ b/pom.xml
@@ -61,10 +61,11 @@
   </distributionManagement>
 
   <properties>
-    <mavenVersion>3.6.3</mavenVersion>
+    <mavenVersion>3.8.3</mavenVersion>
     <resolverVersion>1.7.2</resolverVersion>
-    <antVersion>1.8.4</antVersion>
+    <antVersion>1.10.12</antVersion>
     <javaVersion>8</javaVersion>
+    <junitVersion>4.13.2</junitVersion>
     
<maven.site.path>resolver-archives/resolver-ant-tasks-LATEST</maven.site.path>
     
<checkstyle.violation.ignore>LineLength,MagicNumber</checkstyle.violation.ignore>
     
<project.build.outputTimestamp>2021-05-13T18:07:07Z</project.build.outputTimestamp>
@@ -78,9 +79,9 @@
         <version>3.2.0</version>
       </dependency>
       <dependency>
-        <groupId>org.sonatype.plexus</groupId>
+        <groupId>org.codehaus.plexus</groupId>
         <artifactId>plexus-cipher</artifactId>
-        <version>1.7</version>
+        <version>2.0</version>
       </dependency>
     </dependencies>
   </dependencyManagement>
@@ -138,7 +139,7 @@
       <!-- This shuts off annoying warnings from slf4j-api -->
       <groupId>org.slf4j</groupId>
       <artifactId>slf4j-nop</artifactId>
-      <version>1.7.25</version>
+      <version>1.7.30</version>
       <scope>runtime</scope>
     </dependency>
     <dependency>
@@ -169,11 +170,6 @@
     </dependency>
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
-      <artifactId>plexus-component-annotations</artifactId>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-interpolation</artifactId>
       <version>1.26</version>
     </dependency>
@@ -211,7 +207,7 @@
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
-      <version>4.12</version>
+      <version>${junitVersion}</version>
       <scope>test</scope>
     </dependency>
     <dependency>
@@ -271,8 +267,9 @@
         </configuration>
       </plugin>
       <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-shade-plugin</artifactId>
-        <version>3.2.3</version>
+        <version>3.2.4</version>
         <executions>
           <execution>
             <phase>package</phase>
@@ -363,9 +360,19 @@
             <dependencies>
               <dependency>
                 <groupId>org.apache.ant</groupId>
+                <artifactId>ant</artifactId>
+                <version>${antVersion}</version>
+              </dependency>
+              <dependency>
+                <groupId>org.apache.ant</groupId>
                 <artifactId>ant-junit</artifactId>
                 <version>${antVersion}</version>
               </dependency>
+              <dependency>
+                <groupId>junit</groupId>
+                <artifactId>junit</artifactId>
+                <version>${junitVersion}</version>
+              </dependency>
             </dependencies>
           </plugin>
         </plugins>
diff --git 
a/src/main/java/org/apache/maven/resolver/internal/ant/AntSecDispatcher.java 
b/src/main/java/org/apache/maven/resolver/internal/ant/AntSecDispatcher.java
index f4678e5..29c621b 100644
--- a/src/main/java/org/apache/maven/resolver/internal/ant/AntSecDispatcher.java
+++ b/src/main/java/org/apache/maven/resolver/internal/ant/AntSecDispatcher.java
@@ -20,9 +20,10 @@ package org.apache.maven.resolver.internal.ant;
  */
 
 import org.sonatype.plexus.components.cipher.DefaultPlexusCipher;
-import org.sonatype.plexus.components.cipher.PlexusCipherException;
 import org.sonatype.plexus.components.sec.dispatcher.DefaultSecDispatcher;
 
+import java.util.Collections;
+
 /**
  */
 class AntSecDispatcher
@@ -31,15 +32,7 @@ class AntSecDispatcher
 
     AntSecDispatcher()
     {
-        _configurationFile = "~/.m2/settings-security.xml";
-        try
-        {
-            _cipher = new DefaultPlexusCipher();
-        }
-        catch ( PlexusCipherException e )
-        {
-            e.printStackTrace();
-        }
+        super(new DefaultPlexusCipher(), Collections.emptyMap(), 
"~/.m2/settings-security.xml");
     }
 
 }
diff --git 
a/src/test/java/org/apache/maven/resolver/internal/ant/AntBuildsTest.java 
b/src/test/java/org/apache/maven/resolver/internal/ant/AntBuildsTest.java
index 0c3c309..f3ca6c9 100644
--- a/src/test/java/org/apache/maven/resolver/internal/ant/AntBuildsTest.java
+++ b/src/test/java/org/apache/maven/resolver/internal/ant/AntBuildsTest.java
@@ -22,15 +22,15 @@ package org.apache.maven.resolver.internal.ant;
 import java.io.File;
 import java.io.PrintStream;
 
-import org.apache.maven.resolver.internal.ant.ProjectWorkspaceReader;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.BuildFileTest;
-import org.apache.tools.ant.DefaultLogger;
-import org.apache.tools.ant.Project;
+import org.apache.tools.ant.*;
 import org.eclipse.aether.internal.test.util.TestFileUtils;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+
+import static org.junit.Assert.assertTrue;
 
 public abstract class AntBuildsTest
-    extends BuildFileTest
 {
 
     private static final File BASE_DIR;
@@ -43,6 +43,9 @@ public abstract class AntBuildsTest
         BUILD_DIR = new File( BASE_DIR, "target/ant" );
     }
 
+    @Rule
+    public final BuildFileRule buildRule = new BuildFileRule();
+
     protected File projectDir;
 
     protected File localRepoDir;
@@ -65,12 +68,10 @@ public abstract class AntBuildsTest
         // hook for subclasses to set further system properties for the 
project to pick up
     }
 
-    @Override
-    protected void setUp()
+    @Before
+    public void setUp()
         throws Exception
     {
-        super.setUp();
-
         TestFileUtils.deleteFile( BUILD_DIR );
 
         projectDir = new File( new File( BASE_DIR, "src/test/resources/ant" ), 
getProjectDirName() );
@@ -90,26 +91,18 @@ public abstract class AntBuildsTest
         configureProject( new File( projectDir, "ant.xml" ).getAbsolutePath(), 
Project.MSG_VERBOSE );
     }
 
-    @Override
-    protected void tearDown()
+    @After
+    public void tearDown()
         throws Exception
     {
-        try
-        {
-            ProjectWorkspaceReader.dropInstance();
-            TestFileUtils.deleteFile( BUILD_DIR );
-        }
-        finally
-        {
-            super.tearDown();
-        }
+        ProjectWorkspaceReader.dropInstance();
+        TestFileUtils.deleteFile( BUILD_DIR );
     }
 
-    @Override
     public void configureProject( String filename, int logLevel )
         throws BuildException
     {
-        super.configureProject( filename, logLevel );
+        buildRule.configureProject( filename, logLevel );
         DefaultLogger logger = new DefaultLogger()
         {
             @Override
@@ -122,7 +115,25 @@ public abstract class AntBuildsTest
         logger.setMessageOutputLevel( logLevel );
         logger.setOutputPrintStream( System.out );
         logger.setErrorPrintStream( System.err );
-        getProject().addBuildListener( logger );
+        buildRule.getProject().addBuildListener( logger );
+    }
+    protected void assertLogContaining( String substring )
+    {
+        String realLog = getLog();
+        assertTrue( "expecting log to contain \"" + substring + "\" log was 
\"" + realLog + "\"", realLog.contains( substring ) );
+    }
+
+    protected void executeTarget( String targetName ) {
+        buildRule.executeTarget( targetName );
+    }
+
+    protected String getLog()
+    {
+        return buildRule.getLog();
     }
 
+    protected Project getProject()
+    {
+        return buildRule.getProject();
+    }
 }
diff --git 
a/src/test/java/org/apache/maven/resolver/internal/ant/DeployTest.java 
b/src/test/java/org/apache/maven/resolver/internal/ant/DeployTest.java
index 203bdba..928a4a7 100644
--- a/src/test/java/org/apache/maven/resolver/internal/ant/DeployTest.java
+++ b/src/test/java/org/apache/maven/resolver/internal/ant/DeployTest.java
@@ -19,6 +19,9 @@ package org.apache.maven.resolver.internal.ant;
  * under the License.
  */
 
+import junit.framework.JUnit4TestAdapter;
+import org.junit.Test;
+
 import static org.hamcrest.MatcherAssert.*;
 import static org.hamcrest.Matchers.*;
 
@@ -32,7 +35,11 @@ import java.util.Arrays;
 public class DeployTest
     extends AntBuildsTest
 {
+    public static junit.framework.Test suite() {
+        return new JUnit4TestAdapter(DeployTest.class);
+    }
 
+    @Test
     public void testDeployGlobalPom()
     {
         long min = System.currentTimeMillis();
@@ -44,6 +51,7 @@ public class DeployTest
         assertUpdatedFile( min, max, distRepoDir, 
"test/dummy/0.1-SNAPSHOT/maven-metadata.xml" );
     }
 
+    @Test
     public void testDeployOverrideGlobalPom()
     {
         long min = System.currentTimeMillis();
@@ -55,6 +63,7 @@ public class DeployTest
         assertUpdatedFile( min, max, distRepoDir, 
"test/other/0.1-SNAPSHOT/maven-metadata.xml" );
     }
 
+    @Test
     public void testDeployOverrideGlobalPomByRef()
     {
         long min = System.currentTimeMillis();
@@ -67,6 +76,7 @@ public class DeployTest
         assertUpdatedFile( min, max, distRepoDir, 
"test/other/0.1-SNAPSHOT/maven-metadata.xml" );
     }
 
+    @Test
     public void testDeployAttachedArtifact()
     {
         executeTarget( "testDeployAttachedArtifact" );
diff --git 
a/src/test/java/org/apache/maven/resolver/internal/ant/InstallTest.java 
b/src/test/java/org/apache/maven/resolver/internal/ant/InstallTest.java
index bd3fcaa..cd2a301 100644
--- a/src/test/java/org/apache/maven/resolver/internal/ant/InstallTest.java
+++ b/src/test/java/org/apache/maven/resolver/internal/ant/InstallTest.java
@@ -19,6 +19,9 @@ package org.apache.maven.resolver.internal.ant;
  * under the License.
  */
 
+import junit.framework.JUnit4TestAdapter;
+import org.junit.Test;
+
 import static org.hamcrest.MatcherAssert.*;
 import static org.hamcrest.Matchers.*;
 
@@ -28,7 +31,11 @@ import java.io.IOException;
 public class InstallTest
     extends AntBuildsTest
 {
+    public static junit.framework.Test suite() {
+        return new JUnit4TestAdapter(InstallTest.class);
+    }
 
+    @Test
     public void testInstallGlobalPom()
     {
         executeTarget( "testInstallGlobalPom" );
@@ -39,6 +46,7 @@ public class InstallTest
         assertUpdatedFile( tstamp, localRepoDir, 
"test/dummy/0.1-SNAPSHOT/dummy-0.1-SNAPSHOT.pom" );
     }
 
+    @Test
     public void testInstallOverrideGlobalPom()
     {
         executeTarget( "testInstallOverrideGlobalPom" );
@@ -49,6 +57,7 @@ public class InstallTest
         assertUpdatedFile( tstamp, localRepoDir, 
"test/other/0.1-SNAPSHOT/other-0.1-SNAPSHOT.pom" );
     }
 
+    @Test
     public void testInstallOverrideGlobalPomByRef()
     {
         long tstamp = System.currentTimeMillis();
@@ -60,6 +69,7 @@ public class InstallTest
         assertUpdatedFile( tstamp, localRepoDir, 
"test/other/0.1-SNAPSHOT/other-0.1-SNAPSHOT.pom" );
     }
 
+    @Test
     public void testDefaultRepo()
     {
         executeTarget( "testDefaultRepo" );
@@ -71,6 +81,7 @@ public class InstallTest
         assertUpdatedFile( tstamp, localRepoDir, 
"test/dummy/0.1-SNAPSHOT/dummy-0.1-SNAPSHOT-ant.xml" );
     }
 
+    @Test
     public void testCustomRepo()
         throws IOException
     {
diff --git 
a/src/test/java/org/apache/maven/resolver/internal/ant/ProjectWorkspaceReaderTest.java
 
b/src/test/java/org/apache/maven/resolver/internal/ant/ProjectWorkspaceReaderTest.java
index 0b7dfa3..155a22f 100644
--- 
a/src/test/java/org/apache/maven/resolver/internal/ant/ProjectWorkspaceReaderTest.java
+++ 
b/src/test/java/org/apache/maven/resolver/internal/ant/ProjectWorkspaceReaderTest.java
@@ -24,7 +24,7 @@ import static org.junit.Assert.*;
 
 import java.io.File;
 
-import org.apache.maven.resolver.internal.ant.ProjectWorkspaceReader;
+import junit.framework.JUnit4TestAdapter;
 import org.apache.maven.resolver.internal.ant.types.Pom;
 import org.apache.tools.ant.Project;
 import org.junit.Before;
@@ -34,6 +34,9 @@ import org.eclipse.aether.artifact.DefaultArtifact;
 
 public class ProjectWorkspaceReaderTest
 {
+    public static junit.framework.Test suite() {
+        return new JUnit4TestAdapter(ProjectWorkspaceReaderTest.class);
+    }
 
     private ProjectWorkspaceReader reader;
 
diff --git 
a/src/test/java/org/apache/maven/resolver/internal/ant/ReactorTest.java 
b/src/test/java/org/apache/maven/resolver/internal/ant/ReactorTest.java
index 6b33710..a4d5533 100644
--- a/src/test/java/org/apache/maven/resolver/internal/ant/ReactorTest.java
+++ b/src/test/java/org/apache/maven/resolver/internal/ant/ReactorTest.java
@@ -22,19 +22,27 @@ package org.apache.maven.resolver.internal.ant;
 import java.io.File;
 import java.io.IOException;
 
+import junit.framework.JUnit4TestAdapter;
 import org.apache.maven.resolver.internal.ant.ProjectWorkspaceReader;
 import org.eclipse.aether.artifact.Artifact;
 import org.eclipse.aether.artifact.DefaultArtifact;
+import org.junit.Test;
+
+import static org.junit.Assert.*;
 
 public class ReactorTest
     extends AntBuildsTest
 {
+    public static junit.framework.Test suite() {
+        return new JUnit4TestAdapter(ReactorTest.class);
+    }
 
     private Artifact artifact( String coords )
     {
         return new DefaultArtifact( coords );
     }
 
+    @Test
     public void testPom()
         throws IOException
     {
@@ -45,6 +53,7 @@ public class ReactorTest
         assertEquals( new File( projectDir, "pom1.xml" ), 
found.getAbsoluteFile() );
     }
 
+    @Test
     public void testArtifact()
         throws IOException
     {
@@ -59,6 +68,7 @@ public class ReactorTest
         assertEquals( new File( projectDir, "pom1.xml" ), 
found.getAbsoluteFile() );
     }
 
+    @Test
     public void testArtifactInMemoryPom()
         throws IOException
     {
@@ -72,28 +82,31 @@ public class ReactorTest
         assertEquals( new File( projectDir, "pom1.xml" ), 
found.getAbsoluteFile() );
     }
 
+    @Test
     public void testResolveArtifact()
         throws IOException
     {
         executeTarget( "testResolveArtifact" );
-        String prop = project.getProperty( "resolve.test:test:jar" );
+        String prop = getProject().getProperty( "resolve.test:test:jar" );
         assertEquals( new File( projectDir, "pom1.xml" ).getAbsolutePath(), 
prop );
     }
 
+    @Test
     public void testResolveArtifactInMemoryPom()
         throws IOException
     {
         executeTarget( "testResolveArtifactInMemoryPom" );
-        String prop = project.getProperty( "resolve.test:test:jar" );
+        String prop = getProject().getProperty( "resolve.test:test:jar" );
         assertEquals( new File( projectDir, "pom1.xml" ).getAbsolutePath(), 
prop );
         assertLogContaining( "The POM for test:test:jar:0.1-SNAPSHOT is 
missing, no dependency information available" );
     }
 
+    @Test
     public void testResolveVersionRange()
         throws IOException
     {
         executeTarget( "testResolveVersionRange" );
-        String prop = project.getProperty( "resolve.test:test:jar" );
+        String prop = getProject().getProperty( "resolve.test:test:jar" );
         assertEquals( new File( projectDir, "pom1.xml" ).getAbsolutePath(), 
prop );
     }
 
diff --git 
a/src/test/java/org/apache/maven/resolver/internal/ant/ResolveTest.java 
b/src/test/java/org/apache/maven/resolver/internal/ant/ResolveTest.java
index a736a74..062213d 100644
--- a/src/test/java/org/apache/maven/resolver/internal/ant/ResolveTest.java
+++ b/src/test/java/org/apache/maven/resolver/internal/ant/ResolveTest.java
@@ -28,14 +28,20 @@ import java.util.Arrays;
 import java.util.Iterator;
 import java.util.Map;
 
+import junit.framework.JUnit4TestAdapter;
 import org.apache.tools.ant.types.Path;
 import org.apache.tools.ant.types.ResourceCollection;
 import org.apache.tools.ant.types.resources.FileResource;
+import org.junit.Test;
 
 public class ResolveTest
     extends AntBuildsTest
 {
+    public static junit.framework.Test suite() {
+        return new JUnit4TestAdapter(ResolveTest.class);
+    }
 
+    @Test
     public void testResolveGlobalPom()
     {
         executeTarget( "testResolveGlobalPom" );
@@ -46,6 +52,7 @@ public class ResolveTest
                     allOf( containsString( "aether-api" ), endsWith( ".jar" ) 
) );
     }
 
+    @Test
     public void testResolveOverrideGlobalPom()
     {
         executeTarget( "testResolveOverrideGlobalPom" );
@@ -56,6 +63,7 @@ public class ResolveTest
                     allOf( containsString( "aether-api" ), endsWith( ".jar" ) 
) );
     }
 
+    @Test
     public void testResolveGlobalPomIntoOtherLocalRepo()
     {
         executeTarget( "testResolveGlobalPomIntoOtherLocalRepo" );
@@ -66,6 +74,7 @@ public class ResolveTest
                     endsWith( 
"local-repo-custom/org/eclipse/aether/aether-api/0.9.0.M3/aether-api-0.9.0.M3.jar"
 ) );
     }
 
+    @Test
     public void testResolveCustomFileLayout()
         throws IOException
     {
@@ -76,6 +85,7 @@ public class ResolveTest
                     new File( dir, 
"org.eclipse.aether/aether-api/org/eclipse/aether/jar" ).exists() );
     }
 
+    @Test
     public void testResolveAttachments()
         throws IOException
     {
@@ -96,6 +106,7 @@ public class ResolveTest
                     everyItem( endsWith( "sources.jar" ) ) );
     }
 
+    @Test
     public void testResolvePath()
     {
         executeTarget( "testResolvePath" );
@@ -108,6 +119,7 @@ public class ResolveTest
                     hasItemInArray( allOf( containsString( "aether-api" ), 
endsWith( ".jar" ) ) ) );
     }
 
+    @Test
     public void testResolveDepsFromFile()
     {
         executeTarget( "testResolveDepsFromFile" );
@@ -120,6 +132,7 @@ public class ResolveTest
         assertThat( "aether-api was resolved as a property", prop, nullValue() 
);
     }
 
+    @Test
     public void testResolveNestedDependencyCollections()
     {
         executeTarget( "testResolveNestedDependencyCollections" );
@@ -132,6 +145,7 @@ public class ResolveTest
         assertThat( "aether-api was resolved as a property", prop, nullValue() 
);
     }
 
+    @Test
     public void testResolveResourceCollectionOnly()
     {
         executeTarget( "testResolveResourceCollectionOnly" );
diff --git 
a/src/test/java/org/apache/maven/resolver/internal/ant/SettingsTest.java 
b/src/test/java/org/apache/maven/resolver/internal/ant/SettingsTest.java
index a22d573..b427afc 100644
--- a/src/test/java/org/apache/maven/resolver/internal/ant/SettingsTest.java
+++ b/src/test/java/org/apache/maven/resolver/internal/ant/SettingsTest.java
@@ -25,12 +25,17 @@ import static org.hamcrest.Matchers.*;
 import java.io.File;
 import java.io.IOException;
 
-import org.apache.maven.resolver.internal.ant.AntRepoSys;
+import junit.framework.JUnit4TestAdapter;
+import org.junit.Test;
 
 public class SettingsTest
     extends AntBuildsTest
 {
+    public static junit.framework.Test suite() {
+        return new JUnit4TestAdapter(SettingsTest.class);
+    }
 
+    @Test
     public void testUserSettings()
     {
         executeTarget( "testUserSettings" );
@@ -38,6 +43,7 @@ public class SettingsTest
                     equalTo( "userSettings.xml" ) );
     }
 
+    @Test
     public void testGlobalSettings()
     {
         executeTarget( "testGlobalSettings" );
@@ -45,6 +51,7 @@ public class SettingsTest
                     equalTo( "globalSettings.xml" ) );
     }
 
+    @Test
     public void testBothSettings()
     {
         executeTarget( "testBothSettings" );
@@ -54,6 +61,7 @@ public class SettingsTest
                     equalTo( "userSettings.xml" ) );
     }
 
+    @Test
     public void testFallback()
         throws IOException
     {

Reply via email to