Author: ogusakov Date: Fri Dec 12 11:44:38 2008 New Revision: 726097 URL: http://svn.apache.org/viewvc?rev=726097&view=rev Log: [MERCURY-56] adding repo authentication config
Modified: 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-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactBasicMetadata.java 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=726097&r1=726096&r2=726097&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 Fri Dec 12 11:44:38 2008 @@ -82,7 +82,9 @@ String _dir; String _url; String _type; - + String _authid; + String _proxyauthid; + public void setUrl( String url ) { this._url = url; @@ -97,11 +99,44 @@ { 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 class Auth + extends AbstractDataType + { + 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; + } + } } 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=726097&r1=726096&r2=726097&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 Fri Dec 12 11:44:38 2008 @@ -1,17 +1,10 @@ package org.apache.maven.mercury.ant.tasks; -import java.net.MalformedURLException; import java.util.ArrayList; -import java.util.Collection; import java.util.List; import org.apache.maven.mercury.artifact.ArtifactBasicMetadata; -import org.apache.maven.mercury.metadata.DependencyBuilder; -import org.apache.maven.mercury.metadata.DependencyBuilderFactory; -import org.apache.maven.mercury.repository.api.Repository; -import org.apache.maven.mercury.repository.api.RepositoryException; import org.apache.maven.mercury.util.Util; -import org.apache.tools.ant.BuildException; import org.codehaus.plexus.lang.DefaultLanguage; import org.codehaus.plexus.lang.Language; @@ -64,11 +57,23 @@ public class Dependency { ArtifactBasicMetadata _amd; + + boolean _optional = false; public void setName( String name ) { _amd = new ArtifactBasicMetadata( name ); + + _amd.setOptional( _optional ); } + public void setOptional( boolean optional ) + { + this._optional = optional; + + if( _amd != null ) + _amd.setOptional( optional ); + } + } } \ No newline at end of file Modified: maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactBasicMetadata.java URL: http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactBasicMetadata.java?rev=726097&r1=726096&r2=726097&view=diff ============================================================================== --- maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactBasicMetadata.java (original) +++ maven/mercury/trunk/mercury-artifact/src/main/java/org/apache/maven/mercury/artifact/ArtifactBasicMetadata.java Fri Dec 12 11:44:38 2008 @@ -20,7 +20,10 @@ import java.util.ArrayList; import java.util.Collection; +import java.util.LinkedHashMap; import java.util.List; +import java.util.Map; +import java.util.StringTokenizer; import org.apache.maven.mercury.artifact.version.VersionException; import org.apache.maven.mercury.artifact.version.VersionRange; @@ -70,6 +73,8 @@ protected Collection<ArtifactBasicMetadata> inclusions; protected Collection<ArtifactBasicMetadata> exclusions; + + protected Map<String, String> attributes; /** * transient helper objects, used by DependencyBuilder. @@ -82,6 +87,56 @@ { } //------------------------------------------------------------------ + private void processAttributes( String as ) + { + if( as == null || as.length() < 1 ) + return; + + String attrString = as.trim(); + + if( attrString == null || attrString.length() < 1 ) + return; + + int fromCh = attrString.indexOf( '{' ); + int toCh = attrString.indexOf( '}' ); + + if( fromCh != -1 && toCh != -1 ) + attrString = attrString.substring( fromCh+1, toCh ); + + String [] entries = attrString.split( "," ); + + if( entries != null ) + for( int i=0; i<entries.length; i++ ) + { + String e = entries[i]; + + if( e == null ) + continue; + + int eq = e.indexOf( '=' ); + + if( eq == -1 ) + continue; + + if( attributes == null ) + attributes = new LinkedHashMap<String, String>( entries.length ); + + String name = e.substring( 0, eq ); + + if( name == null ) + continue; + + name = name.trim(); + + String val = e.substring( eq+1 ); + + if( val != null ) + val = val.trim(); + + attributes.put( name, val ); + } + } + //------------------------------------------------------------------ /** * create basic out of <b>group:artifact:version:classifier:type</b> string, use * empty string to specify missing component - for instance query for common-1.3.zip @@ -115,6 +170,12 @@ if( this.type == null || this.type.length() < 1 ) this.type = DEFAULT_ARTIFACT_TYPE; + + if( count > 5 ) + this.scope = nullify( tokens[5] ); + + if( count > 6 ) + processAttributes( nullify( tokens[6] ) ); } //------------------------------------------------------------------ /**