You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by og...@apache.org on 2009/02/17 19:44:48 UTC
svn commit: r745190 - in /maven/mercury/trunk/mercury-ant-tasks: ./
src/main/java/org/apache/maven/mercury/ant/tasks/
src/main/resources/org/apache/maven/mercury/ant/tasks/
src/test/java/org/apache/maven/mercury/ant/tasks/
src/test/resources/remoteRepo...
Author: ogusakov
Date: Tue Feb 17 18:44:46 2009
New Revision: 745190
URL: http://svn.apache.org/viewvc?rev=745190&view=rev
Log:
[MNG-3969] intermediate commit. New syntax for signature validation implemented and partially tested
Added:
maven/mercury/trunk/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Validation.java (with props)
maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/bad/
maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/bad/g2/
maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/bad/g2/a2/
maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/bad/g2/a2/maven-metadata.xml (with props)
maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/bad/g2/a2/v2/
maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/bad/g2/a2/v2/a2-v2.jar
maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/bad/g2/a2/v2/a2-v2.pom (with props)
maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/bad/g2/a2/v2/maven-metadata.xml (with props)
maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/
maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g0/
maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g0/a0/
maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g0/a0/maven-metadata.xml (with props)
maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g0/a0/v0/
maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g0/a0/v0/a0-v0.jar
maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g0/a0/v0/a0-v0.pom (with props)
maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g0/a0/v0/maven-metadata.xml (with props)
maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g1/
maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g1/a1/
maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g1/a1/maven-metadata.xml (with props)
maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g1/a1/v1/
maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g1/a1/v1/a1-v1.jar
maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g1/a1/v1/a1-v1.pom (with props)
maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g1/a1/v1/maven-metadata.xml (with props)
Modified:
maven/mercury/trunk/mercury-ant-tasks/build.xml
maven/mercury/trunk/mercury-ant-tasks/mercury.xml
maven/mercury/trunk/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Auth.java
maven/mercury/trunk/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Config.java
maven/mercury/trunk/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Dep.java
maven/mercury/trunk/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Repo.java
maven/mercury/trunk/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/ResolveTask.java
maven/mercury/trunk/mercury-ant-tasks/src/main/resources/org/apache/maven/mercury/ant/tasks/Messages.properties
maven/mercury/trunk/mercury-ant-tasks/src/main/resources/org/apache/maven/mercury/ant/tasks/antlib.xml
maven/mercury/trunk/mercury-ant-tasks/src/test/java/org/apache/maven/mercury/ant/tasks/MercuryBootstrapTest.java
Modified: maven/mercury/trunk/mercury-ant-tasks/build.xml
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant-tasks/build.xml?rev=745190&r1=745189&r2=745190&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-ant-tasks/build.xml (original)
+++ maven/mercury/trunk/mercury-ant-tasks/build.xml Tue Feb 17 18:44:46 2009
@@ -50,19 +50,12 @@
<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="${secret.keyring.pass}"/>
- <property name="key" value="${secret.keyring.key}"/>
- </merc:verifywrite>
-
- <merc:verifyread type="pgp">
- <property name="keyring" value="${basedir}/target/test-classes/pgp/pubring.gpg"/>
- </merc:verifyread>
-
- </merc:repo>
+ <merc:repo id="localVerifyRepo" dir="${local.verify.dir}"
+ pgpKeyring="${basedir}/target/test-classes/pgp/pubring.gpg"
+ pgpSecretKeyring="${basedir}/target/test-classes/pgp/secring.gpg"
+ pgpSecretKey="${secret.keyring.key}"
+ pgpSecretKeyPass="${secret.keyring.pass}"
+ />
</merc:config>
@@ -73,17 +66,16 @@
</target>
<target name="compile" depends="init">
- <merc:resolve pathid="compile-path"
- depid="my-libs"
- configid="${config.name}"
+ <merc:resolve depid="my-libs"
+ configid="${config.name}"
/>
- <property name="cp" refid="compile-path"/>
+ <property name="cp" refid="mercury.classpath.compile"/>
<echo>path is ${cp}</echo>
<javac srcdir="${src}"
destdir="${target}"
- classpathref="compile-path"
+ classpathref="mercury.classpath.compile"
source="${compiler.version}"
target="${compiler.version}"
/>
@@ -105,17 +97,16 @@
<target name="compile-auth" depends="init">
- <merc:resolve pathid="compile-path-auth"
- depid="my-libs"
+ <merc:resolve depid="my-libs"
configid="config-auth"
/>
- <property name="cpa" refid="compile-path-auth"/>
+ <property name="cpa" refid="mercury.classpath.compile"/>
<echo>compile-path-auth is ${cpa}</echo>
<javac srcdir="${src}"
destdir="${target}"
- classpathref="compile-path-auth"
+ classpathref="mercury.classpath.compile"
source="${compiler.version}"
target="${compiler.version}"
/>
@@ -152,11 +143,9 @@
<merc:config id="pgp-conf">
<merc:repo id="localPgpRepo" dir="${local.verify.dir}"/>
- <merc:repo id="remotePgpRepo" url="http://localhost:${repo.port}/maven2">
- <merc:verifyread type="pgp">
- <property name="keyring" value="${basedir}/target/test-classes/pgp/pubring.gpg"/>
- </merc:verifyread>
- </merc:repo>
+ <merc:repo id="remotePgpRepo" url="http://localhost:${repo.port}/maven2"
+ pgpKeyring="${basedir}/target/test-classes/pgp/pubring.gpg"
+ />
</merc:config>
<merc:dep id="t-good">
@@ -276,7 +265,7 @@
<localRepository path="${basedir}/target/path-old" layout="default"/>
- <dependencies pathId="dependency.classpath">
+ <dependencies>
<dependency groupId="asm" artifactId="asm" version="3.0"/>
</dependencies>
@@ -285,7 +274,7 @@
source="${compiler.version}"
target="${compiler.version}"
>
- <classpath refid="dependency.classpath"/>
+ <classpath refid="mercury.classpath"/>
</javac>
</target>
@@ -298,7 +287,7 @@
<localRepository path="${basedir}/target/path-old-auth" layout="default"/>
- <dependencies pathId="dependency.classpath">
+ <dependencies>
<dependency groupId="asm" artifactId="asm" version="3.0"/>
</dependencies>
@@ -307,7 +296,7 @@
source="${compiler.version}"
target="${compiler.version}"
>
- <classpath refid="dependency.classpath"/>
+ <classpath refid="mercury.classpath"/>
</javac>
</target>
Modified: maven/mercury/trunk/mercury-ant-tasks/mercury.xml
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant-tasks/mercury.xml?rev=745190&r1=745189&r2=745190&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-ant-tasks/mercury.xml (original)
+++ maven/mercury/trunk/mercury-ant-tasks/mercury.xml Tue Feb 17 18:44:46 2009
@@ -1,7 +1,8 @@
-<project name="build" default="build" xmlns:mercury="antlib:org.apache.maven.mercury.ant.tasks">
+<project name="build" xmlns:mercury="antlib:org.apache.maven.mercury.ant.tasks">
<target name="initialize">
-<!-- <path id="boot.classpath" path="target/mercury-all-1.0.jar" />
+<!--
+ <path id="boot.classpath" path="target/mercury-all-1.0.jar" />
<taskdef resource="org/apache/maven/mercury/ant/antlib.xml" uri="urn:mercury" classpathref="boot.classpath"/>
<taskdef resource="org/apache/maven/mercury/ant/antlib.xml" uri="urn:mercury"/>
-->
@@ -107,23 +108,46 @@
source="maven:${basedir}/target/test-classes/pom-non-transitive.xml"
id="g:a:1::pom"
/>
-
+
+ <property name="cp" refid="mercury.classpath"/>
+ <property name="cp.runtime" refid="mercury.classpath.runtime"/>
+
+ <property name="cp.dir" location="${basedir}/target/test-copy"/>
+ <delete dir="${cp.dir}"/>
+ <mkdir dir="${cp.dir}"/>
+ <copy todir="${cp.dir}" flatten="true">
+ <fileset refid="mercury.fileset"/>
+ </copy>
+
+ <property name="cpr.dir" location="${basedir}/target/test-copy-runtime"/>
+ <delete dir="${cpr.dir}"/>
+ <mkdir dir="${cpr.dir}"/>
+ <copy todir="${cpr.dir}" flatten="true">
+ <fileset refid="mercury.fileset"/>
+ </copy>
+
</target>
-
- <target name="download-repo-flat">
+
+ <target name="repo-pgp">
- <mercury:resolve-dependencies source="maven:pom.xml">
- <mercury:local-repository location="${basedir}/lib" layout="flat"/>
+ <mercury:local-repository location="${localRepo}"/>
<!-- Control checksum and pgp globally for all remote repositories used -->
- <mercury:remote-repositories checksum-validation="true" pgp-key-validation="true">
- <mercury:remote-repository location="http://repository.sonatype.com/groups/public"/>
- <mercury:remote-repository location="http://repository.sonatype.com/groups/bad" checksum-validation="false" pgp-validation="false"/>
+ <mercury:remote-repositories sha1Validation="true" pgpValidation="true">
+ <mercury:repository location="${remoteRepo}/good"/>
+ <mercury:repository location="${remoteRepo}/bad"
+ sha1Validation="false"
+ pgpValidation="false"
+ />
</mercury:remote-repositories>
- </mercury:resolve-dependencies>
+
+ <mercury:resolve-dependencies id="g:a:1::pom" source="maven:${basedir}/target/test-classes/pom-non-transitive.xml"/>
</target>
-
- <target name="download-repos-2">
+
+
+
+
+ <target name="download-repos-pgp-2">
<mercury:resolve-dependencies source="maven:pom.xml">
<mercury:local-repository location="${basedir}/lib" layout="flat"/>
@@ -138,12 +162,16 @@
</mercury:remote-repositories>
</mercury:resolve-dependencies>
+ </target>
+
+ <target name="download-repos-3">
+
<mercury:resolve-dependencies source="maven:pom.xml">
<mercury:local-repository location="${basedir}/lib" layout="flat"/>
<mercury:remote-repositories checksum-validation="true">
<!-- The presence of this element says we want this feature turned on, and allow some configuration -->
<mercury:pgp-key-validation keyring-location="${basedir}/pgp/project-keyring.gpg">
- <exclude id="g0:a0:v0"/>
+ <exclude id="g0:a0:v0"/>
</mercury:pgp-key-validation>
<mercury:remote-repository location="http://repository.sonatype.com/groups/public"/>
<mercury:remote-repository location="http://repository.sonatype.com/groups/bad" checksum-validation="false" pgp-validation="false"/>
@@ -152,10 +180,4 @@
</target>
- <target name="build" depends="initialize">
- <javac srcdir="src/main/java" destdir="target/classes">
- <classpath refid="mercury.classpath.compile"/>
- </javac>
- </target>
-
</project>
Modified: maven/mercury/trunk/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Auth.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Auth.java?rev=745190&r1=745189&r2=745190&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Auth.java (original)
+++ maven/mercury/trunk/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Auth.java Tue Feb 17 18:44:46 2009
@@ -21,6 +21,7 @@
import java.io.File;
import java.io.IOException;
+import java.util.StringTokenizer;
import org.apache.maven.mercury.transport.api.Credentials;
import org.apache.maven.mercury.util.FileUtil;
@@ -40,12 +41,41 @@
private static final String DEFAULT_AUTH_ID =
System.getProperty( "mercury.default.auth.id", "mercury.default.auth.id." + System.currentTimeMillis() );
+
+ public static final String METHOD_BASIC = "basic";
+
+ String _method;
String _name;
String _pass;
String _certfile;
+
+ public Auth()
+ {
+ }
+
+ public Auth( String auth )
+ {
+ if( auth == null )
+ throw new IllegalArgumentException( LANG.getMessage( "auth.null.auth" ) );
+
+ int colon = auth.indexOf( ':' );
+
+ String paramStr = null;
+
+ if( colon == -1 )
+ {
+ _method = METHOD_BASIC;
+
+ paramStr = auth;
+ }
+ else
+ paramStr = auth.substring( colon+1 );
+
+ StringTokenizer st = new StringTokenizer( paramStr, "," );
+ }
public void setName( String name )
{
Modified: maven/mercury/trunk/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-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Config.java?rev=745190&r1=745189&r2=745190&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Config.java (original)
+++ maven/mercury/trunk/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Config.java Tue Feb 17 18:44:46 2009
@@ -51,13 +51,22 @@
public static final String DEFAULT_CONFIG_ID =
System.getProperty( "mercury.default.config.id", "mercury.default.config.id." + System.currentTimeMillis() );
-
- Collection<Repo> _repos;
-
- Collection<Auth> _auths;
-
- List<Repository> _repositories;
-
+
+ public static final String USER_HOME = System.getProperty( "user.home" );
+
+ public static final String DEFAULT_PUBLIC_KEYRING = USER_HOME + "/.gnupg/pubring.gpg";
+
+ public static final String DEFAULT_SECRET_KEYRING = USER_HOME + "/.gnupg/secring.gpg";
+
+ private Collection<Repo> _repos;
+
+ private Collection<Auth> _auths;
+
+ private List<Repository> _repositories;
+
+ private Validation _validation = new Validation();
+
+ //------------------------------------------------------------------------------
public Config()
{
}
@@ -125,9 +134,9 @@
{
init();
- Repo r = new Repo( true );
+ Repo r = new Repo( true, _validation );
- listRepo( r );
+ registerRepo( r );
return r;
}
@@ -137,7 +146,7 @@
return createRepo();
}
- protected void listRepo( Repo repo )
+ protected void registerRepo( Repo repo )
{
if ( _repos == null )
{
@@ -160,7 +169,7 @@
Config config = (Config) co;
- config.listRepo( repo );
+ config.registerRepo( repo );
}
public static Config getDefaultConfig( Project project )
@@ -194,6 +203,74 @@
return a;
}
- // ======================================================================================
+ public void setSha1Validation( boolean val )
+ {
+ _validation._sha1Validation = val;
+ }
+
+ public void setSha1validation( boolean val )
+ {
+ setSha1Validation( val );
+ }
+
+ public void setSha1Signature( boolean val )
+ {
+ _validation._sha1Signature = val;
+ }
+
+ public void setSha1signature( boolean val )
+ {
+ setSha1Signature( val );
+ }
+
+ public void setPgpValidation( boolean val )
+ {
+ _validation._pgpValidation = val;
+ }
+
+ public void setPgpvalidation( boolean val )
+ {
+ setPgpValidation( val );
+ }
+
+ public void setPgpPublicKeyring( String val )
+ {
+ _validation._pgpPublicKeyring = val;
+ }
+
+ public void setPgpPublickeyring( String val )
+ {
+ setPgpPublicKeyring( val );
+ }
+
+ public void setPgpSecretKeyring( String val )
+ {
+ _validation._pgpSecretKeyring = val;
+ }
+
+ public void setPgpSecretkeyring( String val )
+ {
+ setPgpSecretKeyring( val );
+ }
+
+ public void setPgpSecretKey( String val )
+ {
+ _validation._pgpSecretKey = val;
+ }
+
+ public void setPgpSecretkey( String val )
+ {
+ setPgpSecretKey( val );
+ }
+
+ public void setPgpSecretKeyPass( String val )
+ {
+ _validation._pgpSecretKeyPass = val;
+ }
+
+ public void setPgpSecretKeypass( String val )
+ {
+ setPgpSecretKeyPass( val );
+ }
}
Modified: maven/mercury/trunk/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Dep.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Dep.java?rev=745190&r1=745189&r2=745190&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Dep.java (original)
+++ maven/mercury/trunk/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Dep.java Tue Feb 17 18:44:46 2009
@@ -208,13 +208,16 @@
throw new BuildException( LANG.getMessage( "resolve.cannot.read", config.getId(), res.toString() ) );
}
- if ( ( aRes == null ) || aRes.hasExceptions() )
+ if ( aRes == null )
{
throw new Exception( LANG.getMessage( "vr.error", aRes.getExceptions().toString() ) );
}
if ( !aRes.hasResults() )
{
+ if( aRes.hasExceptions() )
+ throw new Exception( LANG.getMessage( "vr.error", aRes.getExceptions().toString() ) );
+
return null;
}
Modified: maven/mercury/trunk/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Repo.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Repo.java?rev=745190&r1=745189&r2=745190&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Repo.java (original)
+++ maven/mercury/trunk/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Repo.java Tue Feb 17 18:44:46 2009
@@ -64,8 +64,6 @@
private String _url;
- private String _type;
-
private String _authid;
private String _layout = DEFAULT_LAYOUT;
@@ -89,14 +87,19 @@
private transient boolean _registered = false;
private static final String[] SUPPORTED_LAYOUTS = new String[] { DEFAULT_LAYOUT, "m2", "flat" };
+
+ private Validation _validation;
+
public Repo()
{
}
- public Repo( boolean managed )
+ public Repo( boolean managed, Validation validation )
{
_managed = managed;
+
+ _validation = validation;
}
private void processDefaults()
@@ -177,14 +180,12 @@
setUrl( path );
}
}
-
- public void setType( String type )
+
+ public void setAuthentication()
{
- this._type = type;
-
- processDefaults();
+
}
-
+
public void setAuthid( String authid )
{
this._authid = authid;
@@ -232,33 +233,33 @@
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;
- }
+// 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 )
{
@@ -281,6 +282,10 @@
public Repository getRepository()
{
Repository r = null;
+
+ updateReadVerifiers( _validation );
+
+ updateWriteVerifiers( _validation );
if ( isLocal() )
{
@@ -370,6 +375,78 @@
return r;
}
+ /**
+ * @param validation
+ */
+ private void updateReadVerifiers( Validation validation )
+ {
+ if( validation == null
+ ||
+ (
+ validation._sha1Validation == false
+ &&
+ validation._pgpValidation == false
+ )
+ )
+ return;
+
+ if( _readVerifiers == null )
+ _readVerifiers = new ArrayList<Verify>(2);
+
+ if( validation._sha1Validation )
+ {
+ Verify v = new Verify( Validation.TYPE_SHA1 );
+
+ _readVerifiers.add( v );
+ }
+
+ if( validation._pgpValidation )
+ {
+ Verify v = new Verify( Validation.TYPE_PGP, prop("keyring", validation._pgpPublicKeyring ) );
+
+ _readVerifiers.add( v );
+ }
+
+ }
+
+ /**
+ * @param validation
+ */
+ private void updateWriteVerifiers( Validation validation )
+ {
+ if( validation == null
+ ||
+ (
+ validation._sha1Signature == false
+ &&
+ Util.isEmpty( validation._pgpSecretKeyPass )
+ )
+ )
+ return;
+
+ if( _writeVerifiers == null )
+ _writeVerifiers = new ArrayList<Verify>(2);
+
+ if( validation._sha1Signature )
+ {
+ Verify v = new Verify( Validation.TYPE_SHA1 );
+
+ _writeVerifiers.add( v );
+ }
+
+ if( ! Util.isEmpty( validation._pgpSecretKeyPass ) )
+ {
+ Verify v = new Verify( Validation.TYPE_PGP
+ , prop( "keyring", validation._pgpSecretKeyring )
+ , prop( "pass", validation._pgpSecretKeyPass )
+ , prop( "key", validation._pgpSecretKey )
+ );
+
+ _writeVerifiers.add( v );
+ }
+
+ }
+
public Auth createAuth()
{
_auth = new Auth();
@@ -398,14 +475,21 @@
{
return createProxyauth();
}
+
+ public static final Property prop( String name, String val )
+ {
+ Property prop = new Property();
+
+ prop.setName( name );
+
+ prop.setValue( val );
+
+ return prop;
+ }
- public class Verify
+ private class Verify
extends AbstractDataType
{
- public static final String PGP = "pgp";
-
- public static final String SHA1 = "sha1";
-
String _type;
boolean _lenient = true;
@@ -413,6 +497,23 @@
boolean _sufficient = false;
Map<String, String> _properties;
+
+ public Verify( String type, Property... properties )
+ {
+ setType( type );
+
+ if( properties != null )
+ for( Property p : properties )
+ addConfiguredProperty( p );
+ }
+
+ /**
+ *
+ */
+ public Verify()
+ {
+ // TODO Auto-generated constructor stub
+ }
public void setType( String type )
{
@@ -447,13 +548,14 @@
throw new BuildException( LANG.getMessage( "config.repo.verifier.no.type" ) );
}
- if ( ( _properties == null ) || _properties.isEmpty() )
+ if ( Validation.TYPE_PGP.equals( _type ) )
{
- throw new BuildException( LANG.getMessage( "config.repo.verifier.no.properties", _type ) );
- }
- if ( PGP.equals( _type ) )
- {
+ if ( Util.isEmpty( _properties ) )
+ {
+ throw new BuildException( LANG.getMessage( "config.repo.verifier.no.properties", _type ) );
+ }
+
String keyRing = _properties.get( "keyring" );
if ( keyRing == null )
@@ -508,7 +610,7 @@
}
}
- else if ( SHA1.equals( _type ) )
+ else if ( Validation.TYPE_SHA1.equals( _type ) )
{
SHA1VerifierFactory fac =
new SHA1VerifierFactory( new StreamVerifierAttributes( SHA1VerifierFactory.DEFAULT_EXTENSION,
@@ -521,4 +623,60 @@
}
}
+ public void setSha1Validation( boolean val )
+ {
+ _validation._sha1Validation = val;
+ }
+
+ public void setSha1validation( boolean val )
+ {
+ setSha1Validation( val );
+ }
+
+ public void setPgpValidation( boolean val )
+ {
+ _validation._pgpValidation = val;
+ }
+
+ public void setPgpKeyring( String val )
+ {
+ setPgpValidation( true );
+ _validation._pgpPublicKeyring = val;
+ }
+
+ public void setPgpkeyring( String val )
+ {
+ setPgpKeyring( val );
+ }
+
+ public void setPgpSecretKeyring( String val )
+ {
+ _validation._pgpSecretKeyring = val;
+ }
+
+ public void setPgpSecretkeyring( String val )
+ {
+ setPgpSecretKeyring( val );
+ }
+
+ public void setPgpSecretKey( String val )
+ {
+ _validation._pgpSecretKey = val;
+ }
+
+ public void setPgpSecretkey( String val )
+ {
+ setPgpSecretKey( val );
+ }
+
+ public void setPgpSecretKeyPass( String val )
+ {
+ _validation._pgpSecretKeyPass = val;
+ }
+
+ public void setPgpSecretKeypass( String val )
+ {
+ setPgpSecretKeyPass( val );
+ }
+
}
Modified: maven/mercury/trunk/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/ResolveTask.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/ResolveTask.java?rev=745190&r1=745189&r2=745190&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/ResolveTask.java (original)
+++ maven/mercury/trunk/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/ResolveTask.java Tue Feb 17 18:44:46 2009
@@ -32,8 +32,6 @@
import org.apache.tools.ant.types.FileList;
import org.apache.tools.ant.types.FileSet;
import org.apache.tools.ant.types.Path;
-import org.apache.tools.ant.types.FileList.FileName;
-import org.apache.tools.ant.types.selectors.FilenameSelector;
import org.codehaus.plexus.lang.DefaultLanguage;
import org.codehaus.plexus.lang.Language;
@@ -55,8 +53,6 @@
private String _pathId;
- private String _fileSetId;
-
private String _refPathId;
private String _configId;
@@ -72,7 +68,7 @@
private List<Dependency> _dependencies;
private Dependency _sourceDependency;
-
+
// ----------------------------------------------------------------------------------------
@Override
public String getDescription()
@@ -167,9 +163,7 @@
Collection<Artifact> artifacts = dep.resolve( config, sc );
if ( Util.isEmpty( artifacts ) )
- {
continue;
- }
if ( ArtifactScopeEnum.compile.equals( sc ) )
{
@@ -180,46 +174,6 @@
+ sc.getScope(), artifacts );
}
- // FileList pathFileList = new FileList();
- //
- // File dir = null;
- //
- // for ( Artifact a : artifacts )
- // {
- // if ( dir == null )
- // {
- // dir = a.getFile().getParentFile();
- // }
- //
- // String aPath = a.getFile().getCanonicalPath();
- //
- // FileList.FileName fn = new FileList.FileName();
- //
- // fn.setName( aPath );
- //
- // pathFileList.addConfiguredFile( fn );
- // }
- //
- // pathFileList.setDir( dir );
- //
- // // now - the path
- // if ( path == null )
- // {
- // path = new Path( getProject(), _pathId );
- //
- // path.addFilelist( pathFileList );
- //
- // getProject().addReference( _pathId, path );
- // }
- // else
- // {
- // Path newPath = new Path( getProject() );
- //
- // newPath.addFilelist( pathFileList );
- //
- // path.append( newPath );
- // }
-
}
catch ( Exception e )
{
@@ -227,6 +181,16 @@
}
}
+ private File findRoot( File f )
+ {
+ File root = f;
+
+ while( root.getParentFile() != null )
+ root = root.getParentFile();
+
+ return root;
+ }
+
private void createPath( String pathId, String filesetId, Collection<Artifact> artifacts )
throws IOException
{
@@ -238,13 +202,15 @@
FileList pathFileList = new FileList();
- FileList fList = (FileList) getProject().getReference( filesetId );
+ FileSet fSet = (FileSet) getProject().getReference( filesetId );
- if ( fList == null )
+ if ( fSet == null )
{
- fList = pathFileList;
+ fSet = new FileSet();
+
+ fSet.setProject( getProject() );
- getProject().addReference( filesetId, pathFileList );
+ getProject().addReference( filesetId, fSet );
}
File dir = null;
@@ -252,10 +218,8 @@
for ( Artifact a : artifacts )
{
if ( dir == null )
- {
- dir = a.getFile().getParentFile();
- }
-
+ dir = findRoot( a.getFile() );
+
String aPath = a.getFile().getCanonicalPath();
FileList.FileName fn = new FileList.FileName();
@@ -263,20 +227,34 @@
fn.setName( aPath );
pathFileList.addConfiguredFile( fn );
+
}
pathFileList.setDir( dir );
+
+
+ // fileset is trickier as it wants a dir
+ fSet.setDir( dir );
+
+ String dirName = dir.getCanonicalPath();
+
+ int dirLen = dirName.length();
+
+ for( String fn : pathFileList.getFiles( getProject() ) )
+ {
+ fSet.createInclude().setName( fn.substring( dirLen ) );
+ }
Path path = (Path) getProject().getReference( pathId );
// now - the path
if ( path == null )
{
- path = new Path( getProject(), _pathId );
+ path = new Path( getProject(), pathId );
path.addFilelist( pathFileList );
- getProject().addReference( _pathId, path );
+ getProject().addReference( pathId, path );
}
else
{
@@ -305,21 +283,6 @@
this._pathId = pathId;
}
- public void setFilesetid( String fileSetIdId )
- {
- this._fileSetId = fileSetIdId;
- }
-
- public void setFilesetId( String fileSetIdId )
- {
- this._fileSetId = fileSetIdId;
- }
-
- public void setFileSetId( String fileSetIdId )
- {
- this._fileSetId = fileSetIdId;
- }
-
public void setRefpathid( String refPathId )
{
this._refPathId = refPathId;
@@ -395,4 +358,5 @@
return dependency;
}
+
}
\ No newline at end of file
Added: maven/mercury/trunk/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Validation.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Validation.java?rev=745190&view=auto
==============================================================================
--- maven/mercury/trunk/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Validation.java (added)
+++ maven/mercury/trunk/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Validation.java Tue Feb 17 18:44:46 2009
@@ -0,0 +1,56 @@
+/*
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements. See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership. The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied. See the License for the
+specific language governing permissions and limitations
+under the License.
+*/
+
+package org.apache.maven.mercury.ant.tasks;
+
+/**
+ *
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ *
+ */
+public class Validation
+{
+ public static final String TYPE_PGP = "pgp";
+
+ public static final String TYPE_SHA1 = "sha1";
+
+ public static final String PROP_PUBLIC_KEYRING = "keyring";
+
+ public static final String PROP_SECRET_KEYRING = "secret-keyring";
+
+ public static final String PROP_SECRET_KEY_ID = "secret-keyring";
+
+ public static final String PROP_SECRET_KEY_PASS = "secret-keyring";
+
+ protected boolean _pgpValidation = false;
+
+ protected String _pgpPublicKeyring = Config.DEFAULT_PUBLIC_KEYRING;
+
+ protected String _pgpSecretKeyring = Config.DEFAULT_SECRET_KEYRING;
+
+ protected String _pgpSecretKey;
+
+ protected String _pgpSecretKeyPass;
+
+ protected boolean _sha1Validation = false;
+
+ protected boolean _sha1Signature = true;
+}
Propchange: maven/mercury/trunk/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Validation.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/mercury/trunk/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Validation.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Modified: maven/mercury/trunk/mercury-ant-tasks/src/main/resources/org/apache/maven/mercury/ant/tasks/Messages.properties
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant-tasks/src/main/resources/org/apache/maven/mercury/ant/tasks/Messages.properties?rev=745190&r1=745189&r2=745190&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-ant-tasks/src/main/resources/org/apache/maven/mercury/ant/tasks/Messages.properties (original)
+++ maven/mercury/trunk/mercury-ant-tasks/src/main/resources/org/apache/maven/mercury/ant/tasks/Messages.properties Tue Feb 17 18:44:46 2009
@@ -45,3 +45,7 @@
dep.dependency.pom.not.implemented=pom attribute not implemented for <dependency ../> tag
dep.cannot.remove=cannot delete non-existing datum for: {0}
defaultStorage.add.file.no.file=file for the key {0} does not exist.
+
+
+auth.null.auth=null auth supplied. Cannot process it.
+auth.no.method=auth '{0}' does not provide a method, general format 'method:method_specific_args'
Modified: maven/mercury/trunk/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-tasks/src/main/resources/org/apache/maven/mercury/ant/tasks/antlib.xml?rev=745190&r1=745189&r2=745190&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-ant-tasks/src/main/resources/org/apache/maven/mercury/ant/tasks/antlib.xml (original)
+++ maven/mercury/trunk/mercury-ant-tasks/src/main/resources/org/apache/maven/mercury/ant/tasks/antlib.xml Tue Feb 17 18:44:46 2009
@@ -5,28 +5,29 @@
<taskdef name="resolve" classname="org.apache.maven.mercury.ant.tasks.ResolveTask"/>
<taskdef name="write" classname="org.apache.maven.mercury.ant.tasks.WriteTask"/>
+ <!-- good old syntax -->
+ <taskdef name="dependencies" classname="org.apache.maven.mercury.ant.tasks.ResolveTask"/>
+ <taskdef name="resolve-dependencies" classname="org.apache.maven.mercury.ant.tasks.ResolveTask"/>
+
+ <!-- now data -->
<typedef name="deps" classname="org.apache.maven.mercury.ant.tasks.Dep"/>
- <typedef name="repository" classname="org.apache.maven.mercury.ant.tasks.Repo"/>
- <typedef name="config" classname="org.apache.maven.mercury.ant.tasks.Config"/>
- <typedef name="repo" classname="org.apache.maven.mercury.ant.tasks.Repo"/>
- <typedef name="repository" classname="org.apache.maven.mercury.ant.tasks.Repo"/>
-
- <!-- helper syntaxes -->
<typedef name="dep" classname="org.apache.maven.mercury.ant.tasks.Dep"/>
<typedef name="dependencySet" classname="org.apache.maven.mercury.ant.tasks.Dep"/>
- <typedef name="settings" classname="org.apache.maven.mercury.ant.tasks.Config"/>
+
+ <typedef name="repository" classname="org.apache.maven.mercury.ant.tasks.Repo"/>
+ <typedef name="repo" classname="org.apache.maven.mercury.ant.tasks.Repo"/>
+ <typedef name="localRepository" classname="org.apache.maven.mercury.ant.tasks.Repo"/>
+ <typedef name="local-repository" classname="org.apache.maven.mercury.ant.tasks.Repo"/>
+ <typedef name="remoteRepository" classname="org.apache.maven.mercury.ant.tasks.Repo"/>
+ <typedef name="remote-repository" classname="org.apache.maven.mercury.ant.tasks.Repo"/>
+
+ <typedef name="config" classname="org.apache.maven.mercury.ant.tasks.Config"/>
+ <typedef name="settings" classname="org.apache.maven.mercury.ant.tasks.Config"/>
+ <typedef name="remote-repositories" classname="org.apache.maven.mercury.ant.tasks.Config"/>
+ <typedef name="remoteRepositories" classname="org.apache.maven.mercury.ant.tasks.Config"/>
<!-- do we need them as upper-level elements ?? -->
<typedef name="auth" classname="org.apache.maven.mercury.ant.tasks.Auth"/>
<typedef name="proxyauth" classname="org.apache.maven.mercury.ant.tasks.Auth"/>
- <!-- good old syntax -->
- <taskdef name="dependencies" classname="org.apache.maven.mercury.ant.tasks.ResolveTask"/>
- <taskdef name="resolve-dependencies" classname="org.apache.maven.mercury.ant.tasks.ResolveTask"/>
-
- <typedef name="localRepository" classname="org.apache.maven.mercury.ant.tasks.Repo"/>
- <typedef name="local-repository" classname="org.apache.maven.mercury.ant.tasks.Repo"/>
- <typedef name="remoteRepository" classname="org.apache.maven.mercury.ant.tasks.Repo"/>
- <typedef name="remote-repository" classname="org.apache.maven.mercury.ant.tasks.Repo"/>
-
</antlib>
Modified: maven/mercury/trunk/mercury-ant-tasks/src/test/java/org/apache/maven/mercury/ant/tasks/MercuryBootstrapTest.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant-tasks/src/test/java/org/apache/maven/mercury/ant/tasks/MercuryBootstrapTest.java?rev=745190&r1=745189&r2=745190&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-ant-tasks/src/test/java/org/apache/maven/mercury/ant/tasks/MercuryBootstrapTest.java (original)
+++ maven/mercury/trunk/mercury-ant-tasks/src/test/java/org/apache/maven/mercury/ant/tasks/MercuryBootstrapTest.java Tue Feb 17 18:44:46 2009
@@ -20,10 +20,14 @@
*/
import java.io.File;
+import java.io.IOException;
import org.apache.maven.mercury.spi.http.server.AuthenticatingTestServer;
import org.apache.maven.mercury.util.FileUtil;
import org.apache.tools.ant.BuildFileTest;
+import org.apache.tools.ant.types.FileList;
+import org.apache.tools.ant.types.FileSet;
+import org.apache.tools.ant.types.selectors.FileSelector;
/**
* @author Oleg Gusakov
@@ -50,6 +54,10 @@
static final String _pathId = "class-path";
+ File _testCopyDir;
+
+ File _testCopyRuntimeDir;
+
AuthenticatingTestServer _jetty;
int _port;
@@ -70,6 +78,14 @@
_localRepoDirFile = new File( _localRepoDir );
FileUtil.delete( _localRepoDirFile );
_localRepoDirFile.mkdirs();
+
+ _testCopyDir = new File( "target/test-copy" );
+ FileUtil.delete( _testCopyDir );
+ _testCopyDir.mkdirs();
+
+ _testCopyRuntimeDir = new File( "target/test-copy-runtime" );
+ FileUtil.delete( _testCopyRuntimeDir );
+ _testCopyRuntimeDir.mkdirs();
_remoteRepoDirFile = new File( _remoteRepoDir );
_jetty = new AuthenticatingTestServer( 0, _remoteRepoDirFile, _remoteRepoUrlSufix, false );
@@ -161,11 +177,13 @@
// -----------------------------------
public void testDownloadPomNonTransitive()
+ throws IOException
{
String title = "download-pom-non-transtive";
System.out.println( "========> start " + title );
System.out.flush();
+ // mercury.classpath
File a0 = new File( _localRepoDirFile, "g0/a0/v0/a0-v0.jar" );
File a1 = new File( _localRepoDirFile, "g1/a1/v1/a1-v1.jar" );
File a2 = new File( _localRepoDirFile, "g2/a2/v2/a2-v2.jar" );
@@ -174,11 +192,70 @@
assertFalse( a1.exists() );
assertFalse( a2.exists() );
+ // mercury.fileset
+ File tc0 = new File( _testCopyDir, "a0-v0.jar" );
+ File tc1 = new File( _testCopyDir, "a1-v1.jar" );
+ File tc2 = new File( _testCopyDir, "a2-v2.jar" );
+
+ assertFalse( tc0.exists() );
+ assertFalse( tc1.exists() );
+ assertFalse( tc2.exists() );
+
+ // mercury.fileset.runtime
+ File tcr0 = new File( _testCopyRuntimeDir, "a0-v0.jar" );
+ File tcr1 = new File( _testCopyRuntimeDir, "a1-v1.jar" );
+ File tcr2 = new File( _testCopyRuntimeDir, "a2-v2.jar" );
+
+ assertFalse( tcr0.exists() );
+ assertFalse( tcr1.exists() );
+ assertFalse( tcr2.exists() );
+
executeTarget( title );
assertTrue( a0.exists() );
assertTrue( a1.exists() );
assertFalse( a2.exists() );
+
+ String cp = getProject().getProperty( "cp" );
+
+// System.out.println( "cp = " + cp );
+
+ // mercury.classpath
+ assertTrue( cp.indexOf( a0.getCanonicalPath() ) != -1 );
+ assertTrue( cp.indexOf( a1.getCanonicalPath() ) != -1 );
+ assertTrue( cp.indexOf( a2.getCanonicalPath() ) == -1 );
+
+ // mercury.fileset
+ assertTrue( tc0.exists() );
+ assertTrue( tc1.exists() );
+ assertFalse( tc2.exists() );
+
+ // mercury.fileset.runtime
+ assertTrue( tcr0.exists() );
+ assertTrue( tcr1.exists() );
+ assertFalse( tcr2.exists() );
+ }
+
+ // -----------------------------------
+ public void testRepoPgp()
+ {
+ String title = "repo-pgp";
+ System.out.println( "========> start " + title );
+ System.out.flush();
+
+ File a0 = new File( _localRepoDirFile, "g0/a0/v0/a0-v0.jar" );
+ File a1 = new File( _localRepoDirFile, "g1/a1/v1/a1-v1.jar" );
+ File a2 = new File( _localRepoDirFile, "g2/a2/v2/a2-v2.jar" );
+
+ assertFalse( a0.exists() );
+ assertFalse( a1.exists() );
+ assertFalse( a2.exists() );
+
+ executeTarget( title );
+//
+// assertTrue( a0.exists() );
+// assertTrue( a1.exists() );
+// assertTrue( a2.exists() );
}
// -----------------------------------
// -----------------------------------
Added: maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/bad/g2/a2/maven-metadata.xml
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/bad/g2/a2/maven-metadata.xml?rev=745190&view=auto
==============================================================================
--- maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/bad/g2/a2/maven-metadata.xml (added)
+++ maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/bad/g2/a2/maven-metadata.xml Tue Feb 17 18:44:46 2009
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+ <groupId>g2</groupId>
+ <artifactId>a2</artifactId>
+ <version>v2</version>
+ <versioning>
+ <versions>
+ <version>v2</version>
+ </versions>
+ </versioning>
+</metadata>
Propchange: maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/bad/g2/a2/maven-metadata.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/bad/g2/a2/maven-metadata.xml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/bad/g2/a2/v2/a2-v2.jar
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/bad/g2/a2/v2/a2-v2.jar?rev=745190&view=auto
==============================================================================
--- maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/bad/g2/a2/v2/a2-v2.jar (added)
+++ maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/bad/g2/a2/v2/a2-v2.jar Tue Feb 17 18:44:46 2009
@@ -0,0 +1 @@
+jar
\ No newline at end of file
Added: maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/bad/g2/a2/v2/a2-v2.pom
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/bad/g2/a2/v2/a2-v2.pom?rev=745190&view=auto
==============================================================================
--- maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/bad/g2/a2/v2/a2-v2.pom (added)
+++ maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/bad/g2/a2/v2/a2-v2.pom Tue Feb 17 18:44:46 2009
@@ -0,0 +1,6 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>g2</groupId>
+ <artifactId>a2</artifactId>
+ <version>v2</version>
+</project>
\ No newline at end of file
Propchange: maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/bad/g2/a2/v2/a2-v2.pom
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/bad/g2/a2/v2/a2-v2.pom
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/bad/g2/a2/v2/maven-metadata.xml
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/bad/g2/a2/v2/maven-metadata.xml?rev=745190&view=auto
==============================================================================
--- maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/bad/g2/a2/v2/maven-metadata.xml (added)
+++ maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/bad/g2/a2/v2/maven-metadata.xml Tue Feb 17 18:44:46 2009
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+ <groupId>g2</groupId>
+ <artifactId>a2</artifactId>
+ <version>v2</version>
+ <versioning>
+ <versions>
+ <version>v2</version>
+ </versions>
+ </versioning>
+</metadata>
Propchange: maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/bad/g2/a2/v2/maven-metadata.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/bad/g2/a2/v2/maven-metadata.xml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g0/a0/maven-metadata.xml
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g0/a0/maven-metadata.xml?rev=745190&view=auto
==============================================================================
--- maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g0/a0/maven-metadata.xml (added)
+++ maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g0/a0/maven-metadata.xml Tue Feb 17 18:44:46 2009
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+ <groupId>g0</groupId>
+ <artifactId>a0</artifactId>
+ <version>v0</version>
+ <versioning>
+ <versions>
+ <version>v0</version>
+ </versions>
+ </versioning>
+</metadata>
Propchange: maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g0/a0/maven-metadata.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g0/a0/maven-metadata.xml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g0/a0/v0/a0-v0.jar
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g0/a0/v0/a0-v0.jar?rev=745190&view=auto
==============================================================================
--- maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g0/a0/v0/a0-v0.jar (added)
+++ maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g0/a0/v0/a0-v0.jar Tue Feb 17 18:44:46 2009
@@ -0,0 +1 @@
+jar
\ No newline at end of file
Added: maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g0/a0/v0/a0-v0.pom
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g0/a0/v0/a0-v0.pom?rev=745190&view=auto
==============================================================================
--- maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g0/a0/v0/a0-v0.pom (added)
+++ maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g0/a0/v0/a0-v0.pom Tue Feb 17 18:44:46 2009
@@ -0,0 +1,6 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>g0</groupId>
+ <artifactId>a0</artifactId>
+ <version>v0</version>
+</project>
\ No newline at end of file
Propchange: maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g0/a0/v0/a0-v0.pom
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g0/a0/v0/a0-v0.pom
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g0/a0/v0/maven-metadata.xml
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g0/a0/v0/maven-metadata.xml?rev=745190&view=auto
==============================================================================
--- maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g0/a0/v0/maven-metadata.xml (added)
+++ maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g0/a0/v0/maven-metadata.xml Tue Feb 17 18:44:46 2009
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+ <groupId>g0</groupId>
+ <artifactId>a0</artifactId>
+ <version>v0</version>
+ <versioning>
+ <versions>
+ <version>v0</version>
+ </versions>
+ </versioning>
+</metadata>
Propchange: maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g0/a0/v0/maven-metadata.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g0/a0/v0/maven-metadata.xml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g1/a1/maven-metadata.xml
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g1/a1/maven-metadata.xml?rev=745190&view=auto
==============================================================================
--- maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g1/a1/maven-metadata.xml (added)
+++ maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g1/a1/maven-metadata.xml Tue Feb 17 18:44:46 2009
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+ <groupId>g1</groupId>
+ <artifactId>a1</artifactId>
+ <version>v1</version>
+ <versioning>
+ <versions>
+ <version>v1</version>
+ </versions>
+ </versioning>
+</metadata>
Propchange: maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g1/a1/maven-metadata.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g1/a1/maven-metadata.xml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g1/a1/v1/a1-v1.jar
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g1/a1/v1/a1-v1.jar?rev=745190&view=auto
==============================================================================
--- maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g1/a1/v1/a1-v1.jar (added)
+++ maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g1/a1/v1/a1-v1.jar Tue Feb 17 18:44:46 2009
@@ -0,0 +1 @@
+jar
\ No newline at end of file
Added: maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g1/a1/v1/a1-v1.pom
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g1/a1/v1/a1-v1.pom?rev=745190&view=auto
==============================================================================
--- maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g1/a1/v1/a1-v1.pom (added)
+++ maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g1/a1/v1/a1-v1.pom Tue Feb 17 18:44:46 2009
@@ -0,0 +1,13 @@
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>g1</groupId>
+ <artifactId>a1</artifactId>
+ <version>v1</version>
+ <dependencies>
+ <dependency>
+ <groupId>g2</groupId>
+ <artifactId>a2</artifactId>
+ <version>v2</version>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file
Propchange: maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g1/a1/v1/a1-v1.pom
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g1/a1/v1/a1-v1.pom
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
Added: maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g1/a1/v1/maven-metadata.xml
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g1/a1/v1/maven-metadata.xml?rev=745190&view=auto
==============================================================================
--- maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g1/a1/v1/maven-metadata.xml (added)
+++ maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g1/a1/v1/maven-metadata.xml Tue Feb 17 18:44:46 2009
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metadata>
+ <groupId>g1</groupId>
+ <artifactId>a1</artifactId>
+ <version>v1</version>
+ <versioning>
+ <versions>
+ <version>v1</version>
+ </versions>
+ </versioning>
+</metadata>
Propchange: maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g1/a1/v1/maven-metadata.xml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/mercury/trunk/mercury-ant-tasks/src/test/resources/remoteRepoBoot/good/g1/a1/v1/maven-metadata.xml
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision