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

rfscholte pushed a commit to branch MNG-5728
in repository https://gitbox.apache.org/repos/asf/maven.git

commit 26cd15bb6a9a27f2a50e12909da237e1b98e1570
Author: rfscholte <rfscho...@apache.org>
AuthorDate: Fri Nov 27 18:19:29 2020 +0100

    [MNG-5728] Switch the default checksum policy from "warn" to "fail"
---
 .../artifact/repository/ArtifactRepositoryPolicy.java     |  2 +-
 .../maven/artifact/AbstractArtifactComponentTestCase.java | 15 +++++++++++++++
 .../maven/repository/legacy/DefaultWagonManagerTest.java  |  5 +++++
 maven-model/src/main/mdo/maven.mdo                        |  5 ++---
 4 files changed, 23 insertions(+), 4 deletions(-)

diff --git 
a/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryPolicy.java
 
b/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryPolicy.java
index 5ce317f..24525b4 100644
--- 
a/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryPolicy.java
+++ 
b/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepositoryPolicy.java
@@ -71,7 +71,7 @@ public class ArtifactRepositoryPolicy
 
         if ( checksumPolicy == null )
         {
-            checksumPolicy = CHECKSUM_POLICY_WARN;
+            checksumPolicy = CHECKSUM_POLICY_FAIL;
         }
         this.checksumPolicy = checksumPolicy;
     }
diff --git 
a/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java
 
b/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java
index dbd6e8f..c790a93 100644
--- 
a/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java
+++ 
b/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java
@@ -39,6 +39,7 @@ import org.eclipse.aether.collection.DependencySelector;
 import org.eclipse.aether.collection.DependencyTraverser;
 import org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory;
 import org.eclipse.aether.repository.LocalRepository;
+import org.eclipse.aether.spi.connector.layout.RepositoryLayout;
 import org.eclipse.aether.util.graph.manager.ClassicDependencyManager;
 import org.eclipse.aether.util.graph.selector.AndDependencySelector;
 import org.eclipse.aether.util.graph.selector.ExclusionDependencySelector;
@@ -60,9 +61,12 @@ import java.io.IOException;
 import java.io.OutputStreamWriter;
 import java.io.Writer;
 import java.nio.charset.StandardCharsets;
+import java.security.MessageDigest;
 import java.util.ArrayList;
 import java.util.List;
 
+import javax.xml.bind.DatatypeConverter;
+
 /**
  * @author <a href="mailto:ja...@maven.org";>Jason van Zyl </a>
  */
@@ -298,6 +302,17 @@ public abstract class AbstractArtifactComponentTestCase
         {
             writer.write( artifact.getId() );
         }
+        
+        MessageDigest md = MessageDigest.getInstance( "MD5" );
+        md.update( artifact.getId().getBytes() );
+        byte[] digest = md.digest();
+        
+        String md5path = repository.pathOf( artifact ) + ".md5";
+        File md5artifactFile = new File( repository.getBasedir(), md5path );
+        try ( Writer writer = new OutputStreamWriter( new FileOutputStream( 
md5artifactFile ), StandardCharsets.ISO_8859_1) )
+        {
+            writer.append( DatatypeConverter.printHexBinary( digest ) );
+        }
     }
 
     protected Artifact createArtifact( String artifactId, String version )
diff --git 
a/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultWagonManagerTest.java
 
b/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultWagonManagerTest.java
index 1b3cb79..3424ac1 100644
--- 
a/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultWagonManagerTest.java
+++ 
b/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultWagonManagerTest.java
@@ -101,7 +101,10 @@ public class DefaultWagonManagerTest
 
         StringWagon wagon = (StringWagon) wagonManager.getWagon( "string" );
         wagon.addExpectedContent( repos.get( 0 ).getLayout().pathOf( artifact 
), "expected" );
+        wagon.addExpectedContent( repos.get( 0 ).getLayout().pathOf( artifact 
) + ".md5", "cd26d9e10ce691cc69aa2b90dcebbdac" );
         wagon.addExpectedContent( repos.get( 1 ).getLayout().pathOf( artifact 
), "expected" );
+        wagon.addExpectedContent( repos.get( 1 ).getLayout().pathOf( artifact 
) + ".md5", "cd26d9e10ce691cc69aa2b90dcebbdac" );
+
 
         class TransferListener
             extends AbstractTransferListener
@@ -170,6 +173,7 @@ public class DefaultWagonManagerTest
 
         StringWagon wagon = (StringWagon) wagonManager.getWagon( "string" );
         wagon.addExpectedContent( repo.getLayout().pathOf( artifact ), 
"expected" );
+        wagon.addExpectedContent( repo.getLayout().pathOf( artifact ) + 
".md5", "cd26d9e10ce691cc69aa2b90dcebbdac" );
 
         wagonManager.getArtifact( artifact, repo, null, false );
 
@@ -271,6 +275,7 @@ public class DefaultWagonManagerTest
         ArtifactRepository repo = createStringRepo();
         StringWagon wagon = (StringWagon) wagonManager.getWagon( "string" );
         wagon.addExpectedContent( repo.getLayout().pathOf( artifact ), 
"expected" );
+        wagon.addExpectedContent( repo.getLayout().pathOf( artifact ) + 
".md5", "cd26d9e10ce691cc69aa2b90dcebbdac" );
 
         /* getArtifact */
         assertFalse( "Transfer listener is registered before test",
diff --git a/maven-model/src/main/mdo/maven.mdo 
b/maven-model/src/main/mdo/maven.mdo
index 61d9ceb..dbf0537 100644
--- a/maven-model/src/main/mdo/maven.mdo
+++ b/maven-model/src/main/mdo/maven.mdo
@@ -1997,10 +1997,9 @@
             What to do when verification of an artifact checksum fails. Valid 
values are
             <code>ignore</code>
             ,
-            <code>fail</code>
+            <code>fail</code> (default for Maven 4 and above)
             or
-            <code>warn</code>
-            (the default).
+            <code>warn</code> (default for Maven 2 and 3)
             ]]>
           </description>
           <type>String</type>

Reply via email to