Author: ogusakov
Date: Mon Dec 22 18:15:07 2008
New Revision: 728847
URL: http://svn.apache.org/viewvc?rev=728847&view=rev
Log:
[MERCURY-65] preparing alternative syntax for ant tasks
Modified:
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/Dep.java
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/ResolveTask.java
maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryWriterM2.java
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=728847&r1=728846&r2=728847&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
Mon Dec 22 18:15:07 2008
@@ -1,31 +1,61 @@
package org.apache.maven.mercury.ant.tasks;
import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.Project;
import org.apache.tools.ant.Task;
+import org.codehaus.plexus.lang.DefaultLanguage;
+import org.codehaus.plexus.lang.Language;
/**
- *
- *
* @author Oleg Gusakov
* @version $Id$
- *
*/
public class AbstractAntTask
-extends Task
+ extends Task
{
- protected boolean _failOnError = true;
-
//----------------------------------------------------------------------------------------
- public void setFailonerror( boolean failonerror )
- {
- this._failOnError = failonerror;
- }
-
//----------------------------------------------------------------------------------------
- protected void throwIfEnabled( String msg )
- throws BuildException
- {
- if( _failOnError )
- throw new BuildException( msg );
- }
-
//----------------------------------------------------------------------------------------
-
//----------------------------------------------------------------------------------------
+ private static final Language _lang = new DefaultLanguage(
ResolveTask.class );
+
+ protected boolean _failOnError = true;
+
+ //
----------------------------------------------------------------------------------------
+ public void setFailonerror( boolean failonerror )
+ {
+ this._failOnError = failonerror;
+ }
+
+ //
----------------------------------------------------------------------------------------
+ protected void throwIfEnabled( String msg )
+ throws BuildException
+ {
+ if ( _failOnError )
+ throw new BuildException( msg );
+ }
+
+ //
----------------------------------------------------------------------------------------
+ public static final Config findConfig( Project project, String configId )
+ throws Exception
+ {
+ Config config = null;
+
+ if ( configId == null )
+ {
+ config = new Config( null, null );
+ }
+ else
+ {
+ Object so = project.getReference( configId );
+
+ if ( so == null )
+ 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() ) );
+
+ config = (Config) so;
+ }
+
+ return config;
+ }
+ //
----------------------------------------------------------------------------------------
+ //
----------------------------------------------------------------------------------------
}
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=728847&r1=728846&r2=728847&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
Mon Dec 22 18:15:07 2008
@@ -1,6 +1,5 @@
package org.apache.maven.mercury.ant.tasks;
-import java.io.File;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
@@ -11,6 +10,8 @@
import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
import org.apache.maven.mercury.artifact.ArtifactMetadata;
import org.apache.maven.mercury.artifact.ArtifactScopeEnum;
+import org.apache.maven.mercury.logging.IMercuryLogger;
+import org.apache.maven.mercury.logging.MercuryLoggerManager;
import org.apache.maven.mercury.metadata.DependencyBuilder;
import org.apache.maven.mercury.metadata.DependencyBuilderFactory;
import org.apache.maven.mercury.repository.api.ArtifactResults;
@@ -18,7 +19,6 @@
import org.apache.maven.mercury.repository.virtual.VirtualRepositoryReader;
import org.apache.maven.mercury.util.Util;
import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.types.FileList;
import org.apache.tools.ant.types.ResourceCollection;
import org.codehaus.plexus.lang.DefaultLanguage;
import org.codehaus.plexus.lang.Language;
@@ -32,22 +32,17 @@
implements ResourceCollection
{
private static final Language _lang = new DefaultLanguage( Dep.class );
+ private static final IMercuryLogger _log = MercuryLoggerManager.getLogger(
Dep.class );
private List<Dependency> _dependencies;
private List<Artifact> _artifacts;
+
+ private String _configId;
- private boolean _transitive = true;
+ private ArtifactScopeEnum _scope = ArtifactScopeEnum.compile;
- public void setTransitive( boolean val )
- {
- this._transitive = val;
- }
-
- protected void setList( List<Dependency> dependencies )
- {
- _dependencies = dependencies;
- }
+ private boolean _transitive = true;
protected List<ArtifactBasicMetadata> getDependencies()
{
@@ -97,6 +92,12 @@
}
//----------------------------------------------------------------------------------------
+ protected List<Artifact> resolve()
+ throws Exception
+ {
+ return resolve( AbstractAntTask.findConfig( getProject(), _configId ),
_scope );
+ }
+
//----------------------------------------------------------------------------------------
protected List<Artifact> resolve( Config config, ArtifactScopeEnum scope )
throws Exception
{
@@ -155,10 +156,30 @@
for ( Artifact a : artifacts )
_artifacts.add( a );
}
-
-
+
return _artifacts;
}
+
+ // attributes
+ public void setConfigid( String configid )
+ {
+ this._configId = configid;
+ }
+
+ public void setScope( ArtifactScopeEnum scope )
+ {
+ this._scope = scope;
+ }
+
+ public void setTransitive( boolean val )
+ {
+ this._transitive = val;
+ }
+
+ protected void setList( List<Dependency> dependencies )
+ {
+ _dependencies = dependencies;
+ }
//----------------------------------------------------------------------------------------
public boolean isFilesystemOnly()
{
@@ -167,12 +188,39 @@
public Iterator iterator()
{
- return null;
+ try
+ {
+ List<Artifact> artifacts = resolve();
+
+ if( Util.isEmpty( artifacts ) )
+ return null;
+
+ return artifacts.iterator();
+ }
+ catch ( Exception e )
+ {
+ _log.error( e.getMessage() );
+
+ return null;
+ }
}
public int size()
{
- // TODO Auto-generated method stub
- return 0;
+ try
+ {
+ List<Artifact> artifacts = resolve();
+
+ if( Util.isEmpty( artifacts ) )
+ return 0;
+
+ return artifacts.size();
+ }
+ catch ( Exception e )
+ {
+ _log.error( e.getMessage() );
+
+ return 0;
+ }
}
}
\ No newline at end of file
Modified:
maven/mercury/trunk/mercury-ant/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/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/ResolveTask.java?rev=728847&r1=728846&r2=728847&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/ResolveTask.java
(original)
+++
maven/mercury/trunk/mercury-ant/mercury-ant-tasks/src/main/java/org/apache/maven/mercury/ant/tasks/ResolveTask.java
Mon Dec 22 18:15:07 2008
@@ -4,17 +4,9 @@
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
-import java.util.Map;
import org.apache.maven.mercury.artifact.Artifact;
-import org.apache.maven.mercury.artifact.ArtifactBasicMetadata;
-import org.apache.maven.mercury.artifact.ArtifactMetadata;
import org.apache.maven.mercury.artifact.ArtifactScopeEnum;
-import org.apache.maven.mercury.metadata.DependencyBuilder;
-import org.apache.maven.mercury.metadata.DependencyBuilderFactory;
-import org.apache.maven.mercury.repository.api.ArtifactResults;
-import org.apache.maven.mercury.repository.api.Repository;
-import org.apache.maven.mercury.repository.virtual.VirtualRepositoryReader;
import org.apache.maven.mercury.util.Util;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.types.FileList;
@@ -45,7 +37,7 @@
private String _depId;
- private ArtifactScopeEnum scope = ArtifactScopeEnum.compile;
+ private ArtifactScopeEnum _scope = ArtifactScopeEnum.compile;
private List<Dep.Dependency> _dependencies;
@@ -67,33 +59,6 @@
public void execute()
throws BuildException
{
-
- // Config
-
- Config config = null;
- if ( _configId == null )
- {
- config = new Config( null, null );
- }
- else
- {
- Object so = getProject().getReference( _configId );
-
- if ( so == null )
- {
- throwIfEnabled( _lang.getMessage( "config.id.object.null",
_configId ) );
- return;
- }
-
- if ( !Config.class.isAssignableFrom( so.getClass() ) )
- {
- throwIfEnabled( _lang.getMessage( "config.id.object.wrong",
_configId, so.getClass().getName() ) );
- return;
- }
-
- config = (Config) so;
- }
-
// Dependencies
Dep dep = null;
@@ -154,7 +119,9 @@
try
{
- Collection<Artifact> artifacts = dep.resolve( config, scope );
+ Config config = AbstractAntTask.findConfig( getProject(),
_configId );
+
+ Collection<Artifact> artifacts = dep.resolve( config, _scope );
if ( artifacts == null )
return;
@@ -265,7 +232,7 @@
public void setScope( ArtifactScopeEnum scope )
{
- this.scope = scope;
+ this._scope = scope;
}
public void addConfiguredDependency( Dep.Dependency dependency )
Modified:
maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryWriterM2.java
URL:
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryWriterM2.java?rev=728847&r1=728846&r2=728847&view=diff
==============================================================================
---
maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryWriterM2.java
(original)
+++
maven/mercury/trunk/mercury-repo/mercury-repo-remote-m2/src/main/java/org/apache/maven/mercury/repository/remote/m2/RemoteRepositoryWriterM2.java
Mon Dec 22 18:15:07 2008
@@ -66,8 +66,8 @@
extends AbstractRepositoryWriter
implements RepositoryWriter
{
- private static final IMercuryLogger LOG = MercuryLoggerManager.getLogger(
RemoteRepositoryWriterM2.class );
- private static final Language LANG = new DefaultLanguage(
RemoteRepositoryWriterM2.class );
+ private static final IMercuryLogger _log = MercuryLoggerManager.getLogger(
RemoteRepositoryWriterM2.class );
+ private static final Language _lang = new DefaultLanguage(
RemoteRepositoryWriterM2.class );
//---------------------------------------------------------------------------------------------------------------
private static final String [] _protocols = new String [] { "http", "https",
"dav", "webdav" };
@@ -86,10 +86,10 @@
_server = repo.getServer();
if( _server == null )
- throw new IllegalArgumentException( LANG.getMessage(
"bad.repository.server.null" ) );
+ throw new IllegalArgumentException( _lang.getMessage(
"bad.repository.server.null" ) );
if( _server.getURL() == null )
- throw new IllegalArgumentException(LANG.getMessage(
"bad.repository.server.url.null" ));
+ throw new IllegalArgumentException(_lang.getMessage(
"bad.repository.server.url.null" ));
_repo = repo;
@@ -151,10 +151,10 @@
throws RepositoryException
{
if( artifact == null )
- throw new RepositoryException( LANG.getMessage( "null.artifact") );
+ throw new RepositoryException( _lang.getMessage( "null.artifact") );
if( artifact.getFile() == null || !artifact.getFile().exists() )
- throw new RepositoryException( LANG.getMessage( "bad.artifact.file",
artifact.toString(), (artifact.getFile() == null ? "null" :
artifact.getFile().getAbsolutePath()) ) );
+ throw new RepositoryException( _lang.getMessage( "bad.artifact.file",
artifact.toString(), (artifact.getFile() == null ? "null" :
artifact.getFile().getAbsolutePath()) ) );
boolean isPom = "pom".equals( artifact.getType() );
@@ -162,7 +162,7 @@
boolean hasPomBlob = pomBlob != null && pomBlob.length > 0;
if( !artifact.hasClassifier() && !hasPomBlob )
- throw new RepositoryException( LANG.getMessage(
"no.pom.in.primary.artifact", artifact.toString() ) );
+ throw new RepositoryException( _lang.getMessage(
"no.pom.in.primary.artifact", artifact.toString() ) );
InputStream in = artifact.getStream();
if( in == null )
@@ -170,7 +170,7 @@
File aFile = artifact.getFile();
if( aFile == null && !isPom )
{
- throw new RepositoryException( LANG.getMessage( "artifact.no.stream",
artifact.toString() ) );
+ throw new RepositoryException( _lang.getMessage( "artifact.no.stream",
artifact.toString() ) );
}
try
@@ -180,7 +180,7 @@
catch( FileNotFoundException e )
{
if( !isPom )
- throw new RepositoryException( LANG.getMessage( "artifact.no.file",
artifact.toString(), aFile.getAbsolutePath(), e.getMessage() ) );
+ throw new RepositoryException( _lang.getMessage( "artifact.no.file",
artifact.toString(), aFile.getAbsolutePath(), e.getMessage() ) );
}
}
DefaultArtifactVersion dav = new DefaultArtifactVersion(
artifact.getVersion() );
@@ -195,7 +195,7 @@
if( isPom )
{
if( in == null && !hasPomBlob )
- throw new RepositoryException( LANG.getMessage(
"pom.artifact.no.stream", artifact.toString() ) );
+ throw new RepositoryException( _lang.getMessage(
"pom.artifact.no.stream", artifact.toString() ) );
if( in != null )
{