[ 
http://jira.codehaus.org/browse/MGPG-18?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=197180#action_197180
 ] 

Geoffrey Wiseman edited comment on MGPG-18 at 11/4/09 8:28 AM:
---------------------------------------------------------------

This is the simplest patch I can imagine to improve the situation.  It's not a 
very good solution, but it least explains the problem.  A more workable 
solution would be to support signing previously-generated files, I would think.

{code}
### Eclipse Workspace Patch 1.0
#P maven-gpg-plugin
Index: src/main/java/org/apache/maven/plugin/gpg/GpgSignAttachedMojo.java
===================================================================
--- src/main/java/org/apache/maven/plugin/gpg/GpgSignAttachedMojo.java  
(revision 832750)
+++ src/main/java/org/apache/maven/plugin/gpg/GpgSignAttachedMojo.java  
(working copy)
@@ -212,6 +212,9 @@
             // 
----------------------------------------------------------------------------
 
             File projectArtifact = project.getArtifact().getFile();
+            if( projectArtifact == null ) {
+               throw new MojoExecutionException( "Cannot find file for 
artifact " + project.getArtifact() + "; gpg signing must occur on the same 
invocation as the packaging." );
+            }
 
             File projectArtifactSignature = 
signer.generateSignatureForArtifact( projectArtifact, pass );
{code} 


      was (Author: diathesis2):
    This is the simplest patch I can imagine to improve the situation.  It's 
not a very good solution, but it least explains the problem.  A more workable 
solution would be to support signing previously-generated files, I would think.

### Eclipse Workspace Patch 1.0
#P maven-gpg-plugin
Index: src/main/java/org/apache/maven/plugin/gpg/GpgSignAttachedMojo.java
===================================================================
--- src/main/java/org/apache/maven/plugin/gpg/GpgSignAttachedMojo.java  
(revision 832750)
+++ src/main/java/org/apache/maven/plugin/gpg/GpgSignAttachedMojo.java  
(working copy)
@@ -212,6 +212,9 @@
             // 
----------------------------------------------------------------------------
 
             File projectArtifact = project.getArtifact().getFile();
+            if( projectArtifact == null ) {
+               throw new MojoExecutionException( "Cannot find file for 
artifact " + project.getArtifact() + "; gpg signing must occur on the same 
invocation as the packaging." );
+            }
 
             File projectArtifactSignature = 
signer.generateSignatureForArtifact( projectArtifact, pass );
 

  
> NPE in GpgSigner
> ----------------
>
>                 Key: MGPG-18
>                 URL: http://jira.codehaus.org/browse/MGPG-18
>             Project: Maven 2.x GPG Plugin
>          Issue Type: Bug
>    Affects Versions: 1.0-alpha-4
>            Reporter: Geoffrey Wiseman
>            Priority: Minor
>
> If I run "mvn package gpg:sign", this works.  If I run "mvn gpg:sign", I get 
> the following stack trace:
> {code}
> java.lang.NullPointerException
>       at 
> org.apache.maven.plugin.gpg.GpgSigner.generateSignatureForArtifact(GpgSigner.java:119)
>       at 
> org.apache.maven.plugin.gpg.GpgSignAttachedMojo.execute(GpgSignAttachedMojo.java:228)
>       at 
> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
>       at 
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
> {code}
> After running this through a debugger, I can see that this is because the 
> 'file' object (project.getArtifact().getFile()) is null, which seems to be 
> the case any time the artifact wasn't generated in this invocation of Maven.  
> At the very least, this should result in a good error message, although it 
> would be nice if "gpg:sign" would work on an artifact that was 
> previously-generated.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to