Author: ogusakov
Date: Mon Dec 15 16:04:14 2008
New Revision: 726880
URL: http://svn.apache.org/viewvc?rev=726880&view=rev
Log:
[MERCURY-56] verification configuration for mercury ant tasks done, PGP unit
test works on osx. Need test keyrings for other platforms.
Added:
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/pgp/
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/pgp/pubring.gpg
(with props)
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/pgp/secring.gpg
(with props)
Modified:
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/build.xml
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Config.java
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Messages.properties
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/WriteTask.java
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/resources/org/apache/maven/mercury/ant/tasks/antlib.xml
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/java/org/apache/maven/mercury/ant/tasks/MecuryAntTest.java
maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactBasicMetadata.java
maven/mercury/trunk/mercury-event/src/test/java/org/apache/maven/mercury/event/EventFrameworkTest.java
maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/ReadWriteTest.java
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyTreeBuilder.java
maven/mercury/trunk/mercury-repo/mercury-repo-cache-fs/src/main/java/org/apache/maven/mercury/repository/cache/fs/MetadataCacheFs.java
maven/mercury/trunk/mercury-repo/mercury-repo-virtual/src/main/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReader.java
maven/mercury/trunk/mercury-repo/mercury-repo-virtual/src/test/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReaderTest.java
maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/FileUtil.java
Modified: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/build.xml
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant/mercury-ant-tasks/build.xml?rev=726880&r1=726879&r2=726880&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-ant/mercury-ant-tasks/build.xml (original)
+++ maven/mercury/trunk/mercury-ant/mercury-ant-tasks/build.xml Mon Dec 15
16:04:14 2008
@@ -19,10 +19,34 @@
<delete dir="${local.repo.dir}"/>
<mkdir dir="${local.repo.dir}"/>
- <merc:config id="conf">
+ <merc:config id="conf">
<merc:repo id="localRepo" dir="${local.repo.dir}"/>
<merc:repo id="central" url="http://repo1.maven.org/maven2"/>
</merc:config>
+
+ <property name="local.verify.dir"
value="${basedir}/target/test-verify-repo"/>
+ <delete dir="${local.verify.dir}"/>
+ <mkdir dir="${local.verify.dir}"/>
+
+ <merc:config id="verification-conf">
+
+ <merc:repo id="localVerifyRepo" dir="${local.verify.dir}">
+
+ <merc:verifywrite type="pgp">
+ <property name="keyring"
value="${basedir}/target/test-classes/pgp/secring.gpg"/>
+ <property name="pass" value="testKey82"/>
+ <property name="key" value="0EDB5D91141BC4F2"/>
+ </merc:verifywrite>
+
+ <merc:verifyread type="pgp">
+ <property name="keyring"
value="${basedir}/target/test-classes/pgp/pubring.gpg"/>
+ </merc:verifyread>
+
+ </merc:repo>
+
+
+ </merc:config>
+
<merc:dep id="my-libs">
<merc:dependency name="asm:asm:3.0"/>
@@ -59,7 +83,13 @@
name="t:t:1.0"
file="${jar.target}/t.jar"
/>
+ </target>
+ <target name="deploy-verify" depends="compile">
+ <merc:write repoid="localVerifyRepo"
+ name="t:t:1.0"
+ file="${jar.target}/t.jar"
+ />
</target>
</project>
\ No newline at end of file
Modified:
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Config.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Config.java?rev=726880&r1=726879&r2=726880&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Config.java
(original)
+++
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Config.java
Mon Dec 15 16:04:14 2008
@@ -6,9 +6,18 @@
import java.net.URL;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
import org.apache.maven.mercury.MavenDependencyProcessor;
import org.apache.maven.mercury.builder.api.DependencyProcessor;
+import org.apache.maven.mercury.crypto.api.StreamVerifierAttributes;
+import org.apache.maven.mercury.crypto.api.StreamVerifierFactory;
+import org.apache.maven.mercury.crypto.pgp.PgpStreamVerifierFactory;
+import org.apache.maven.mercury.crypto.sha.SHA1VerifierFactory;
import org.apache.maven.mercury.repository.api.Repository;
import org.apache.maven.mercury.repository.local.m2.LocalRepositoryM2;
import org.apache.maven.mercury.repository.remote.m2.RemoteRepositoryM2;
@@ -17,6 +26,7 @@
import org.apache.maven.mercury.util.FileUtil;
import org.apache.maven.mercury.util.Util;
import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.taskdefs.Property;
import org.codehaus.plexus.lang.DefaultLanguage;
import org.codehaus.plexus.lang.Language;
@@ -30,7 +40,7 @@
public class Config
extends AbstractDataType
{
- private static final Language LANG = new DefaultLanguage( Config.class );
+ private static final Language _lang = new DefaultLanguage( Config.class );
Collection<Repo> _repos;
@@ -50,72 +60,7 @@
_repositories = new ArrayList<Repository>( _repos.size() );
for( Repo repo : _repos )
- {
- if( repo.isLocal() )
- {
- DependencyProcessor dp = new MavenDependencyProcessor();
-
- LocalRepositoryM2 r = new LocalRepositoryM2( repo.getId(), new File(
repo._dir ), dp );
-
- _repositories.add( r );
- }
- else
- {
- DependencyProcessor dp = new MavenDependencyProcessor();
-
- Server server;
- try
- {
- server = new Server( repo.getId(), new URL( repo._url ) );
- }
- catch( MalformedURLException e )
- {
- throw new BuildException(e);
- }
-
- if( repo._authid != null )
- {
- Auth au = null;
-
- if( _auths == null )
- throw new BuildException( LANG.getMessage( "config.no.auths",
repo._authid ) );
-
- for( Auth a : _auths )
- if( repo._authid.equals( a.getId() ) )
- au = a;
-
- if( au == null )
- throw new BuildException( LANG.getMessage(
"config.no.auth.for.id", repo._authid ) );
-
- Credentials serverCred = createCredentials( au );
-
- server.setServerCredentials( serverCred );
- }
-
- if( repo._proxyauthid != null )
- {
- Auth au = null;
-
- if( _auths == null )
- throw new BuildException( LANG.getMessage(
"config.no.proxy.auths", repo._proxyauthid ) );
-
- for( Auth a : _auths )
- if( repo._proxyauthid.equals( a.getId() ) )
- au = a;
-
- if( au == null )
- throw new BuildException( LANG.getMessage(
"config.no.proxy.auth.for.id", repo._proxyauthid ) );
-
- Credentials proxyCred = createCredentials( au );
-
- server.setProxyCredentials( proxyCred );
- }
-
- RemoteRepositoryM2 r = new RemoteRepositoryM2( server, dp );
-
- _repositories.add( r );
- }
- }
+ _repositories.add( repo.getRepository() );
return _repositories;
}
@@ -128,7 +73,7 @@
{
File cf = new File( a._certfile );
if( ! cf.exists() )
- throw new BuildException( LANG.getMessage( "config.no.cert.file",
a._certfile ) );
+ throw new BuildException( _lang.getMessage( "config.no.cert.file",
a._certfile ) );
try
{
@@ -178,6 +123,22 @@
String _authid;
String _proxyauthid;
+ boolean _readable = true;
+ boolean _writeable = false;
+
+ List<Verify> _writeVerifiers;
+ List<Verify> _readVerifiers;
+
+ public void setReadable( boolean readable )
+ {
+ this._readable = readable;
+ }
+
+ public void setWriteable( boolean writeable )
+ {
+ this._writeable = writeable;
+ }
+
public void setUrl( String url )
{
this._url = url;
@@ -207,6 +168,135 @@
{
return _dir != null;
}
+
+ public Verify createVerifywrite()
+ {
+ if( _writeVerifiers == null )
+ _writeVerifiers = new ArrayList<Verify>(2);
+
+ Verify v = new Verify();
+
+ _writeVerifiers.add( v );
+
+ return v;
+ }
+
+ public Verify createVerifyread()
+ {
+ if( _readVerifiers == null )
+ _readVerifiers = new ArrayList<Verify>(2);
+
+ Verify v = new Verify();
+
+ _readVerifiers.add( v );
+
+ return v;
+ }
+
+ private Set<StreamVerifierFactory> getVerifiers( List<Verify> vlist )
+ {
+ if( Util.isEmpty( vlist ) )
+ return null;
+
+ Set<StreamVerifierFactory> facs = new HashSet<StreamVerifierFactory>(
vlist.size() );
+
+ for( Verify v : vlist )
+ facs.add( v.getVerifierFactory() );
+
+ return facs;
+
+ }
+
+ public Repository getRepository()
+ {
+ Repository r = null;
+
+ if( isLocal() )
+ {
+ DependencyProcessor dp = new MavenDependencyProcessor();
+
+ Server server;
+ try
+ {
+ server = new Server( getId(), new File( _dir ).toURL() );
+
+ server.setReaderStreamVerifierFactories( getVerifiers(
_readVerifiers ) );
+ server.setWriterStreamVerifierFactories( getVerifiers(
_writeVerifiers ) );
+ }
+ catch( MalformedURLException e )
+ {
+ throw new BuildException( e );
+ }
+
+ r = new LocalRepositoryM2( server, dp );
+ }
+ else
+ {
+ DependencyProcessor dp = new MavenDependencyProcessor();
+
+ Server server;
+ try
+ {
+ server = new Server( getId(), new URL( _url ) );
+
+ server.setReaderStreamVerifierFactories( getVerifiers(
_readVerifiers ) );
+ server.setWriterStreamVerifierFactories( getVerifiers(
_writeVerifiers ) );
+ }
+ catch( MalformedURLException e )
+ {
+ throw new BuildException(e);
+ }
+
+ if( _authid != null )
+ {
+ Auth au = null;
+
+ if( _auths == null )
+ throw new BuildException( _lang.getMessage( "config.no.auths",
_authid ) );
+
+ for( Auth a : _auths )
+ if( _authid.equals( a.getId() ) )
+ au = a;
+
+ if( au == null )
+ throw new BuildException( _lang.getMessage(
"config.no.auth.for.id", _authid ) );
+
+ Credentials serverCred = createCredentials( au );
+
+ server.setServerCredentials( serverCred );
+ }
+
+ if( _proxyauthid != null )
+ {
+ Auth au = null;
+
+ if( _auths == null )
+ throw new BuildException( _lang.getMessage(
"config.no.proxy.auths", _proxyauthid ) );
+
+ for( Auth a : _auths )
+ if( _proxyauthid.equals( a.getId() ) )
+ au = a;
+
+ if( au == null )
+ throw new BuildException( _lang.getMessage(
"config.no.proxy.auth.for.id", _proxyauthid ) );
+
+ Credentials proxyCred = createCredentials( au );
+
+ server.setProxyCredentials( proxyCred );
+
+ }
+
+
+ server.setReaderStreamVerifierFactories( getVerifiers( _readVerifiers
) );
+ server.setWriterStreamVerifierFactories( getVerifiers( _writeVerifiers
) );
+
+ r = new RemoteRepositoryM2( server, dp );
+
+ }
+
+ return r;
+ }
+
}
public class Auth
@@ -231,5 +321,107 @@
this._certfile = certfile;
}
}
+
+ public class Verify
+ extends AbstractDataType
+ {
+ public static final String PGP = "pgp";
+ public static final String SHA1 = "sha1";
+
+ String _type;
+ boolean _lenient = true;
+ boolean _sufficient = false;
+ Map<String, String> _properties;
+
+ public void setType( String type )
+ {
+ this._type = type;
+ }
+
+ public void setLenient( boolean lenient )
+ {
+ this._lenient = lenient;
+ }
+
+ public void setSufficient( boolean sufficient )
+ {
+ this._sufficient = sufficient;
+ }
+
+ public void addConfiguredProperty( Property property )
+ {
+ if( _properties == null )
+ _properties = new HashMap<String,String>(4);
+
+ _properties.put( property.getName(), property.getValue() );
+ }
+
+ public StreamVerifierFactory getVerifierFactory()
+ throws BuildException
+ {
+ if( _type == null )
+ throw new BuildException( _lang.getMessage(
"config.repo.verifier.no.type" ) );
+
+ if( _properties == null || _properties.isEmpty() )
+ throw new BuildException( _lang.getMessage(
"config.repo.verifier.no.properties", _type ) );
+
+ if( PGP.equals( _type ) )
+ {
+ String keyRing = _properties.get( "keyring" );
+
+ if( keyRing == null )
+ throw new BuildException( _lang.getMessage(
"config.repo.verifier.pgp.no.keyring" ) );
+
+ String pass = _properties.get( "pass" );
+
+ if( pass == null ) // reader configuration
+ {
+ try
+ {
+ PgpStreamVerifierFactory fac =
+ new PgpStreamVerifierFactory(
+ new StreamVerifierAttributes(
PgpStreamVerifierFactory.DEFAULT_EXTENSION, _lenient, _sufficient )
+ , FileUtil.toStream( keyRing )
+ );
+ return fac;
+ }
+ catch( Exception e )
+ {
+ throw new BuildException( e );
+ }
+ }
+ else // writer configuration
+ {
+ String keyId = _properties.get( "key" );
+
+ if( keyId == null || keyId.length() != 16 )
+ throw new BuildException( _lang.getMessage(
"config.repo.verifier.pgp.bad.keyid", keyId, keyRing ) );
+
+ try
+ {
+ PgpStreamVerifierFactory fac =
+ new PgpStreamVerifierFactory(
+ new StreamVerifierAttributes(
PgpStreamVerifierFactory.DEFAULT_EXTENSION, _lenient, _sufficient )
+ , FileUtil.toStream( keyRing ), keyId, pass
+ );
+ return fac;
+ }
+ catch( Exception e )
+ {
+ throw new BuildException( e );
+ }
+
+ }
+ }
+ else if( SHA1.equals( _type ) )
+ {
+ SHA1VerifierFactory fac = new SHA1VerifierFactory( new
StreamVerifierAttributes( SHA1VerifierFactory.DEFAULT_EXTENSION, _lenient,
_sufficient ) );
+
+ return fac;
+ }
+
+ throw new BuildException( _lang.getMessage(
"config.repo.verifier.bad.type", _type ) );
+ }
+ }
}
Modified:
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Messages.properties
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Messages.properties?rev=726880&r1=726879&r2=726880&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Messages.properties
(original)
+++
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Messages.properties
Mon Dec 15 16:04:14 2008
@@ -30,3 +30,9 @@
config.no.auths=No authentications are declared. Looking for auth id {0}
config.no.auth.for.id=No authentications are declared. Looking for auth id {0}
config.no.cert.file=cert file {0} does not exist
+
+config.repo.verifier.no.type=Verifier configuration does not have type
attribute - don't know what to do
+config.repo.verifier.no.properties=Verifier configuration {0} does not have
properties - don't know what to do
+config.repo.verifier.pgp.no.keyring=PGP verifier configuration does not have a
keyring property
+config.repo.verifier.bad.type=Verfier does not understand type {0}
+config.repo.verifier.pgp.bad.keyid=Bad key "{0}" for secret keyring {1};
expected to see 16 hex number, but did not find them
Modified:
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/WriteTask.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/WriteTask.java?rev=726880&r1=726879&r2=726880&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/WriteTask.java
(original)
+++
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/WriteTask.java
Mon Dec 15 16:04:14 2008
@@ -1,35 +1,18 @@
package org.apache.maven.mercury.ant.tasks;
import java.io.File;
-import java.io.IOException;
-import java.net.MalformedURLException;
import java.util.ArrayList;
import java.util.Collection;
-import java.util.HashMap;
import java.util.Hashtable;
-import java.util.List;
-import java.util.Map;
import org.apache.maven.mercury.artifact.Artifact;
import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
-import org.apache.maven.mercury.artifact.ArtifactMetadata;
-import org.apache.maven.mercury.artifact.ArtifactScopeEnum;
import org.apache.maven.mercury.artifact.DefaultArtifact;
-import org.apache.maven.mercury.metadata.DependencyBuilder;
-import org.apache.maven.mercury.metadata.DependencyBuilderFactory;
-import org.apache.maven.mercury.repository.api.ArtifactResults;
-import org.apache.maven.mercury.repository.api.LocalRepository;
import org.apache.maven.mercury.repository.api.Repository;
-import org.apache.maven.mercury.repository.api.RepositoryException;
-import org.apache.maven.mercury.repository.virtual.VirtualRepositoryReader;
import org.apache.maven.mercury.util.Util;
import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.types.FileList;
-import org.apache.tools.ant.types.FileSet;
-import org.apache.tools.ant.types.Path;
import org.codehaus.plexus.lang.DefaultLanguage;
import org.codehaus.plexus.lang.Language;
-import org.omg.stub.java.rmi._Remote_Stub;
/**
*
@@ -41,10 +24,10 @@
public class WriteTask
extends AbstractAntTask
{
- private static final Language LANG = new DefaultLanguage( WriteTask.class );
+ private static final Language _lang = new DefaultLanguage( WriteTask.class );
- public static final String TASK_NAME = LANG.getMessage( "write.task.name" );
- public static final String TASK_DESC = LANG.getMessage( "write.task.desc" );
+ public static final String TASK_NAME = _lang.getMessage( "write.task.name" );
+ public static final String TASK_DESC = _lang.getMessage( "write.task.desc" );
private String _repoid;
private String _file;
@@ -99,7 +82,7 @@
{
if( _repoid == null )
{
- throwIfEnabled( LANG.getMessage( "write.repo.id.mandatory" ) );
+ throwIfEnabled( _lang.getMessage( "write.repo.id.mandatory" ) );
return;
}
@@ -107,13 +90,13 @@
if( repo == null )
{
- throwIfEnabled( LANG.getMessage( "write.repo.not.found", _repoid ) );
+ throwIfEnabled( _lang.getMessage( "write.repo.not.found", _repoid ) );
return;
}
if( _file == null )
{
- throwIfEnabled( LANG.getMessage( "write.file.mandatory" ) );
+ throwIfEnabled( _lang.getMessage( "write.file.mandatory" ) );
return;
}
@@ -121,25 +104,25 @@
if( !file.exists() )
{
- throwIfEnabled( LANG.getMessage( "write.file.not.found", _file, _repoid
) );
+ throwIfEnabled( _lang.getMessage( "write.file.not.found", _file, _repoid
) );
return;
}
if( Util.isEmpty( _name ) && Util.isEmpty( _pom ) )
{
- throwIfEnabled( LANG.getMessage( "write.no.name.no.pom", _file, _repoid
) );
+ throwIfEnabled( _lang.getMessage( "write.no.name.no.pom", _file, _repoid
) );
return;
}
if( !Util.isEmpty( _name ) && !Util.isEmpty( _pom ) )
{
- throwIfEnabled( LANG.getMessage( "write.no.name.no.pom", _file, _repoid
) );
+ throwIfEnabled( _lang.getMessage( "write.no.name.no.pom", _file, _repoid
) );
return;
}
if( !Util.isEmpty( _pom ) )
{
- throwIfEnabled( LANG.getMessage( "write.pom.not.supported", _file,
_repoid ) );
+ throwIfEnabled( _lang.getMessage( "write.pom.not.supported", _file,
_repoid ) );
return;
}
@@ -147,8 +130,6 @@
{
DefaultArtifact a = null;
- File pom = null;
-
if( !Util.isEmpty( _name ) )
{
a = new DefaultArtifact( new ArtifactBasicMetadata(_name) );
@@ -176,7 +157,7 @@
}
else
{
- throwIfEnabled( LANG.getMessage( "write.pom.not.supported", _file,
_repoid ) );
+ throwIfEnabled( _lang.getMessage( "write.pom.not.supported", _file,
_repoid ) );
return;
}
Modified:
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/resources/org/apache/maven/mercury/ant/tasks/antlib.xml
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/resources/org/apache/maven/mercury/ant/tasks/antlib.xml?rev=726880&r1=726879&r2=726880&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/resources/org/apache/maven/mercury/ant/tasks/antlib.xml
(original)
+++
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/resources/org/apache/maven/mercury/ant/tasks/antlib.xml
Mon Dec 15 16:04:14 2008
@@ -5,7 +5,8 @@
<taskdef name="resolve"
classname="org.apache.maven.mercury.ant.tasks.ResolveTask"/>
<taskdef name="write"
classname="org.apache.maven.mercury.ant.tasks.WriteTask"/>
- <typedef name="dep" classname="org.apache.maven.mercury.ant.tasks.Dep"/>
- <typedef name="config"
classname="org.apache.maven.mercury.ant.tasks.Config"/>
+ <typedef name="dep"
classname="org.apache.maven.mercury.ant.tasks.Dep"/>
+ <typedef name="depdependencies"
classname="org.apache.maven.mercury.ant.tasks.Dep"/>
+ <typedef name="config"
classname="org.apache.maven.mercury.ant.tasks.Config"/>
</antlib>
Modified:
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/java/org/apache/maven/mercury/ant/tasks/MecuryAntTest.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/java/org/apache/maven/mercury/ant/tasks/MecuryAntTest.java?rev=726880&r1=726879&r2=726880&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/java/org/apache/maven/mercury/ant/tasks/MecuryAntTest.java
(original)
+++
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/java/org/apache/maven/mercury/ant/tasks/MecuryAntTest.java
Mon Dec 15 16:04:14 2008
@@ -24,6 +24,9 @@
static final String _writeRepoDir = "./target/test-repo";
static File _writeRepoDirFile;
+ static final String _verifyRepoDir = "./target/test-verify-repo";
+ static File _verifyRepoDirFile;
+
static final String _compileDir = "./target/compile-classes";
static File _compileDirFile;
@@ -127,6 +130,10 @@
_writeRepoDirFile = new File( _writeRepoDir );
FileUtil.delete( _writeRepoDirFile );
_writeRepoDirFile.mkdirs();
+
+ _verifyRepoDirFile = new File( _verifyRepoDir );
+ FileUtil.delete( _verifyRepoDirFile );
+ _verifyRepoDirFile.mkdirs();
_compileDirFile = new File( _compileDir );
FileUtil.delete( _compileDirFile );
@@ -216,12 +223,33 @@
System.out.flush();
File af = new File( _writeRepoDirFile, "/t/t/1.0/t-1.0.jar" );
-
assertFalse( af.exists() );
+
+ File ap = new File( _writeRepoDirFile, "/t/t/1.0/t-1.0.pom" );
+ assertFalse( ap.exists() );
executeTarget("deploy");
assertTrue( af.exists() );
+ assertTrue( ap.exists() );
+ }
+ //-----------------------------------
+ public void testVerifyPgp()
+ {
+ String title = "write-verify-pgp";
+ System.out.println("========> start "+title);
+ System.out.flush();
+
+ File af = new File( _verifyRepoDirFile, "/t/t/1.0/t-1.0.jar" );
+ assertFalse( af.exists() );
+
+ File sig = new File( _verifyRepoDirFile, "/t/t/1.0/t-1.0.jar.asc" );
+ assertFalse( sig.exists() );
+
+ executeTarget("deploy-verify");
+
+ assertTrue( af.exists() );
+ assertTrue( sig.exists() );
}
//-----------------------------------
}
Added:
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/pgp/pubring.gpg
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/pgp/pubring.gpg?rev=726880&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/pgp/pubring.gpg
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added:
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/pgp/secring.gpg
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/pgp/secring.gpg?rev=726880&view=auto
==============================================================================
Binary file - no diff available.
Propchange:
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/test/resources/pgp/secring.gpg
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Modified:
maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactBasicMetadata.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactBasicMetadata.java?rev=726880&r1=726879&r2=726880&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactBasicMetadata.java
(original)
+++
maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactBasicMetadata.java
Mon Dec 15 16:04:14 2008
@@ -23,7 +23,6 @@
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
-import java.util.StringTokenizer;
import org.apache.maven.mercury.artifact.version.VersionException;
import org.apache.maven.mercury.artifact.version.VersionRange;
Modified:
maven/mercury/trunk/mercury-event/src/test/java/org/apache/maven/mercury/event/EventFrameworkTest.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-event/src/test/java/org/apache/maven/mercury/event/EventFrameworkTest.java?rev=726880&r1=726879&r2=726880&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-event/src/test/java/org/apache/maven/mercury/event/EventFrameworkTest.java
(original)
+++
maven/mercury/trunk/mercury-event/src/test/java/org/apache/maven/mercury/event/EventFrameworkTest.java
Mon Dec 15 16:04:14 2008
@@ -24,12 +24,6 @@
import junit.framework.TestCase;
-import org.apache.maven.mercury.event.EventGenerator;
-import org.apache.maven.mercury.event.EventManager;
-import org.apache.maven.mercury.event.EventTypeEnum;
-import org.apache.maven.mercury.event.GenericEvent;
-import org.apache.maven.mercury.event.MercuryEvent;
-import org.apache.maven.mercury.event.MercuryEventListener;
import org.apache.maven.mercury.event.MercuryEvent.EventMask;
/**
Modified:
maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/ReadWriteTest.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/ReadWriteTest.java?rev=726880&r1=726879&r2=726880&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/ReadWriteTest.java
(original)
+++
maven/mercury/trunk/mercury-it/src/test/java/org/apache/maven/mercury/repository/tests/ReadWriteTest.java
Mon Dec 15 16:04:14 2008
@@ -41,7 +41,6 @@
import org.apache.maven.mercury.repository.local.m2.LocalRepositoryM2;
import org.apache.maven.mercury.repository.local.m2.MetadataProcessorMock;
import org.apache.maven.mercury.repository.remote.m2.RemoteRepositoryM2;
-import org.apache.maven.mercury.repository.remote.m2.RemoteRepositoryWriterM2;
import org.apache.maven.mercury.spi.http.server.HttpTestServer;
import org.apache.maven.mercury.transport.api.Server;
Modified:
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyTreeBuilder.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyTreeBuilder.java?rev=726880&r1=726879&r2=726880&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyTreeBuilder.java
(original)
+++
maven/mercury/trunk/mercury-md/mercury-md-sat/src/main/java/org/apache/maven/mercury/metadata/DependencyTreeBuilder.java
Mon Dec 15 16:04:14 2008
@@ -31,13 +31,10 @@
import org.apache.maven.mercury.artifact.ArtifactScopeEnum;
import org.apache.maven.mercury.artifact.api.ArtifactListProcessor;
import org.apache.maven.mercury.artifact.version.VersionException;
-import org.apache.maven.mercury.artifact.version.VersionRange;
-import org.apache.maven.mercury.artifact.version.VersionRangeFactory;
import org.apache.maven.mercury.event.EventGenerator;
import org.apache.maven.mercury.event.EventManager;
import org.apache.maven.mercury.event.EventTypeEnum;
import org.apache.maven.mercury.event.GenericEvent;
-import org.apache.maven.mercury.event.MercuryEvent;
import org.apache.maven.mercury.event.MercuryEventListener;
import org.apache.maven.mercury.logging.IMercuryLogger;
import org.apache.maven.mercury.logging.MercuryLoggerManager;
@@ -62,8 +59,8 @@
{
public static final ArtifactMetadata DUMMY_ROOT = new
ArtifactMetadata("__fake:__fake:1.0");
- private static final Language LANG = new
DefaultLanguage(DependencyTreeBuilder.class);
- private static final IMercuryLogger LOG = MercuryLoggerManager.getLogger(
DependencyTreeBuilder.class );
+ private static final Language _lang = new
DefaultLanguage(DependencyTreeBuilder.class);
+ private static final IMercuryLogger _log = MercuryLoggerManager.getLogger(
DependencyTreeBuilder.class );
private Collection<MetadataTreeArtifactFilter> _filters;
private List<Comparator<MetadataTreeNode>> _comparators;
@@ -161,7 +158,7 @@
throws MetadataTreeException
{
if( Util.isEmpty( startMDs ) )
- throw new MetadataTreeException( LANG.getMessage( "empty.md.collection")
);
+ throw new MetadataTreeException( _lang.getMessage(
"empty.md.collection") );
List<MetadataTreeNode> deps = new ArrayList<MetadataTreeNode>(
startMDs.size() );
@@ -206,7 +203,7 @@
mr = _reader.readDependencies( nodeMD );
if( mr == null )
- throw new MetadataTreeException( LANG.getMessage(
"artifact.md.not.found", nodeMD.toString() ) );
+ throw new MetadataTreeException( _lang.getMessage(
"artifact.md.not.found", nodeMD.toString() ) );
MetadataTreeNode node = new MetadataTreeNode( mr, parent, nodeQuery );
@@ -236,8 +233,8 @@
for( ArtifactBasicMetadata md : dependencies )
{
-if( LOG.isDebugEnabled() )
- LOG.debug("node "+nodeQuery+", dep "+md );
+if( _log.isDebugEnabled() )
+ _log.debug("node "+nodeQuery+", dep "+md );
List<ArtifactBasicMetadata> versions = expandedDeps.get( md );
if( versions == null || versions.size() < 1 )
@@ -373,7 +370,7 @@
throws MetadataTreeException
{
if( root == null )
- throw new MetadataTreeException(LANG.getMessage( "empty.tree" ));
+ throw new MetadataTreeException(_lang.getMessage( "empty.tree" ));
try
{
@@ -396,7 +393,7 @@
throws MetadataTreeException
{
if( root == null )
- throw new MetadataTreeException(LANG.getMessage( "empty.tree" ));
+ throw new MetadataTreeException(_lang.getMessage( "empty.tree" ));
try
{
Modified:
maven/mercury/trunk/mercury-repo/mercury-repo-cache-fs/src/main/java/org/apache/maven/mercury/repository/cache/fs/MetadataCacheFs.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-cache-fs/src/main/java/org/apache/maven/mercury/repository/cache/fs/MetadataCacheFs.java?rev=726880&r1=726879&r2=726880&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-repo/mercury-repo-cache-fs/src/main/java/org/apache/maven/mercury/repository/cache/fs/MetadataCacheFs.java
(original)
+++
maven/mercury/trunk/mercury-repo/mercury-repo-cache-fs/src/main/java/org/apache/maven/mercury/repository/cache/fs/MetadataCacheFs.java
Mon Dec 15 16:04:14 2008
@@ -32,7 +32,6 @@
import org.apache.maven.mercury.event.EventManager;
import org.apache.maven.mercury.event.EventTypeEnum;
import org.apache.maven.mercury.event.GenericEvent;
-import org.apache.maven.mercury.event.MercuryEvent;
import org.apache.maven.mercury.event.MercuryEventListener;
import org.apache.maven.mercury.repository.api.MetadataCacheException;
import org.apache.maven.mercury.repository.api.MetadataCorruptionException;
@@ -63,7 +62,7 @@
public static final String EVENT_UPDATE_GAV = "update.gav";
public static final String EVENT_SAVE_RAW = "save.raw";
- private static final Language LANG = new DefaultLanguage(
RepositoryGAVMetadata.class );
+ private static final Language _lang = new DefaultLanguage(
RepositoryGAVMetadata.class );
static volatile Map<String, MetadataCacheFs> fsCaches =
Collections.synchronizedMap( new HashMap<String, MetadataCacheFs>(2) );
@@ -94,7 +93,7 @@
if( root == null
|| ( root.exists() && root.isFile() )
)
- throw new IllegalArgumentException( LANG.getMessage( "bad.root.file",
root == null ? "null" : root.getAbsolutePath() ) );
+ throw new IllegalArgumentException( _lang.getMessage( "bad.root.file",
root == null ? "null" : root.getAbsolutePath() ) );
String key = root.getCanonicalPath();
Modified:
maven/mercury/trunk/mercury-repo/mercury-repo-virtual/src/main/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReader.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-virtual/src/main/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReader.java?rev=726880&r1=726879&r2=726880&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-repo/mercury-repo-virtual/src/main/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReader.java
(original)
+++
maven/mercury/trunk/mercury-repo/mercury-repo-virtual/src/main/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReader.java
Mon Dec 15 16:04:14 2008
@@ -43,7 +43,6 @@
import org.apache.maven.mercury.event.EventManager;
import org.apache.maven.mercury.event.EventTypeEnum;
import org.apache.maven.mercury.event.GenericEvent;
-import org.apache.maven.mercury.event.MercuryEvent;
import org.apache.maven.mercury.event.MercuryEventListener;
import org.apache.maven.mercury.logging.IMercuryLogger;
import org.apache.maven.mercury.logging.MercuryLoggerManager;
@@ -92,8 +91,8 @@
/** minimum # of queue elements to consider parallelization */
private static int MIN_PARALLEL = 5;
- private static final Language LANG = new DefaultLanguage(
VirtualRepositoryReader.class );
- private static final IMercuryLogger LOG = MercuryLoggerManager.getLogger(
VirtualRepositoryReader.class );
+ private static final Language _lang = new DefaultLanguage(
VirtualRepositoryReader.class );
+ private static final IMercuryLogger _log = MercuryLoggerManager.getLogger(
VirtualRepositoryReader.class );
//----------------------------------------------------------------------------------------------------------------------------
private List<Repository> _repositories = new ArrayList<Repository>(8);
@@ -311,7 +310,7 @@
}
catch( VersionException e )
{
- throw new RepositoryException( LANG.getMessage(
"query.element.bad.version", key.toString(), e.getMessage() ) );
+ throw new RepositoryException( _lang.getMessage(
"query.element.bad.version", key.toString(), e.getMessage() ) );
}
if( keyVersionRange.isSingleton() )
@@ -499,7 +498,7 @@
List<ArtifactBasicMetadata> rejects = buckets == null ? null :
buckets.get( RepositoryReader.NULL_READER );
if( buckets == null )
- throw new RepositoryException( LANG.getMessage(
"internal.error.sorting.query", query.toString() ) );
+ throw new RepositoryException( _lang.getMessage(
"internal.error.sorting.query", query.toString() ) );
init();
@@ -523,7 +522,7 @@
ArtifactResults rrRes = rr.readArtifacts( rrQuery );
if( rrRes.hasExceptions() )
- throw new RepositoryException( LANG.getMessage(
"error.reading.existing.artifact", rrRes.getExceptions().toString(),
rr.getRepository().getId() ) );
+ throw new RepositoryException( _lang.getMessage(
"error.reading.existing.artifact", rrRes.getExceptions().toString(),
rr.getRepository().getId() ) );
if( rrRes.hasResults() )
for( ArtifactBasicMetadata bm : rrRes.getResults().keySet() )
@@ -621,8 +620,8 @@
public byte[] readMetadata( ArtifactBasicMetadata bmd )
throws MetadataReaderException
{
- if( LOG.isDebugEnabled() )
- LOG.debug( "Asking for pom: "+bmd);
+ if( _log.isDebugEnabled() )
+ _log.debug( "Asking for pom: "+bmd);
return readRawData( bmd, "", "pom" );
}
@@ -636,8 +635,8 @@
GenericEvent event = null;
String eventTag = null;
- if( LOG.isDebugEnabled() )
- LOG.debug( "request for "+bmd+", classifier="+classifier+", type="+type
);
+ if( _log.isDebugEnabled() )
+ _log.debug( "request for "+bmd+", classifier="+classifier+", type="+type
);
if( bmd == null )
throw new IllegalArgumentException("null bmd supplied");
@@ -667,8 +666,8 @@
byte [] res = null;
Quality vq = new Quality( bmd.getVersion() );
- if( LOG.isDebugEnabled() )
- LOG.debug( "quality calculated as "+vq.getQuality() == null ? "null"
:vq.getQuality().name() );
+ if( _log.isDebugEnabled() )
+ _log.debug( "quality calculated as "+vq.getQuality() == null ? "null"
:vq.getQuality().name() );
if( Quality.SNAPSHOT_QUALITY.equals( vq ) )
{
@@ -680,10 +679,10 @@
ArtifactBasicResults vRes = readVersions( query );
if( Util.isEmpty( vRes ) )
{
- if( LOG.isDebugEnabled() )
- LOG.debug( "no snapshots found - throw exception" );
+ if( _log.isDebugEnabled() )
+ _log.debug( "no snapshots found - throw exception" );
- throw new MetadataReaderException( LANG.getMessage(
"no.snapshots", bmd.toString(), classifier, type ) );
+ throw new MetadataReaderException( _lang.getMessage(
"no.snapshots", bmd.toString(), classifier, type ) );
}
@@ -698,10 +697,10 @@
}
else
{
- if( LOG.isDebugEnabled() )
- LOG.debug( "no snapshots found - throw exception" );
+ if( _log.isDebugEnabled() )
+ _log.debug( "no snapshots found - throw exception" );
- throw new MetadataReaderException( LANG.getMessage(
"no.snapshots", bmd.toString(), classifier, type ) );
+ throw new MetadataReaderException( _lang.getMessage(
"no.snapshots", bmd.toString(), classifier, type ) );
}
}
catch( Exception e )
@@ -722,8 +721,8 @@
res = rr.readRawData( bmdQuery, classifier, type );
if( res != null )
{
- if( LOG.isDebugEnabled() )
- LOG.debug( bmdQuery+" found in "+rr.getRepository().getServer()
);
+ if( _log.isDebugEnabled() )
+ _log.debug( bmdQuery+" found in "+rr.getRepository().getServer()
);
if( _eventManager != null )
eventRead.setInfo( eventRead.getInfo() );
@@ -744,8 +743,8 @@
}
}
- if( LOG.isDebugEnabled() )
- LOG.debug( "no data found, returning null" );
+ if( _log.isDebugEnabled() )
+ _log.debug( "no data found, returning null" );
return null;
}
Modified:
maven/mercury/trunk/mercury-repo/mercury-repo-virtual/src/test/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReaderTest.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-virtual/src/test/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReaderTest.java?rev=726880&r1=726879&r2=726880&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-repo/mercury-repo-virtual/src/test/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReaderTest.java
(original)
+++
maven/mercury/trunk/mercury-repo/mercury-repo-virtual/src/test/java/org/apache/maven/mercury/repository/virtual/VirtualRepositoryReaderTest.java
Mon Dec 15 16:04:14 2008
@@ -29,7 +29,6 @@
import org.apache.maven.mercury.artifact.Artifact;
import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
import org.apache.maven.mercury.artifact.DefaultArtifact;
-import org.apache.maven.mercury.builder.api.DependencyProcessor;
import org.apache.maven.mercury.event.MercuryEvent;
import org.apache.maven.mercury.event.MercuryEventListener;
import org.apache.maven.mercury.event.MercuryEvent.EventMask;
Modified:
maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/FileUtil.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/FileUtil.java?rev=726880&r1=726879&r2=726880&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/FileUtil.java
(original)
+++
maven/mercury/trunk/mercury-util/src/main/java/org/apache/maven/mercury/util/FileUtil.java
Mon Dec 15 16:04:14 2008
@@ -29,6 +29,8 @@
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.RandomAccessFile;
+import java.net.MalformedURLException;
+import java.net.URL;
import java.nio.channels.FileChannel;
import java.nio.channels.FileLock;
import java.nio.channels.OverlappingFileLockException;
@@ -81,8 +83,8 @@
public static final int K = 1024;
public static final int DEFAULT_BUFFER_SIZE = 10 * K;
//---------------------------------------------------------------------------------------------------------------
- private static final IMercuryLogger LOG = MercuryLoggerManager.getLogger(
FileUtil.class );
- private static final Language LANG = new DefaultLanguage( FileUtil.class );
+ private static final IMercuryLogger _log = MercuryLoggerManager.getLogger(
FileUtil.class );
+ private static final Language _lang = new DefaultLanguage( FileUtil.class );
private static final OverlappingFileLockException FILE_LOCKED = new
OverlappingFileLockException();
//---------------------------------------------------------------------------------------------------------------
@@ -167,7 +169,7 @@
int len = (int)file.length();
if( len == 0 )
{
- LOG.info( LANG.getMessage( "reading.empty.file",
file.getAbsolutePath() ) );
+ _log.info( _lang.getMessage( "reading.empty.file",
file.getAbsolutePath() ) );
return null;
}
@@ -215,13 +217,13 @@
}
catch( IOException e )
{
- throw new FileUtilException( LANG.getMessage(
"cannot.read.signature.file", sigFileName, e.getMessage() ) );
+ throw new FileUtilException( _lang.getMessage(
"cannot.read.signature.file", sigFileName, e.getMessage() ) );
}
vs.add( sv );
}
else if( ! sv.getAttributes().isLenient() )
{
- throw new FileUtilException( LANG.getMessage( "no.signature.file",
ext, sigFileName ) );
+ throw new FileUtilException( _lang.getMessage( "no.signature.file",
ext, sigFileName ) );
}
// otherwise ignore absence of signature file, if verifier is lenient
}
@@ -265,7 +267,7 @@
else
{
if( !sv.getAttributes().isLenient() )
- throw new StreamVerifierException( LANG.getMessage(
"signature.failed", sv.getAttributes().getExtension(), fileName ) );
+ throw new StreamVerifierException( _lang.getMessage(
"signature.failed", sv.getAttributes().getExtension(), fileName ) );
}
}
}
@@ -535,7 +537,7 @@
if( !sf.exists() )
{
if( force )
- throw new StreamVerifierException( LANG.getMessage(
"no.mandatory.signature", f.getAbsolutePath(), sf.getAbsolutePath() ) );
+ throw new StreamVerifierException( _lang.getMessage(
"no.mandatory.signature", f.getAbsolutePath(), sf.getAbsolutePath() ) );
else
continue;
}
@@ -579,7 +581,7 @@
if( fl != null )
{
- throw new StreamVerifierException( LANG.getMessage(
"file.failed.verification", f.getAbsolutePath(), fl.toString() ) );
+ throw new StreamVerifierException( _lang.getMessage(
"file.failed.verification", f.getAbsolutePath(), fl.toString() ) );
}
}
finally
@@ -593,35 +595,35 @@
public static void main( String[] args )
throws IOException, StreamObserverException
{
- Option sign = new Option( "sign", LANG.getMessage( "option.sign" ) );
- Option verify = new Option( "verify", LANG.getMessage( "option.verify"
) );
+ Option sign = new Option( "sign", _lang.getMessage( "option.sign" ) );
+ Option verify = new Option( "verify", _lang.getMessage( "option.verify"
) );
OptionGroup cmd = new OptionGroup();
cmd.addOption( sign );
cmd.addOption( verify );
- Option recurce = new Option( "r", LANG.getMessage( "option.r" ) );
- Option force = new Option( "force", LANG.getMessage( "option.force" )
);
+ Option recurce = new Option( "r", _lang.getMessage( "option.r" ) );
+ Option force = new Option( "force", _lang.getMessage( "option.force" )
);
OptionGroup sig = new OptionGroup();
- Option sha1 = new Option( "sha1", LANG.getMessage( "option.sha1" ) );
- Option pgp = new Option( "pgp", LANG.getMessage( "option.pgp" ) );
+ Option sha1 = new Option( "sha1", _lang.getMessage( "option.sha1" ) );
+ Option pgp = new Option( "pgp", _lang.getMessage( "option.pgp" ) );
sig.addOption( sha1 );
sig.addOption( pgp );
Option keyring = OptionBuilder.withArgName( "file" )
.hasArg()
.withType( java.io.File.class )
- .withDescription( LANG.getMessage(
"option.keyring" ) )
+ .withDescription( _lang.getMessage(
"option.keyring" ) )
.create( "keyring" )
;
Option keyid = OptionBuilder.withArgName( "hexstring" )
.hasArg()
- .withDescription( LANG.getMessage(
"option.keyid" ) )
+ .withDescription( _lang.getMessage(
"option.keyid" ) )
.create( "keyid" )
;
Option keypass = OptionBuilder.withArgName( "string" )
.hasArg()
- .withDescription( LANG.getMessage(
"option.keypass" ) )
+ .withDescription( _lang.getMessage(
"option.keypass" ) )
.create( "keypass" )
;
@@ -686,7 +688,7 @@
}
else
{
- System.err.println( LANG.getMessage( "bad.pgp.args" ) );
+ System.err.println( _lang.getMessage( "bad.pgp.args" ) );
return;
}
}
@@ -725,12 +727,12 @@
f = new File( fName );
if( ! f.exists() )
{
- System.out.println( LANG.getMessage( "file.not.exists", fName ) );
+ System.out.println( _lang.getMessage( "file.not.exists", fName ) );
continue;
}
if( f.isDirectory() && ! recurse )
{
- System.out.println( LANG.getMessage( "file.is.directory", fName ) );
+ System.out.println( _lang.getMessage( "file.is.directory", fName ) );
continue;
}
if( sign )
@@ -763,14 +765,14 @@
try{ Thread.sleep( 1l ); } catch( InterruptedException e ){}
df.mkdirs();
exists = df.exists();
- LOG.info( LANG.getMessage( "had.to.create.directory", dir, exists + "" )
);
+ _log.info( _lang.getMessage( "had.to.create.directory", dir, exists + ""
) );
}
if( !exists )
- throw new IOException( LANG.getMessage( "cannot.create.directory", dir )
);
+ throw new IOException( _lang.getMessage( "cannot.create.directory", dir
) );
if( !df.isDirectory() )
- throw new IOException( LANG.getMessage( "file.is.not.directory", dir,
df.exists() + "", df.isDirectory() + "", df.isFile() + "" ) );
+ throw new IOException( _lang.getMessage( "file.is.not.directory", dir,
df.exists() + "", df.isDirectory() + "", df.isFile() + "" ) );
File lockFile = new File( dir,LOCK_FILE );
@@ -821,14 +823,14 @@
try{ Thread.sleep( 1l ); } catch( InterruptedException e ){}
df.mkdirs();
exists = df.exists();
- LOG.info( LANG.getMessage( "had.to.create.directory", dir, exists + "" )
);
+ _log.info( _lang.getMessage( "had.to.create.directory", dir, exists + ""
) );
}
if( !exists )
- throw new IOException( LANG.getMessage( "cannot.create.directory", dir )
);
+ throw new IOException( _lang.getMessage( "cannot.create.directory", dir
) );
if( !df.isDirectory() )
- throw new IOException( LANG.getMessage( "file.is.not.directory", dir,
df.exists() + "", df.isDirectory() + "", df.isFile() + "" ) );
+ throw new IOException( _lang.getMessage( "file.is.not.directory", dir,
df.exists() + "", df.isDirectory() + "", df.isFile() + "" ) );
File lockFile = new File( dir,LOCK_FILE );
if( !lockFile.exists() )
@@ -865,7 +867,7 @@
{
File df = new File( dir );
if( !df.isDirectory() )
- throw new IOException( LANG.getMessage( "file.is.not.directory", dir )
);
+ throw new IOException( _lang.getMessage( "file.is.not.directory", dir
) );
File lock = new File( dir,LOCK_FILE );
if( lock.exists() )
@@ -873,7 +875,7 @@
}
catch( IOException e )
{
- LOG.error( e.getMessage() );
+ _log.error( e.getMessage() );
}
}
//---------------------------------------------------------------------------------------------------------------
@@ -929,7 +931,7 @@
public static int depth( File file )
{
if( file == null || !file.exists() )
- throw new IllegalArgumentException( LANG.getMessage(
"file.not.exists.error", file == null ? "null" : file.getAbsolutePath() ) );
+ throw new IllegalArgumentException( _lang.getMessage(
"file.not.exists.error", file == null ? "null" : file.getAbsolutePath() ) );
if( file.isFile() )
return 0;
@@ -951,5 +953,19 @@
return max + 1;
}
//---------------------------------------------------------------------------------------------------------------
+ public static InputStream toStream( String resource )
+ throws MalformedURLException, IOException
+ {
+ if( Util.isEmpty( resource ) )
+ return null;
+
+ if( resource.startsWith( "file://" )
+ || resource.startsWith( "http://" )
+ )
+ return new URL(resource).openStream();
+
+ return new FileInputStream( new File(resource) );
+ }
+
//---------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------
}