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 2008/12/26 07:50:18 UTC
svn commit: r729455 - in /maven/mercury/trunk/mercury-ant/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/
Author: ogusakov
Date: Thu Dec 25 22:50:17 2008
New Revision: 729455
URL: http://svn.apache.org/viewvc?rev=729455&view=rev
Log:
[MERCURY-65] new syntax works, still need IT for pom attribute
Added:
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Auth.java (with props)
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Repo.java (with props)
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/resources/org/apache/maven/mercury/ant/tasks/Messages.properties
- copied, changed from r729251, maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Messages.properties
Removed:
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/mercury-build.xml
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Messages.properties
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/AbstractAntTask.java
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/Dep.java
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
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=729455&r1=729454&r2=729455&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-ant/mercury-ant-tasks/build.xml (original)
+++ maven/mercury/trunk/mercury-ant/mercury-ant-tasks/build.xml Thu Dec 25 22:50:17 2008
@@ -21,7 +21,12 @@
<property name="local.repo.dir" value="${basedir}/target/test-repo"/>
<delete dir="${local.repo.dir}"/>
<mkdir dir="${local.repo.dir}"/>
+
+ <taskdef resource="org/apache/maven/mercury/ant/tasks/antlib.xml"/>
+ <!--
+ | The most complex way to configure repositories
+ -->
<merc:config id="conf">
<merc:repo id="localRepo" dir="${local.repo.dir}"/>
<merc:repo id="central" url="http://repo1.maven.org/maven2"/>
@@ -79,7 +84,6 @@
<javac srcdir="${src}"
destdir="${target}"
classpathref="compile-path"
- debug="on"
source="${compiler.version}"
target="${compiler.version}"
/>
@@ -112,7 +116,6 @@
<javac srcdir="${src}"
destdir="${target}"
classpathref="compile-path-auth"
- debug="on"
source="${compiler.version}"
target="${compiler.version}"
/>
@@ -183,7 +186,6 @@
<target name="compile-thin-path" depends="init">
<javac srcdir="${src}"
destdir="${target}"
- debug="on"
source="${compiler.version}"
target="${compiler.version}"
>
@@ -197,19 +199,50 @@
<target name="compile-thin-path-2" depends="init">
- <path id="thin-path-2">
- <merc:dep>
+ <path id="thin-path-2">
+ <merc:dep>
<merc:dependency name="asm:asm:3.0"/>
</merc:dep>
</path>
- <javac srcdir="${src}"
+ <javac srcdir="${src}"
destdir="${target}"
- classpathref="thin-path-2"
- debug="on"
+ classpathref="thin-path-2"
source="${compiler.version}"
target="${compiler.version}"
/>
</target>
+
+ <target name="compile-fail" depends="init">
+ <javac srcdir="${src}"
+ destdir="${target}"
+ source="${compiler.version}"
+ target="${compiler.version}"
+ />
+ </target>
+
+
+
+ <target name="compile-thin-path-3" depends="init">
+
+ <repository id="localPath3" dir="${basedir}/target/path-3"/>
+
+ <repository id="remotePath3" url="http://localhost:${repo.port}/maven2">
+ <auth name="foo" pass="bar"/>
+ </repository>
+
+ <javac srcdir="${src}"
+ destdir="${target}"
+ source="${compiler.version}"
+ target="${compiler.version}"
+ >
+ <classpath>
+ <deps>
+ <dependency name="asm:asm:3.0"/>
+ </deps>
+ </classpath>
+ </javac>
+
+ </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/AbstractAntTask.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/AbstractAntTask.java?rev=729455&r1=729454&r2=729455&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/AbstractAntTask.java (original)
+++ maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/AbstractAntTask.java Thu Dec 25 22:50:17 2008
@@ -13,7 +13,7 @@
public class AbstractAntTask
extends Task
{
- private static final Language _lang = new DefaultLanguage( ResolveTask.class );
+ private static final Language LANG = new DefaultLanguage( ResolveTask.class );
protected boolean _failOnError = true;
@@ -39,17 +39,17 @@
if ( configId == null )
{
- config = new Config( null, null );
+ config = Config.getDefaultConfig( project );
}
else
{
Object so = project.getReference( configId );
if ( so == null )
- throw new Exception( _lang.getMessage( "config.id.object.null", configId ) );
+ throw new Exception( LANG.getMessage( "config.id.object.null", configId ) );
if ( !Config.class.isAssignableFrom( so.getClass() ) )
- throw new Exception( _lang.getMessage( "config.id.object.wrong", configId, so.getClass().getName() ) );
+ throw new Exception( LANG.getMessage( "config.id.object.wrong", configId, so.getClass().getName() ) );
config = (Config) so;
}
Added: maven/mercury/trunk/mercury-ant/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/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Auth.java?rev=729455&view=auto
==============================================================================
--- maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Auth.java (added)
+++ maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Auth.java Thu Dec 25 22:50:17 2008
@@ -0,0 +1,80 @@
+package org.apache.maven.mercury.ant.tasks;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.apache.maven.mercury.transport.api.Credentials;
+import org.apache.maven.mercury.util.FileUtil;
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.Project;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
+
+/**
+ * @author Oleg Gusakov
+ * @version $Id$
+ */
+public class Auth
+ extends AbstractDataType
+{
+ private static final Language LANG = new DefaultLanguage( Auth.class );
+
+ private static final String DEFAULT_AUTH_ID = System.getProperty( "mercury.default.auth.id"
+ , "mercury.default.auth.id."+System.currentTimeMillis()
+ );
+ String _name;
+
+ String _pass;
+
+ String _certfile;
+
+ public void setName( String name )
+ {
+ this._name = name;
+ }
+
+ public void setPass( String pass )
+ {
+ this._pass = pass;
+ }
+
+ public void setCertfile( String certfile )
+ {
+ this._certfile = certfile;
+ }
+
+ protected static Auth findAuth( Project project, String authId )
+ {
+ Object ao = authId == null ? project.getReference( DEFAULT_AUTH_ID ) : project.getReference( authId );
+
+ if( ao == null )
+ return null;
+
+ return (Auth) ao;
+ }
+
+ protected Credentials createCredentials()
+ {
+ Credentials cred = null;
+
+ if ( _certfile != null )
+ {
+ File cf = new File( _certfile );
+ if ( !cf.exists() )
+ throw new BuildException( LANG.getMessage( "config.no.cert.file", _certfile ) );
+
+ try
+ {
+ cred = new Credentials( FileUtil.readRawData( cf ), _name, _pass );
+ }
+ catch ( IOException e )
+ {
+ throw new BuildException( e );
+ }
+ }
+ else
+ cred = new Credentials( _name, _pass );
+
+ return cred;
+ }
+}
Propchange: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Auth.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Auth.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
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=729455&r1=729454&r2=729455&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 Thu Dec 25 22:50:17 2008
@@ -1,32 +1,12 @@
package org.apache.maven.mercury.ant.tasks;
-import java.io.File;
-import java.io.IOException;
-import java.net.MalformedURLException;
-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;
-import org.apache.maven.mercury.transport.api.Credentials;
-import org.apache.maven.mercury.transport.api.Server;
-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.apache.tools.ant.Project;
import org.codehaus.plexus.lang.DefaultLanguage;
import org.codehaus.plexus.lang.Language;
@@ -35,13 +15,17 @@
* @version $Id$
*/
public class Config
- extends AbstractDataType
+extends AbstractDataType
{
- private static final Language _lang = new DefaultLanguage( Config.class );
+ private static final Language LANG = new DefaultLanguage( Config.class );
private static final String DEFAULT_LOCAL_DIR = System.getProperty( "user.home" )+"/.m2/repository";
- private static final String DEFAULT_CENTRAL_URL = System.getProperty( "maven.central.url", "http://repo1.maven.org/maven2" );
+ private static final String DEFAULT_CENTRAL_URL = System.getProperty( "mercury.central.url", "http://repo1.maven.org/maven2" );
+
+ private static final String DEFAULT_CONFIG_ID = System.getProperty( "mercury.default.config.id"
+ , "mercury.default.config.id."+System.currentTimeMillis()
+ );
Collection<Repo> _repos;
@@ -49,9 +33,12 @@
Collection<Repository> _repositories;
- public Config( String localDir, String remoteUrl )
+ public Config()
+ {
+ }
+
+ private Config( String localDir, String remoteUrl )
{
-
Repo local = createRepo();
local.setId( "defaultLocalRepo" );
local.setDir( localDir == null ? DEFAULT_LOCAL_DIR : localDir );
@@ -59,11 +46,6 @@
Repo central = createRepo();
central.setId( "central" );
central.setUrl( remoteUrl == null ? DEFAULT_CENTRAL_URL : remoteUrl );
-
- }
-
- public Config()
- {
}
public Collection<Repository> getRepositories()
@@ -83,380 +65,67 @@
return _repositories;
}
- private static Credentials createCredentials( Auth a )
- {
- Credentials cred = null;
-
- if ( a._certfile != null )
- {
- File cf = new File( a._certfile );
- if ( !cf.exists() )
- throw new BuildException( _lang.getMessage( "config.no.cert.file", a._certfile ) );
-
- try
- {
- cred = new Credentials( FileUtil.readRawData( cf ), a._name, a._pass );
- }
- catch ( IOException e )
- {
- throw new BuildException( e );
- }
- }
- else
- cred = new Credentials( a._name, a._pass );
-
- return cred;
- }
-
public Repo createRepo()
{
- if ( _repos == null )
- _repos = new ArrayList<Repo>( 4 );
-
- Repo r = new Repo();
+ Repo r = new Repo(true);
- _repos.add( r );
+ listRepo( r );
return r;
}
- public Auth createAuth()
+ protected void listRepo( Repo repo )
{
- if ( _auths == null )
- _auths = new ArrayList<Auth>( 4 );
-
- Auth a = new Auth();
-
- _auths.add( a );
+ if ( _repos == null )
+ _repos = new ArrayList<Repo>( 4 );
- return a;
+ _repos.add( repo );
}
-
- public class Repo
- extends AbstractDataType
+
+ public static void addDefaultRepository( Project project, Repo repo )
{
- String _dir;
-
- String _url;
-
- String _type;
-
- 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;
- }
-
- public void setDir( String dir )
- {
- this._dir = dir;
- }
-
- public void setType( String type )
- {
- this._type = type;
- }
-
- public void setAuthid( String authid )
- {
- this._authid = authid;
- }
-
- public void setProxyauthid( String proxyauthid )
- {
- this._proxyauthid = proxyauthid;
- }
-
- boolean isLocal()
- {
- 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 );
+ Object co = project.getReference( DEFAULT_CONFIG_ID );
- 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()
+ if( co == null )
{
- 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;
+ co = new Config();
+
+ project.addReference( DEFAULT_CONFIG_ID, co );
}
-
+
+ Config config = (Config) co;
+
+ config.listRepo( repo );
}
-
- public class Auth
- extends AbstractDataType
+
+ public static Config getDefaultConfig( Project project )
{
- String _name;
-
- String _pass;
-
- String _certfile;
-
- public void setName( String name )
- {
- this._name = name;
- }
-
- public void setPass( String pass )
+ Object co = project.getReference( DEFAULT_CONFIG_ID );
+ if( co == null )
{
- this._pass = pass;
- }
-
- public void setCertfile( String certfile )
- {
- this._certfile = certfile;
+ co = new Config( null, null );
+
+ project.addReference( DEFAULT_CONFIG_ID, co );
}
+
+ Config config = (Config) co;
+
+ return config;
}
- public class Verify
- extends AbstractDataType
+ public Auth createAuth()
{
- 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() );
- }
+ if ( _auths == null )
+ _auths = new ArrayList<Auth>( 4 );
- public StreamVerifierFactory getVerifierFactory()
- throws BuildException
- {
- if ( _type == null )
- throw new BuildException( _lang.getMessage( "config.repo.verifier.no.type" ) );
+ Auth a = new Auth();
- if ( _properties == null || _properties.isEmpty() )
- throw new BuildException( _lang.getMessage( "config.repo.verifier.no.properties", _type ) );
+ _auths.add( a );
- 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 a;
+ }
- 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/Dep.java
URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Dep.java?rev=729455&r1=729454&r2=729455&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Dep.java (original)
+++ maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Dep.java Thu Dec 25 22:50:17 2008
@@ -33,8 +33,8 @@
extends AbstractDataType
implements ResourceCollection
{
- private static final Language _lang = new DefaultLanguage( Dep.class );
- private static final IMercuryLogger _log = MercuryLoggerManager.getLogger( Dep.class );
+ private static final Language LANG = new DefaultLanguage( Dep.class );
+ private static final IMercuryLogger LOG = MercuryLoggerManager.getLogger( Dep.class );
private List<Dependency> _dependencies;
@@ -59,7 +59,7 @@
for ( Dependency d : _dependencies )
{
if( d._amd == null )
- throw new IllegalArgumentException( _lang.getMessage( "dep.dependency.name.mandatory" ) );
+ throw new IllegalArgumentException( LANG.getMessage( "dep.dependency.name.mandatory" ) );
if( Util.isEmpty( d._pom ))
res.add( d._amd );
@@ -112,7 +112,7 @@
this._pom = pom;
if( _amd == null )
- throw new UnsupportedOperationException( _lang.getMessage( "dep.dependency.pom.needs.name", pom ) );
+ throw new UnsupportedOperationException( LANG.getMessage( "dep.dependency.pom.needs.name", pom ) );
}
}
@@ -149,11 +149,11 @@
ArtifactResults aRes = vr.readArtifacts( res );
if ( aRes == null )
- throw new BuildException( _lang.getMessage( "resolve.cannot.read", config.getId(), res.toString() ) );
+ throw new BuildException( LANG.getMessage( "resolve.cannot.read", config.getId(), res.toString() ) );
if ( aRes == null || aRes.hasExceptions() )
{
- throw new Exception( _lang.getMessage( "vr.error", aRes.getExceptions().toString() ) );
+ throw new Exception( LANG.getMessage( "vr.error", aRes.getExceptions().toString() ) );
}
if ( !aRes.hasResults() )
@@ -234,7 +234,7 @@
}
catch ( Exception e )
{
- _log.error( e.getMessage() );
+ LOG.error( e.getMessage() );
return null;
}
@@ -253,7 +253,7 @@
}
catch ( Exception e )
{
- _log.error( e.getMessage() );
+ LOG.error( e.getMessage() );
return 0;
}
Added: maven/mercury/trunk/mercury-ant/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/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Repo.java?rev=729455&view=auto
==============================================================================
--- maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Repo.java (added)
+++ maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Repo.java Thu Dec 25 22:50:17 2008
@@ -0,0 +1,388 @@
+package org.apache.maven.mercury.ant.tasks;
+
+import java.io.File;
+import java.net.MalformedURLException;
+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;
+import org.apache.maven.mercury.transport.api.Credentials;
+import org.apache.maven.mercury.transport.api.Server;
+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;
+
+/**
+ * repository data type
+ *
+ * @author Oleg Gusakov
+ * @version $Id$
+ */
+public class Repo
+ extends AbstractDataType
+{
+ private static final Language LANG = new DefaultLanguage( Repo.class );
+
+ String _dir;
+
+ String _url;
+
+ String _type;
+
+ String _authid;
+
+ String _proxyauthid;
+
+ boolean _readable = true;
+
+ boolean _writeable = false;
+
+ Auth _auth;
+
+ Auth _proxyAuth;
+
+ List<Verify> _writeVerifiers;
+
+ List<Verify> _readVerifiers;
+
+ transient boolean _managed = false;
+
+ transient boolean _registered = false;
+
+ public Repo()
+ {
+ }
+
+ public Repo( boolean managed )
+ {
+ _managed = managed;
+ }
+
+ @Override
+ public void setId( String id )
+ {
+ super.setId( id );
+
+ if( _managed )
+ return;
+
+ Config.addDefaultRepository( getProject(), this );
+
+ }
+
+ public void setReadable( boolean readable )
+ {
+ this._readable = readable;
+ }
+
+ public void setWriteable( boolean writeable )
+ {
+ this._writeable = writeable;
+ }
+
+ public void setUrl( String url )
+ {
+ if( getId() == null )
+ throw new IllegalArgumentException( LANG.getMessage( "repo.no.id", url ) );
+
+ this._url = url;
+ }
+
+ public void setDir( String dir )
+ {
+ if( getId() == null )
+ throw new IllegalArgumentException( LANG.getMessage( "repo.no.id", dir ) );
+
+ this._dir = dir;
+ }
+
+ public void setType( String type )
+ {
+ this._type = type;
+ }
+
+ public void setAuthid( String authid )
+ {
+ this._authid = authid;
+ }
+
+ public void setProxyauthid( String proxyauthid )
+ {
+ this._proxyauthid = proxyauthid;
+ }
+
+ boolean isLocal()
+ {
+ 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 );
+ }
+
+ Auth au = null;
+
+ if( _auth != null )
+ {
+ au = _auth;
+ }
+ else if ( _authid != null )
+ {
+ au = Auth.findAuth( getProject(), _authid );
+
+ if ( au == null )
+ throw new BuildException( LANG.getMessage( "config.no.auth.for.id", _authid ) );
+ }
+
+ if( au != null )
+ {
+ Credentials serverCred = au.createCredentials();
+
+ server.setServerCredentials( serverCred );
+
+ au = null;
+ }
+
+ if( _proxyAuth != null )
+ {
+ au = _proxyAuth;
+ }
+ else if ( _proxyauthid != null )
+ {
+ au = Auth.findAuth( getProject(), _proxyauthid );
+
+ if ( au == null )
+ throw new BuildException( LANG.getMessage( "config.no.proxy.auth.for.id", _proxyauthid ) );
+ }
+
+ if( au != null )
+ {
+ Credentials proxyCred = au.createCredentials();
+
+ server.setProxyCredentials( proxyCred );
+ }
+
+ r = new RemoteRepositoryM2( server, dp );
+ }
+
+ return r;
+ }
+
+ public Auth createAuth()
+ {
+ _auth = new Auth();
+
+ return _auth;
+ }
+
+ public Auth createProxyauth()
+ {
+ _auth = new Auth();
+
+ return _auth;
+ }
+
+ 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 ) );
+ }
+}
+
+}
Propchange: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Repo.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Repo.java
------------------------------------------------------------------------------
svn:keywords = Author Date Id Revision
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=729455&r1=729454&r2=729455&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 Thu Dec 25 22:50:17 2008
@@ -24,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;
@@ -82,7 +82,7 @@
{
if( _repoid == null )
{
- throwIfEnabled( _lang.getMessage( "write.repo.id.mandatory" ) );
+ throwIfEnabled( LANG.getMessage( "write.repo.id.mandatory" ) );
return;
}
@@ -90,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;
}
@@ -104,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;
}
@@ -157,7 +157,7 @@
}
else
{
- throwIfEnabled( _lang.getMessage( "write.pom.not.supported", _file, _repoid ) );
+ throwIfEnabled( LANG.getMessage( "write.pom.not.supported", _file, _repoid ) );
return;
}
Copied: maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/resources/org/apache/maven/mercury/ant/tasks/Messages.properties (from r729251, 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/resources/org/apache/maven/mercury/ant/tasks/Messages.properties?p2=maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/resources/org/apache/maven/mercury/ant/tasks/Messages.properties&p1=maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/Messages.properties&r1=729251&r2=729455&rev=729455&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/resources/org/apache/maven/mercury/ant/tasks/Messages.properties Thu Dec 25 22:50:17 2008
@@ -36,7 +36,8 @@
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
+config.repo.verifier.pgp.bad.keyid=Bad key "{0}" for secret keyring {1}; expected to see 16 hex number, but did not find them
+repo.no.id=repo {0} does not have an id attribute, or it's not the first attribute.
dep.pom.not.implemented=pom attribute not implemented for <dep ../> tag
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=729455&r1=729454&r2=729455&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 Thu Dec 25 22:50:17 2008
@@ -7,6 +7,10 @@
<taskdef name="write" classname="org.apache.maven.mercury.ant.tasks.WriteTask"/>
<typedef name="dep" classname="org.apache.maven.mercury.ant.tasks.Dep"/>
+ <typedef name="deps" classname="org.apache.maven.mercury.ant.tasks.Dep"/>
<typedef name="config" classname="org.apache.maven.mercury.ant.tasks.Config"/>
+ <typedef name="repository" classname="org.apache.maven.mercury.ant.tasks.Repo"/>
+ <typedef name="auth" classname="org.apache.maven.mercury.ant.tasks.Auth"/>
+ <typedef name="proxyauth" classname="org.apache.maven.mercury.ant.tasks.Auth"/>
</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=729455&r1=729454&r2=729455&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 Thu Dec 25 22:50:17 2008
@@ -114,7 +114,7 @@
FileUtil.delete( _localRepoDirFile );
_localRepoDirFile.mkdirs();
- Config.Repo localRepo = _config.createRepo();
+ Repo localRepo = _config.createRepo();
localRepo.setId( "localRepo" );
localRepo.setDir( _localRepoDir );
@@ -123,7 +123,7 @@
_jetty.start();
_port = _jetty.getPort();
- Config.Repo remoteRepo = _config.createRepo();
+ Repo remoteRepo = _config.createRepo();
remoteRepo.setId( "remoteRepo" );
remoteRepo.setUrl( _remoteRepoUrlPrefix + _port + _remoteRepoUrlSufix );
@@ -225,6 +225,31 @@
}
// -----------------------------------
+ public void testCompileFail()
+ {
+ String title = "compile-fail";
+ System.out.println( "========> start " + title );
+ System.out.flush();
+
+ File af = new File( _compileDirFile, "T.class" );
+
+ assertFalse( af.exists() );
+
+ try
+ {
+ executeTarget( title );
+
+ fail(title+" did not raise an exception");
+ }
+ catch( Throwable e )
+ {
+ System.out.println("Expected exception: "+e.getMessage() );
+ }
+
+ assertFalse( af.exists() );
+ }
+
+ // -----------------------------------
public void testCompile()
{
String title = "compile";
@@ -279,6 +304,33 @@
}
// -----------------------------------
+ public void testCompileThinPath3()
+ throws Exception
+ {
+ String title = "compile-thin-path-3";
+ System.out.println( "========> start " + title );
+ System.out.flush();
+
+ restart( _port, _remoteRepoDirFile, "/maven2", true );
+
+ File af = new File( _compileDirFile, "T.class" );
+
+ assertFalse( af.exists() );
+
+ File asm = new File( "target/path-3/asm/asm/3.0/asm-3.0.jar" );
+
+ asm.delete();
+
+ assertFalse( asm.exists() );
+
+ executeTarget( title );
+
+ assertTrue( af.exists() );
+
+ assertTrue( asm.exists() );
+ }
+
+ // -----------------------------------
public void testBadAuthRepo()
throws Exception
{