Author: tchemit Date: Wed Nov 13 21:01:00 2013 New Revision: 1541710 URL: http://svn.apache.org/r1541710 Log: MSHARED-306 - keystore and alias parameters can be used for both sign and verify jarsigner tool + add a little file in the jar to sign (jarsigner 1.7 consider it as not signer if jar is empty)
Modified: maven/shared/trunk/maven-jarsigner/src/main/java/org/apache/maven/shared/jarsigner/AbstractJarSignerRequest.java maven/shared/trunk/maven-jarsigner/src/main/java/org/apache/maven/shared/jarsigner/JarSignerCommandLineBuilder.java maven/shared/trunk/maven-jarsigner/src/main/java/org/apache/maven/shared/jarsigner/JarSignerRequest.java maven/shared/trunk/maven-jarsigner/src/main/java/org/apache/maven/shared/jarsigner/JarSignerSignRequest.java maven/shared/trunk/maven-jarsigner/src/test/java/org/apache/maven/shared/jarsigner/SimpleJarSignTest.java maven/shared/trunk/maven-jarsigner/src/test/simple.jar Modified: maven/shared/trunk/maven-jarsigner/src/main/java/org/apache/maven/shared/jarsigner/AbstractJarSignerRequest.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-jarsigner/src/main/java/org/apache/maven/shared/jarsigner/AbstractJarSignerRequest.java?rev=1541710&r1=1541709&r2=1541710&view=diff ============================================================================== --- maven/shared/trunk/maven-jarsigner/src/main/java/org/apache/maven/shared/jarsigner/AbstractJarSignerRequest.java (original) +++ maven/shared/trunk/maven-jarsigner/src/main/java/org/apache/maven/shared/jarsigner/AbstractJarSignerRequest.java Wed Nov 13 21:01:00 2013 @@ -40,6 +40,16 @@ public abstract class AbstractJarSignerR private boolean verbose; /** + * See <a href="http://docs.oracle.com/javase/6/docs/technotes/tools/windows/jarsigner.html#Options">options</a>. + */ + private String keystore; + + /** + * See <a href="http://docs.oracle.com/javase/6/docs/technotes/tools/windows/jarsigner.html#Options">options</a>. + */ + private String alias; + + /** * The maximum memory available to the JAR signer, e.g. <code>256M</code>. See <a * href="http://docs.oracle.com/javase/6/docs/technotes/tools/windows/java.html#Xms">-Xmx</a> for more details. */ @@ -76,6 +86,22 @@ public abstract class AbstractJarSignerR /** * {@inheritDoc} */ + public String getKeystore() + { + return keystore; + } + + /** + * {@inheritDoc} + */ + public String getAlias() + { + return alias; + } + + /** + * {@inheritDoc} + */ public String getMaxMemory() { return maxMemory; @@ -124,6 +150,22 @@ public abstract class AbstractJarSignerR /** * {@inheritDoc} */ + public void setKeystore( String keystore ) + { + this.keystore = keystore; + } + + /** + * {@inheritDoc} + */ + public void setAlias( String alias ) + { + this.alias = alias; + } + + /** + * {@inheritDoc} + */ public void setMaxMemory( String maxMemory ) { this.maxMemory = maxMemory; Modified: maven/shared/trunk/maven-jarsigner/src/main/java/org/apache/maven/shared/jarsigner/JarSignerCommandLineBuilder.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-jarsigner/src/main/java/org/apache/maven/shared/jarsigner/JarSignerCommandLineBuilder.java?rev=1541710&r1=1541709&r2=1541710&view=diff ============================================================================== --- maven/shared/trunk/maven-jarsigner/src/main/java/org/apache/maven/shared/jarsigner/JarSignerCommandLineBuilder.java (original) +++ maven/shared/trunk/maven-jarsigner/src/main/java/org/apache/maven/shared/jarsigner/JarSignerCommandLineBuilder.java Wed Nov 13 21:01:00 2013 @@ -65,7 +65,14 @@ public class JarSignerCommandLineBuilder cli.createArg().setValue( "-verbose" ); } - if (request.isProtectedAuthenticationPath()) + String keystore = request.getKeystore(); + if ( !StringUtils.isEmpty( keystore ) ) + { + cli.createArg().setValue( "-keystore" ); + cli.createArg().setValue( keystore ); + } + + if ( request.isProtectedAuthenticationPath() ) { cli.createArg().setValue( "-protected" ); } @@ -92,6 +99,14 @@ public class JarSignerCommandLineBuilder build( (JarSignerVerifyRequest) request, cli ); } + cli.createArg().setFile( request.getArchive() ); + + String alias = request.getAlias(); + if ( !StringUtils.isEmpty( alias ) ) + { + cli.createArg().setValue( alias ); + } + return cli; } @@ -121,13 +136,6 @@ public class JarSignerCommandLineBuilder protected void build( JarSignerSignRequest request, Commandline cli ) { - String keystore = request.getKeystore(); - if ( !StringUtils.isEmpty( keystore ) ) - { - cli.createArg().setValue( "-keystore" ); - cli.createArg().setValue( keystore ); - } - String storepass = request.getStorepass(); if ( !StringUtils.isEmpty( storepass ) ) { @@ -197,18 +205,9 @@ public class JarSignerCommandLineBuilder cli.createArg().setValue( "-signedjar" ); cli.createArg().setValue( signedjar.getAbsolutePath() ); } - cli.createArg().setFile( request.getArchive() ); - - String alias = request.getAlias(); - if ( !StringUtils.isEmpty( alias ) ) - { - cli.createArg().setValue( alias ); - } - - } - protected Commandline build( JarSignerVerifyRequest request, Commandline cli ) + protected void build( JarSignerVerifyRequest request, Commandline cli ) throws CommandLineConfigurationException { cli.createArg( true ).setValue( "-verify" ); @@ -217,8 +216,5 @@ public class JarSignerCommandLineBuilder { cli.createArg().setValue( "-certs" ); } - - cli.createArg().setFile( request.getArchive() ); - return cli; } } Modified: maven/shared/trunk/maven-jarsigner/src/main/java/org/apache/maven/shared/jarsigner/JarSignerRequest.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-jarsigner/src/main/java/org/apache/maven/shared/jarsigner/JarSignerRequest.java?rev=1541710&r1=1541709&r2=1541710&view=diff ============================================================================== --- maven/shared/trunk/maven-jarsigner/src/main/java/org/apache/maven/shared/jarsigner/JarSignerRequest.java (original) +++ maven/shared/trunk/maven-jarsigner/src/main/java/org/apache/maven/shared/jarsigner/JarSignerRequest.java Wed Nov 13 21:01:00 2013 @@ -39,10 +39,23 @@ public interface JarSignerRequest * * @return the value of the {@code verbose} field. */ - boolean isVerbose(); /** + * Gets the value of the {@code keystore} field. + * + * @return the value of the {@code keystore} field. + */ + String getKeystore(); + + /** + * Gets the value of the {@code alias} field. + * + * @return the value of the {@code alias} field. + */ + String getAlias(); + + /** * Gets the value of the {@code maxMemory} field. * * @return the value of the {@code maxMemory} field. @@ -88,6 +101,20 @@ public interface JarSignerRequest void setVerbose( boolean verbose ); /** + * Sets the new given value to the field {@code keystore} of the request. + * + * @param keystore the new value of the field {@code keystore}. + */ + void setKeystore( String keystore); + + /** + * Sets the new given value to the field {@code alias} of the request. + * + * @param alias the new value of the field {@code alias}. + */ + void setAlias( String alias); + + /** * Sets the new given value to the field {@code maxMemory} of the request. * * @param maxMemory the new value of the field {@code maxMemory}. Modified: maven/shared/trunk/maven-jarsigner/src/main/java/org/apache/maven/shared/jarsigner/JarSignerSignRequest.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-jarsigner/src/main/java/org/apache/maven/shared/jarsigner/JarSignerSignRequest.java?rev=1541710&r1=1541709&r2=1541710&view=diff ============================================================================== --- maven/shared/trunk/maven-jarsigner/src/main/java/org/apache/maven/shared/jarsigner/JarSignerSignRequest.java (original) +++ maven/shared/trunk/maven-jarsigner/src/main/java/org/apache/maven/shared/jarsigner/JarSignerSignRequest.java Wed Nov 13 21:01:00 2013 @@ -34,11 +34,6 @@ public class JarSignerSignRequest /** * See <a href="http://docs.oracle.com/javase/6/docs/technotes/tools/windows/jarsigner.html#Options">options</a>. */ - private String keystore; - - /** - * See <a href="http://docs.oracle.com/javase/6/docs/technotes/tools/windows/jarsigner.html#Options">options</a>. - */ private String storepass; /** @@ -71,10 +66,6 @@ public class JarSignerSignRequest */ private String providerArg; - /** - * See <a href="http://docs.oracle.com/javase/6/docs/technotes/tools/windows/jarsigner.html#Options">options</a>. - */ - private String alias; /** * See <a href="http://docs.oracle.com/javase/6/docs/technotes/tools/windows/jarsigner.html#Options">options</a>. @@ -92,11 +83,6 @@ public class JarSignerSignRequest protected File signedjar; - public String getKeystore() - { - return keystore; - } - public String getStorepass() { return storepass; @@ -132,10 +118,6 @@ public class JarSignerSignRequest return providerArg; } - public String getAlias() - { - return alias; - } public String getTsaLocation() { @@ -147,11 +129,6 @@ public class JarSignerSignRequest return tsaAlias; } - public void setKeystore( String keystore ) - { - this.keystore = keystore; - } - public void setStorepass( String storepass ) { this.storepass = storepass; @@ -187,11 +164,6 @@ public class JarSignerSignRequest this.providerArg = providerArg; } - public void setAlias( String alias ) - { - this.alias = alias; - } - public void setTsaLocation( String tsaLocation ) { this.tsaLocation = tsaLocation; Modified: maven/shared/trunk/maven-jarsigner/src/test/java/org/apache/maven/shared/jarsigner/SimpleJarSignTest.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-jarsigner/src/test/java/org/apache/maven/shared/jarsigner/SimpleJarSignTest.java?rev=1541710&r1=1541709&r2=1541710&view=diff ============================================================================== --- maven/shared/trunk/maven-jarsigner/src/test/java/org/apache/maven/shared/jarsigner/SimpleJarSignTest.java (original) +++ maven/shared/trunk/maven-jarsigner/src/test/java/org/apache/maven/shared/jarsigner/SimpleJarSignTest.java Wed Nov 13 21:01:00 2013 @@ -78,6 +78,8 @@ public class SimpleJarSignTest request.setCerts( true ); request.setVerbose( true ); request.setArchive( new File( "target/ssimple.jar" ) ); + request.setKeystore( "src/test/keystore" ); + request.setAlias( "foo_alias" ); jarSignerResult = jarSigner.execute( request ); assertEquals( "not exit code 0 " + jarSignerResult.getExecutionException(), 0, jarSignerResult.getExitCode() ); Modified: maven/shared/trunk/maven-jarsigner/src/test/simple.jar URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-jarsigner/src/test/simple.jar?rev=1541710&r1=1541709&r2=1541710&view=diff ============================================================================== Files maven/shared/trunk/maven-jarsigner/src/test/simple.jar (original) and maven/shared/trunk/maven-jarsigner/src/test/simple.jar Wed Nov 13 21:01:00 2013 differ