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

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

commit b358072cfc79044df85243964ce428bf847d26db
Author: Slawomir Jaranowski <s.jaranow...@gmail.com>
AuthorDate: Sun Oct 4 22:31:18 2020 +0200

    Don't use settings.server for key configuration
---
 src/it/pom-packaging/pom.xml                       |  4 +-
 src/it/standard-packaging/pom.xml                  |  3 +-
 ...ttings.java => PGPSecretKeyInfoFromParams.java} | 44 ++++++++++++++--------
 .../org/apache/maven/plugins/sign/SignMojo.java    | 14 +++++--
 ...st.java => PGPSecretKeyInfoFromParamsTest.java} | 32 +++-------------
 5 files changed, 49 insertions(+), 48 deletions(-)

diff --git a/src/it/pom-packaging/pom.xml b/src/it/pom-packaging/pom.xml
index 0d2a078..a18b908 100644
--- a/src/it/pom-packaging/pom.xml
+++ b/src/it/pom-packaging/pom.xml
@@ -43,7 +43,9 @@
               <goal>sign</goal>
             </goals>
             <configuration>
-              <useReflection>true</useReflection>
+              <keyId>AC71B3E31C0C0D38</keyId>
+              <keyPassphrase>testPass</keyPassphrase>
+              
<keyFile>@project.basedir@/src/test/resources/pgp-priv-key.asc</keyFile>
             </configuration>
           </execution>
 
diff --git a/src/it/standard-packaging/pom.xml 
b/src/it/standard-packaging/pom.xml
index 059e8ce..1d15a42 100644
--- a/src/it/standard-packaging/pom.xml
+++ b/src/it/standard-packaging/pom.xml
@@ -70,7 +70,8 @@
               <goal>sign</goal>
             </goals>
             <configuration>
-              <useReflection>true</useReflection>
+              <keyPassphrase>testPass</keyPassphrase>
+              
<keyFile>@project.basedir@/src/test/resources/pgp-priv-key.asc</keyFile>
             </configuration>
           </execution>
 
diff --git 
a/src/main/java/org/apache/maven/plugins/sign/PGPSecretKeyInfoFromSettings.java 
b/src/main/java/org/apache/maven/plugins/sign/PGPSecretKeyInfoFromParams.java
similarity index 63%
rename from 
src/main/java/org/apache/maven/plugins/sign/PGPSecretKeyInfoFromSettings.java
rename to 
src/main/java/org/apache/maven/plugins/sign/PGPSecretKeyInfoFromParams.java
index 1e27276..cef7333 100644
--- 
a/src/main/java/org/apache/maven/plugins/sign/PGPSecretKeyInfoFromSettings.java
+++ 
b/src/main/java/org/apache/maven/plugins/sign/PGPSecretKeyInfoFromParams.java
@@ -20,49 +20,61 @@ package org.apache.maven.plugins.sign;
  */
 
 import org.apache.maven.plugins.sign.pgp.PGPSecretKeyInfo;
-import org.apache.maven.settings.Server;
 
 import java.io.File;
 import java.math.BigInteger;
-import java.util.Objects;
 
 /**
  * Information about pgp key from settings server
  *
  * @author Slawomir Jaranowski
  */
-public class PGPSecretKeyInfoFromSettings implements PGPSecretKeyInfo
+public class PGPSecretKeyInfoFromParams implements PGPSecretKeyInfo
 {
 
-    private final Server settingsServer;
+    private final Long keyId;
+    private final char[] passphrase;
+    private final File keyFile;
 
-    PGPSecretKeyInfoFromSettings( Server settingsServer )
+    PGPSecretKeyInfoFromParams( String keyIdStr, String passphraseStr, File 
keyFile )
     {
-        this.settingsServer = Objects.requireNonNull( settingsServer );
-    }
 
-    @Override
-    public Long getKeyId()
-    {
-        try
+
+        if ( keyIdStr != null )
         {
-            return new BigInteger( settingsServer.getUsername(), 16 
).longValue();
+            try
+            {
+                this.keyId = new BigInteger( keyIdStr, 16 ).longValue();
+            }
+            catch ( NumberFormatException e )
+            {
+                throw new SignMojoException( e );
+            }
         }
-        catch ( NumberFormatException e )
+        else
         {
-            return null;
+            this.keyId = null;
         }
+
+        this.passphrase = passphraseStr.toCharArray();
+        this.keyFile = keyFile;
+    }
+
+    @Override
+    public Long getKeyId()
+    {
+        return keyId;
     }
 
     @Override
     public char[] getPassphrase()
     {
-        return settingsServer.getPassphrase().toCharArray();
+        return passphrase;
     }
 
     @Override
     public File getFile()
     {
-        return new File( settingsServer.getPrivateKey() );
+        return keyFile;
     }
 }
diff --git a/src/main/java/org/apache/maven/plugins/sign/SignMojo.java 
b/src/main/java/org/apache/maven/plugins/sign/SignMojo.java
index e72e916..9dd897c 100644
--- a/src/main/java/org/apache/maven/plugins/sign/SignMojo.java
+++ b/src/main/java/org/apache/maven/plugins/sign/SignMojo.java
@@ -38,6 +38,7 @@ import org.slf4j.LoggerFactory;
 
 import javax.inject.Inject;
 import java.io.BufferedInputStream;
+import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
@@ -66,8 +67,14 @@ public class SignMojo extends AbstractMojo
     @Parameter( defaultValue = "${session}", required = true, readonly = true )
     protected MavenSession session;
 
-    @Parameter( defaultValue = "pgpKey", required = true, property = 
"sign.serverId" )
-    private String serverId;
+    @Parameter( property = "sign.keyId" )
+    private String keyId;
+
+    @Parameter( required = true, property = "sign.keyPassphrase" )
+    private String keyPassphrase;
+
+    @Parameter( required = true, property = "sign.keyFile" )
+    private File keyFile;
 
     @Inject
     private MavenProjectHelper projectHelper;
@@ -79,8 +86,7 @@ public class SignMojo extends AbstractMojo
     {
         try
         {
-            pgpSigner = new PGPSigner(
-                    new PGPSecretKeyInfoFromSettings( 
session.getSettings().getServer( serverId ) ) );
+            pgpSigner = new PGPSigner( new PGPSecretKeyInfoFromParams( keyId, 
keyPassphrase, keyFile ) );
         }
         catch ( PGPSignerException e )
         {
diff --git 
a/src/test/java/org/apache/maven/plugins/sign/PGPSecretKeyInfoFromSettingsTest.java
 
b/src/test/java/org/apache/maven/plugins/sign/PGPSecretKeyInfoFromParamsTest.java
similarity index 65%
rename from 
src/test/java/org/apache/maven/plugins/sign/PGPSecretKeyInfoFromSettingsTest.java
rename to 
src/test/java/org/apache/maven/plugins/sign/PGPSecretKeyInfoFromParamsTest.java
index 1a221e5..4e8c1e8 100644
--- 
a/src/test/java/org/apache/maven/plugins/sign/PGPSecretKeyInfoFromSettingsTest.java
+++ 
b/src/test/java/org/apache/maven/plugins/sign/PGPSecretKeyInfoFromParamsTest.java
@@ -20,46 +20,30 @@ package org.apache.maven.plugins.sign;
  *
  */
 
-import org.apache.maven.settings.Server;
 import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnitRunner;
 
 import java.io.File;
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.junit.Assert.assertThrows;
-import static org.mockito.Mockito.when;
 
-@RunWith( MockitoJUnitRunner.class )
-public class PGPSecretKeyInfoFromSettingsTest
+public class PGPSecretKeyInfoFromParamsTest
 {
 
     private static final String[] KEY_ID_HEX = {"ABCDEF0123456789", 
"0000000000000000", "FFFFFFFFFFFFFFFF"};
     private static final long[] KEY_ID = {0xABCDEF0123456789L, 0L, 
0xFFFFFFFFFFFFFFFFL};
 
-    private static final String KEY_FILE_STR = "test.asc";
-    private static final File KEY_FILE = new File( KEY_FILE_STR );
+    private static final File KEY_FILE = new File( "test.asc" );
 
     private static final String KEY_PASS_STR = "pass";
     private static final char[] KEY_PASS = KEY_PASS_STR.toCharArray();
 
-
-    @Mock
-    private Server server;
-
     @Test
     public void allProperties()
     {
-        // given
-        when( server.getUsername() ).thenReturn( KEY_ID_HEX[0] );
-        when( server.getPrivateKey() ).thenReturn( KEY_FILE_STR );
-        when( server.getPassphrase() ).thenReturn( KEY_PASS_STR );
-
         // when
-        PGPSecretKeyInfoFromSettings info = new PGPSecretKeyInfoFromSettings( 
server );
+        PGPSecretKeyInfoFromParams info = new PGPSecretKeyInfoFromParams( 
KEY_ID_HEX[0], KEY_PASS_STR, KEY_FILE );
 
         // then
         assertThat( info.getKeyId(), is( KEY_ID[0] ) );
@@ -68,23 +52,19 @@ public class PGPSecretKeyInfoFromSettingsTest
     }
 
     @Test
-    public void npeShouldBeThrowForNullServer()
+    public void npeShouldBeThrowForNullPassphrase()
     {
         assertThrows( NullPointerException.class,
-                () -> new PGPSecretKeyInfoFromSettings( null ) );
+                () -> new PGPSecretKeyInfoFromParams( null, null, null ) );
     }
 
     @Test
     public void keyIdShouldBeParsedProperly()
     {
-
         for ( int i = 0; i < KEY_ID_HEX.length; i++ )
         {
-            // given
-            when( server.getUsername() ).thenReturn( KEY_ID_HEX[i] );
-
             // when
-            PGPSecretKeyInfoFromSettings info = new 
PGPSecretKeyInfoFromSettings( server );
+            PGPSecretKeyInfoFromParams info = new PGPSecretKeyInfoFromParams( 
KEY_ID_HEX[i], KEY_PASS_STR, KEY_FILE );
 
             // then
             assertThat( info.getKeyId(), is( KEY_ID[i] ) );

Reply via email to