You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2016/09/15 21:10:52 UTC
[5/7] maven-resolver git commit: MNG-6007 renamed package to Maven
Artifact Resolver
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/b5f1ab9c/src/main/java/org/apache/maven/aether/internal/ant/types/Dependency.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/maven/aether/internal/ant/types/Dependency.java b/src/main/java/org/apache/maven/aether/internal/ant/types/Dependency.java
deleted file mode 100644
index af93e86..0000000
--- a/src/main/java/org/apache/maven/aether/internal/ant/types/Dependency.java
+++ /dev/null
@@ -1,329 +0,0 @@
-package org.apache.maven.aether.internal.ant.types;
-
-/*
- * 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.
- */
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.Task;
-import org.apache.tools.ant.types.DataType;
-import org.apache.tools.ant.types.Reference;
-
-/**
- */
-public class Dependency
- extends DataType
- implements DependencyContainer
-{
-
- private String groupId;
-
- private String artifactId;
-
- private String version;
-
- private String classifier;
-
- private String type;
-
- private String scope;
-
- private File systemPath;
-
- private List<Exclusion> exclusions = new ArrayList<Exclusion>();
-
- protected Dependency getRef()
- {
- return (Dependency) getCheckedRef();
- }
-
- public void validate( Task task )
- {
- if ( isReference() )
- {
- getRef().validate( task );
- }
- else
- {
- if ( groupId == null || groupId.length() <= 0 )
- {
- throw new BuildException( "You must specify the 'groupId' for a dependency" );
- }
- if ( artifactId == null || artifactId.length() <= 0 )
- {
- throw new BuildException( "You must specify the 'artifactId' for a dependency" );
- }
- if ( version == null || version.length() <= 0 )
- {
- throw new BuildException( "You must specify the 'version' for a dependency" );
- }
-
- if ( "system".equals( scope ) )
- {
- if ( systemPath == null )
- {
- throw new BuildException( "You must specify 'systemPath' for dependencies with scope=system" );
- }
- }
- else if ( systemPath != null )
- {
- throw new BuildException( "You may only specify 'systemPath' for dependencies with scope=system" );
- }
-
- if ( scope != null && !"compile".equals( scope ) && !"provided".equals( scope ) && !"system".equals( scope )
- && !"runtime".equals( scope ) && !"test".equals( scope ) )
- {
- task.log( "Unknown scope '" + scope + "' for dependency", Project.MSG_WARN );
- }
-
- for ( Exclusion exclusion : exclusions )
- {
- exclusion.validate( task );
- }
- }
- }
-
- public void setRefid( Reference ref )
- {
- if ( groupId != null || artifactId != null || type != null || classifier != null || version != null
- || scope != null || systemPath != null )
- {
- throw tooManyAttributes();
- }
- if ( !exclusions.isEmpty() )
- {
- throw noChildrenAllowed();
- }
- super.setRefid( ref );
- }
-
- public String getGroupId()
- {
- if ( isReference() )
- {
- return getRef().getGroupId();
- }
- return groupId;
- }
-
- public void setGroupId( String groupId )
- {
- checkAttributesAllowed();
- if ( this.groupId != null )
- {
- throw ambiguousCoords();
- }
- this.groupId = groupId;
- }
-
- public String getArtifactId()
- {
- if ( isReference() )
- {
- return getRef().getArtifactId();
- }
- return artifactId;
- }
-
- public void setArtifactId( String artifactId )
- {
- checkAttributesAllowed();
- if ( this.artifactId != null )
- {
- throw ambiguousCoords();
- }
- this.artifactId = artifactId;
- }
-
- public String getVersion()
- {
- if ( isReference() )
- {
- return getRef().getVersion();
- }
- return version;
- }
-
- public void setVersion( String version )
- {
- checkAttributesAllowed();
- if ( this.version != null )
- {
- throw ambiguousCoords();
- }
- this.version = version;
- }
-
- public String getClassifier()
- {
- if ( isReference() )
- {
- return getRef().getClassifier();
- }
- return classifier;
- }
-
- public void setClassifier( String classifier )
- {
- checkAttributesAllowed();
- if ( this.classifier != null )
- {
- throw ambiguousCoords();
- }
- this.classifier = classifier;
- }
-
- public String getType()
- {
- if ( isReference() )
- {
- return getRef().getType();
- }
- return ( type != null ) ? type : "jar";
- }
-
- public void setType( String type )
- {
- checkAttributesAllowed();
- if ( this.type != null )
- {
- throw ambiguousCoords();
- }
- this.type = type;
- }
-
- public String getScope()
- {
- if ( isReference() )
- {
- return getRef().getScope();
- }
- return ( scope != null ) ? scope : "compile";
- }
-
- public void setScope( String scope )
- {
- checkAttributesAllowed();
- if ( this.scope != null )
- {
- throw ambiguousCoords();
- }
- this.scope = scope;
- }
-
- public void setCoords( String coords )
- {
- checkAttributesAllowed();
- if ( groupId != null || artifactId != null || version != null || type != null || classifier != null
- || scope != null )
- {
- throw ambiguousCoords();
- }
- Pattern p = Pattern.compile( "([^: ]+):([^: ]+):([^: ]+)((:([^: ]+)(:([^: ]+))?)?:([^: ]+))?" );
- Matcher m = p.matcher( coords );
- if ( !m.matches() )
- {
- throw new BuildException( "Bad dependency coordinates '" + coords
- + "', expected format is <groupId>:<artifactId>:<version>[[:<type>[:<classifier>]]:<scope>]" );
- }
- groupId = m.group( 1 );
- artifactId = m.group( 2 );
- version = m.group( 3 );
- type = m.group( 6 );
- if ( type == null || type.length() <= 0 )
- {
- type = "jar";
- }
- classifier = m.group( 8 );
- if ( classifier == null )
- {
- classifier = "";
- }
- scope = m.group( 9 );
- }
-
- public void setSystemPath( File systemPath )
- {
- checkAttributesAllowed();
- this.systemPath = systemPath;
- }
-
- public File getSystemPath()
- {
- if ( isReference() )
- {
- return getRef().getSystemPath();
- }
- return systemPath;
- }
-
- public String getVersionlessKey()
- {
- if ( isReference() )
- {
- return getRef().getVersionlessKey();
- }
- StringBuilder key = new StringBuilder( 128 );
- if ( groupId != null )
- {
- key.append( groupId );
- }
- key.append( ':' );
- if ( artifactId != null )
- {
- key.append( artifactId );
- }
- key.append( ':' );
- key.append( ( type != null ) ? type : "jar" );
- if ( classifier != null && classifier.length() > 0 )
- {
- key.append( ':' );
- key.append( classifier );
- }
- return key.toString();
- }
-
- public void addExclusion( Exclusion exclusion )
- {
- checkChildrenAllowed();
- this.exclusions.add( exclusion );
- }
-
- public List<Exclusion> getExclusions()
- {
- if ( isReference() )
- {
- return getRef().getExclusions();
- }
- return exclusions;
- }
-
- private BuildException ambiguousCoords()
- {
- return new BuildException( "You must not specify both 'coords' and "
- + "('groupId', 'artifactId', 'version', 'extension', 'classifier', 'scope')" );
- }
-
-}
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/b5f1ab9c/src/main/java/org/apache/maven/aether/internal/ant/types/DependencyContainer.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/maven/aether/internal/ant/types/DependencyContainer.java b/src/main/java/org/apache/maven/aether/internal/ant/types/DependencyContainer.java
deleted file mode 100644
index 6cdc92a..0000000
--- a/src/main/java/org/apache/maven/aether/internal/ant/types/DependencyContainer.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.apache.maven.aether.internal.ant.types;
-
-/*
- * 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.
- */
-
-import org.apache.tools.ant.Task;
-
-/**
- */
-public interface DependencyContainer
-{
-
- void validate( Task task );
-
-}
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/b5f1ab9c/src/main/java/org/apache/maven/aether/internal/ant/types/Exclusion.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/maven/aether/internal/ant/types/Exclusion.java b/src/main/java/org/apache/maven/aether/internal/ant/types/Exclusion.java
deleted file mode 100644
index 9b99f80..0000000
--- a/src/main/java/org/apache/maven/aether/internal/ant/types/Exclusion.java
+++ /dev/null
@@ -1,190 +0,0 @@
-package org.apache.maven.aether.internal.ant.types;
-
-/*
- * 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.
- */
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
-import org.apache.tools.ant.types.DataType;
-import org.apache.tools.ant.types.Reference;
-
-/**
- */
-public class Exclusion
- extends DataType
-{
-
- private static final String WILDCARD = "*";
-
- private String groupId;
-
- private String artifactId;
-
- private String classifier;
-
- private String extension;
-
- protected Exclusion getRef()
- {
- return (Exclusion) getCheckedRef();
- }
-
- public void validate( Task task )
- {
- if ( isReference() )
- {
- getRef().validate( task );
- }
- else
- {
- if ( groupId == null && artifactId == null && classifier == null && extension == null )
- {
- throw new BuildException( "You must specify at least one of "
- + "'groupId', 'artifactId', 'classifier' or 'extension'" );
- }
- }
- }
-
- public void setRefid( Reference ref )
- {
- if ( groupId != null || artifactId != null || extension != null || classifier != null )
- {
- throw tooManyAttributes();
- }
- super.setRefid( ref );
- }
-
- public String getGroupId()
- {
- if ( isReference() )
- {
- return getRef().getGroupId();
- }
- return ( groupId != null ) ? groupId : WILDCARD;
- }
-
- public void setGroupId( String groupId )
- {
- checkAttributesAllowed();
- if ( this.groupId != null )
- {
- throw ambiguousCoords();
- }
- this.groupId = groupId;
- }
-
- public String getArtifactId()
- {
- if ( isReference() )
- {
- return getRef().getArtifactId();
- }
- return ( artifactId != null ) ? artifactId : WILDCARD;
- }
-
- public void setArtifactId( String artifactId )
- {
- checkAttributesAllowed();
- if ( this.artifactId != null )
- {
- throw ambiguousCoords();
- }
- this.artifactId = artifactId;
- }
-
- public String getClassifier()
- {
- if ( isReference() )
- {
- return getRef().getClassifier();
- }
- return ( classifier != null ) ? classifier : WILDCARD;
- }
-
- public void setClassifier( String classifier )
- {
- checkAttributesAllowed();
- if ( this.classifier != null )
- {
- throw ambiguousCoords();
- }
- this.classifier = classifier;
- }
-
- public String getExtension()
- {
- if ( isReference() )
- {
- return getRef().getExtension();
- }
- return ( extension != null ) ? extension : WILDCARD;
- }
-
- public void setExtension( String extension )
- {
- checkAttributesAllowed();
- if ( this.extension != null )
- {
- throw ambiguousCoords();
- }
- this.extension = extension;
- }
-
- public void setCoords( String coords )
- {
- checkAttributesAllowed();
- if ( groupId != null || artifactId != null || extension != null || classifier != null )
- {
- throw ambiguousCoords();
- }
- Pattern p = Pattern.compile( "([^: ]+)(:([^: ]+)(:([^: ]+)(:([^: ]*))?)?)?" );
- Matcher m = p.matcher( coords );
- if ( !m.matches() )
- {
- throw new BuildException( "Bad exclusion coordinates '" + coords
- + "', expected format is <groupId>[:<artifactId>[:<extension>[:<classifier>]]]" );
- }
- groupId = m.group( 1 );
- artifactId = m.group( 3 );
- if ( artifactId == null )
- {
- artifactId = "*";
- }
- extension = m.group( 5 );
- if ( extension == null )
- {
- extension = "*";
- }
- classifier = m.group( 7 );
- if ( classifier == null )
- {
- classifier = "*";
- }
- }
-
- private BuildException ambiguousCoords()
- {
- return new BuildException( "You must not specify both 'coords' and "
- + "('groupId', 'artifactId', 'extension', 'classifier')" );
- }
-
-}
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/b5f1ab9c/src/main/java/org/apache/maven/aether/internal/ant/types/LocalRepository.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/maven/aether/internal/ant/types/LocalRepository.java b/src/main/java/org/apache/maven/aether/internal/ant/types/LocalRepository.java
deleted file mode 100644
index 9371aab..0000000
--- a/src/main/java/org/apache/maven/aether/internal/ant/types/LocalRepository.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package org.apache.maven.aether.internal.ant.types;
-
-/*
- * 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.
- */
-
-import java.io.File;
-
-import org.apache.maven.aether.internal.ant.AntRepoSys;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.Task;
-import org.apache.tools.ant.types.DataType;
-import org.apache.tools.ant.types.Reference;
-
-/**
- */
-public class LocalRepository
- extends DataType
-{
-
- private final Task task;
-
- private File dir;
-
- public LocalRepository()
- {
- this( null );
- }
-
- public LocalRepository( Task task )
- {
- this.task = task;
- }
-
- @Override
- public void setProject( Project project )
- {
- super.setProject( project );
-
- if ( task == null )
- {
- AntRepoSys.getInstance( project ).setLocalRepository( this );
- }
- }
-
- protected LocalRepository getRef()
- {
- return (LocalRepository) getCheckedRef();
- }
-
- public void setRefid( Reference ref )
- {
- if ( dir != null )
- {
- throw tooManyAttributes();
- }
- super.setRefid( ref );
- }
-
- public File getDir()
- {
- if ( isReference() )
- {
- return getRef().getDir();
- }
- return dir;
- }
-
- public void setDir( File dir )
- {
- checkAttributesAllowed();
- this.dir = dir;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/b5f1ab9c/src/main/java/org/apache/maven/aether/internal/ant/types/Mirror.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/maven/aether/internal/ant/types/Mirror.java b/src/main/java/org/apache/maven/aether/internal/ant/types/Mirror.java
deleted file mode 100644
index bbb19bb..0000000
--- a/src/main/java/org/apache/maven/aether/internal/ant/types/Mirror.java
+++ /dev/null
@@ -1,155 +0,0 @@
-package org.apache.maven.aether.internal.ant.types;
-
-/*
- * 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.
- */
-
-import org.apache.maven.aether.internal.ant.AntRepoSys;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.types.DataType;
-import org.apache.tools.ant.types.Reference;
-
-/**
- */
-public class Mirror
- extends DataType
-{
-
- private String id;
-
- private String url;
-
- private String type;
-
- private String mirrorOf;
-
- private Authentication authentication;
-
- @Override
- public void setProject( Project project )
- {
- super.setProject( project );
-
- AntRepoSys.getInstance( project ).addMirror( this );
- }
-
- protected Mirror getRef()
- {
- return (Mirror) getCheckedRef();
- }
-
- public void setRefid( Reference ref )
- {
- if ( id != null || url != null || mirrorOf != null || type != null )
- {
- throw tooManyAttributes();
- }
- super.setRefid( ref );
- }
-
- public String getId()
- {
- if ( isReference() )
- {
- return getRef().getId();
- }
- return id;
- }
-
- public void setId( String id )
- {
- this.id = id;
- }
-
- public String getUrl()
- {
- if ( isReference() )
- {
- return getRef().getUrl();
- }
- return url;
- }
-
- public void setUrl( String url )
- {
- checkAttributesAllowed();
- this.url = url;
- }
-
- public String getType()
- {
- if ( isReference() )
- {
- return getRef().getType();
- }
- return ( type != null ) ? type : "default";
- }
-
- public void setType( String type )
- {
- checkAttributesAllowed();
- this.type = type;
- }
-
- public String getMirrorOf()
- {
- if ( isReference() )
- {
- return getRef().getMirrorOf();
- }
- return mirrorOf;
- }
-
- public void setMirrorOf( String mirrorOf )
- {
- checkAttributesAllowed();
- this.mirrorOf = mirrorOf;
- }
-
- public void addAuthentication( Authentication authentication )
- {
- checkChildrenAllowed();
- if ( this.authentication != null )
- {
- throw new BuildException( "You must not specify multiple <authentication> elements" );
- }
- this.authentication = authentication;
- }
-
- public Authentication getAuthentication()
- {
- if ( isReference() )
- {
- getRef().getAuthentication();
- }
- return authentication;
- }
-
- public void setAuthRef( Reference ref )
- {
- if ( authentication == null )
- {
- authentication = new Authentication();
- authentication.setProject( getProject() );
- }
- authentication.setRefid( ref );
- }
-
-}
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/b5f1ab9c/src/main/java/org/apache/maven/aether/internal/ant/types/ModelValueExtractor.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/maven/aether/internal/ant/types/ModelValueExtractor.java b/src/main/java/org/apache/maven/aether/internal/ant/types/ModelValueExtractor.java
deleted file mode 100644
index 73fed22..0000000
--- a/src/main/java/org/apache/maven/aether/internal/ant/types/ModelValueExtractor.java
+++ /dev/null
@@ -1,99 +0,0 @@
-package org.apache.maven.aether.internal.ant.types;
-
-/*
- * 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.
- */
-
-import org.apache.maven.model.Model;
-import org.apache.tools.ant.Project;
-import org.codehaus.plexus.interpolation.reflection.ReflectionValueExtractor;
-
-/**
- */
-class ModelValueExtractor
-{
-
- private static final String PREFIX_PROPERTIES = "properties.";
-
- private final String prefix;
-
- private final Project project;
-
- private final Model model;
-
- public ModelValueExtractor( String prefix, Model model, Project project )
- {
- if ( model == null )
- {
- throw new IllegalArgumentException( "reference to Maven POM has not been specified" );
- }
- if ( project == null )
- {
- throw new IllegalArgumentException( "reference to Ant project has not been specified" );
- }
- if ( prefix == null || prefix.length() <= 0 )
- {
- prefix = "pom.";
- }
- else if ( !prefix.endsWith( "." ) )
- {
- prefix += '.';
- }
- this.prefix = prefix;
- this.model = model;
- this.project = project;
- }
-
- public Project getProject()
- {
- return project;
- }
-
- public boolean isApplicable( String expression )
- {
- return expression.startsWith( prefix );
- }
-
- public Object getValue( String expression )
- {
- if ( expression.startsWith( prefix ) )
- {
- String expr = expression.substring( prefix.length() );
- try
- {
- if ( expr.startsWith( PREFIX_PROPERTIES ) )
- {
- String key = expr.substring( PREFIX_PROPERTIES.length() );
- return model.getProperties().getProperty( key );
- }
-
- return ReflectionValueExtractor.evaluate( expr, model, false );
- }
- catch ( Exception e )
- {
- project.log( "Could not retrieve '" + expression + "' from POM: " + e.getMessage(), e, Project.MSG_WARN );
- return null;
- }
- }
- else
- {
- return null;
- }
- }
-
-}
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/b5f1ab9c/src/main/java/org/apache/maven/aether/internal/ant/types/Pom.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/maven/aether/internal/ant/types/Pom.java b/src/main/java/org/apache/maven/aether/internal/ant/types/Pom.java
deleted file mode 100644
index eff8591..0000000
--- a/src/main/java/org/apache/maven/aether/internal/ant/types/Pom.java
+++ /dev/null
@@ -1,352 +0,0 @@
-package org.apache.maven.aether.internal.ant.types;
-
-/*
- * 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.
- */
-
-import java.io.File;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import org.apache.maven.aether.internal.ant.AntRepoSys;
-import org.apache.maven.aether.internal.ant.ProjectWorkspaceReader;
-import org.apache.maven.aether.internal.ant.tasks.RefTask;
-import org.apache.maven.model.Model;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.PropertyHelper;
-import org.apache.tools.ant.Task;
-import org.apache.tools.ant.types.Reference;
-
-/**
- */
-public class Pom
- extends RefTask
-{
-
- private Model model;
-
- private String id;
-
- private File file;
-
- private String groupId;
-
- private String artifactId;
-
- private String version;
-
- private String packaging = "jar";
-
- private RemoteRepositories remoteRepositories;
-
- private String coords;
-
- protected Pom getRef()
- {
- return (Pom) getCheckedRef();
- }
-
- public void validate()
- {
- if ( isReference() )
- {
- getRef().validate();
- }
- else
- {
- if ( file == null )
- {
- if ( groupId == null )
- {
- throw new BuildException( "You must specify the 'groupId' for the POM" );
- }
- if ( artifactId == null )
- {
- throw new BuildException( "You must specify the 'artifactId' for the POM" );
- }
- if ( version == null )
- {
- throw new BuildException( "You must specify the 'version' for the POM" );
- }
- }
- }
-
- }
-
- public void setRefid( Reference ref )
- {
- if ( id != null || file != null || groupId != null || artifactId != null || version != null )
- {
- throw tooManyAttributes();
- }
- if ( remoteRepositories != null )
- {
- throw noChildrenAllowed();
- }
- super.setRefid( ref );
- }
-
- public void setId( String id )
- {
- checkAttributesAllowed();
- this.id = id;
- }
-
- public File getFile()
- {
- if ( isReference() )
- {
- return getRef().getFile();
- }
- return file;
- }
-
- public void setFile( File file )
- {
- checkAttributesAllowed();
- if ( groupId != null || artifactId != null || version != null )
- {
- throw ambiguousSource();
- }
-
- this.file = file;
-
- }
-
- public String getGroupId()
- {
- if ( isReference() )
- {
- return getRef().getGroupId();
- }
- return groupId;
- }
-
- public void setGroupId( String groupId )
- {
- checkAttributesAllowed();
- if ( this.groupId != null )
- {
- throw ambiguousCoords();
- }
- if ( file != null )
- {
- throw ambiguousSource();
- }
- this.groupId = groupId;
- }
-
- public String getArtifactId()
- {
- if ( isReference() )
- {
- return getRef().getArtifactId();
- }
- return artifactId;
- }
-
- public void setArtifactId( String artifactId )
- {
- checkAttributesAllowed();
- if ( this.artifactId != null )
- {
- throw ambiguousCoords();
- }
- if ( file != null )
- {
- throw ambiguousSource();
- }
- this.artifactId = artifactId;
- }
-
- public String getVersion()
- {
- if ( isReference() )
- {
- return getRef().getVersion();
- }
- return version;
- }
-
- public void setVersion( String version )
- {
- checkAttributesAllowed();
- if ( this.version != null )
- {
- throw ambiguousCoords();
- }
- if ( file != null )
- {
- throw ambiguousSource();
- }
- this.version = version;
- }
-
- public String getCoords()
- {
- if ( isReference() )
- {
- return getRef().getCoords();
- }
- return coords;
- }
-
- public void setCoords( String coords )
- {
- checkAttributesAllowed();
- if ( file != null )
- {
- throw ambiguousSource();
- }
- if ( groupId != null || artifactId != null || version != null )
- {
- throw ambiguousCoords();
- }
- Pattern p = Pattern.compile( "([^: ]+):([^: ]+):([^: ]+)" );
- Matcher m = p.matcher( coords );
- if ( !m.matches() )
- {
- throw new BuildException( "Bad POM coordinates, expected format is <groupId>:<artifactId>:<version>" );
- }
- groupId = m.group( 1 );
- artifactId = m.group( 2 );
- version = m.group( 3 );
- }
-
- private BuildException ambiguousCoords()
- {
- return new BuildException( "You must not specify both 'coords' and ('groupId', 'artifactId', 'version')" );
- }
-
- private BuildException ambiguousSource()
- {
- return new BuildException( "You must not specify both 'file' and "
- + "('coords', 'groupId', 'artifactId', 'version')" );
- }
-
- public String getPackaging()
- {
- if ( isReference() )
- {
- return getRef().getPackaging();
- }
- return packaging;
- }
-
- public void setPackaging( String packaging )
- {
- checkAttributesAllowed();
- if ( file != null )
- {
- throw ambiguousSource();
- }
- this.packaging = packaging;
- }
-
- private RemoteRepositories getRemoteRepos()
- {
- if ( remoteRepositories == null )
- {
- remoteRepositories = new RemoteRepositories();
- remoteRepositories.setProject( getProject() );
- }
- return remoteRepositories;
- }
-
- public void addRemoteRepo( RemoteRepository repository )
- {
- getRemoteRepos().addRemoterepo( repository );
- }
-
- public void addRemoteRepos( RemoteRepositories repositories )
- {
- getRemoteRepos().addRemoterepos( repositories );
- }
-
- public void setRemoteReposRef( Reference ref )
- {
- RemoteRepositories repos = new RemoteRepositories();
- repos.setProject( getProject() );
- repos.setRefid( ref );
- getRemoteRepos().addRemoterepos( repos );
- }
-
- public Model getModel( Task task )
- {
- if ( isReference() )
- {
- return getRef().getModel( task );
- }
- synchronized ( this )
- {
- if ( model == null )
- {
- if ( file != null )
- {
- model = AntRepoSys.getInstance( getProject() ).loadModel( task, file, true, remoteRepositories );
- }
- }
- return model;
- }
- }
-
- @Override
- public void execute()
- {
- validate();
-
- if ( file != null && ( id == null || AntRepoSys.getInstance( getProject() ).getDefaultPom() == null ) )
- {
- AntRepoSys.getInstance( getProject() ).setDefaultPom( this );
- }
-
- ProjectWorkspaceReader.getInstance().addPom( this );
-
- Model model = getModel( this );
-
- if ( model == null )
- {
- coords = getGroupId() + ":" + getArtifactId() + ":" + getVersion();
- return;
- }
-
- coords = model.getGroupId() + ":" + model.getArtifactId() + ":" + model.getVersion();
-
- ModelValueExtractor extractor = new ModelValueExtractor( id, model, getProject() );
-
- PropertyHelper propHelper = PropertyHelper.getPropertyHelper( getProject() );
-
- try
- {
- // Ant 1.8.0 delegate
- PomPropertyEvaluator.register( extractor, propHelper );
- }
- catch ( LinkageError e )
- {
- // Ant 1.6 - 1.7.1 interceptor chaining
- PomPropertyHelper.register( extractor, propHelper );
- }
-
- }
-
- public String toString()
- {
- return coords + " (" + super.toString() + ")";
- }
-
-}
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/b5f1ab9c/src/main/java/org/apache/maven/aether/internal/ant/types/PomPropertyEvaluator.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/maven/aether/internal/ant/types/PomPropertyEvaluator.java b/src/main/java/org/apache/maven/aether/internal/ant/types/PomPropertyEvaluator.java
deleted file mode 100644
index 1097e76..0000000
--- a/src/main/java/org/apache/maven/aether/internal/ant/types/PomPropertyEvaluator.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package org.apache.maven.aether.internal.ant.types;
-
-/*
- * 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.
- */
-
-import org.apache.tools.ant.PropertyHelper;
-import org.apache.tools.ant.PropertyHelper.PropertyEvaluator;
-import org.apache.tools.ant.property.NullReturn;
-
-/**
- */
-class PomPropertyEvaluator
- implements PropertyEvaluator
-{
-
- private final ModelValueExtractor extractor;
-
- public static void register( ModelValueExtractor extractor, PropertyHelper propertyHelper )
- {
- propertyHelper.add( new PomPropertyEvaluator( extractor ) );
- }
-
- private PomPropertyEvaluator( ModelValueExtractor extractor )
- {
- if ( extractor == null )
- {
- throw new IllegalArgumentException( "no model value exractor specified" );
- }
- this.extractor = extractor;
- }
-
- public Object evaluate( String property, PropertyHelper propertyHelper )
- {
- Object value = extractor.getValue( property );
- if ( value != null )
- {
- return value;
- }
- else if ( extractor.isApplicable( property ) )
- {
- return NullReturn.NULL;
- }
- return null;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/b5f1ab9c/src/main/java/org/apache/maven/aether/internal/ant/types/PomPropertyHelper.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/maven/aether/internal/ant/types/PomPropertyHelper.java b/src/main/java/org/apache/maven/aether/internal/ant/types/PomPropertyHelper.java
deleted file mode 100644
index 76af53b..0000000
--- a/src/main/java/org/apache/maven/aether/internal/ant/types/PomPropertyHelper.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package org.apache.maven.aether.internal.ant.types;
-
-/*
- * 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.
- */
-
-import org.apache.tools.ant.PropertyHelper;
-
-/**
- */
-@SuppressWarnings( "deprecation" )
-class PomPropertyHelper
- extends PropertyHelper
-{
-
- private final ModelValueExtractor extractor;
-
- public static void register( ModelValueExtractor extractor, PropertyHelper propertyHelper )
- {
- PomPropertyHelper helper = new PomPropertyHelper( extractor );
- helper.setNext( propertyHelper.getNext() );
- propertyHelper.setNext( helper );
- }
-
- public PomPropertyHelper( ModelValueExtractor extractor )
- {
- if ( extractor == null )
- {
- throw new IllegalArgumentException( "no model value exractor specified" );
- }
- this.extractor = extractor;
- setProject( extractor.getProject() );
- }
-
- @Override
- public Object getPropertyHook( String ns, String name, boolean user )
- {
- Object value = extractor.getValue( name );
- if ( value != null )
- {
- return value;
- }
- else if ( extractor.isApplicable( name ) )
- {
- return null;
- }
- return super.getPropertyHook( ns, name, user );
- }
-
-}
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/b5f1ab9c/src/main/java/org/apache/maven/aether/internal/ant/types/Proxy.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/maven/aether/internal/ant/types/Proxy.java b/src/main/java/org/apache/maven/aether/internal/ant/types/Proxy.java
deleted file mode 100644
index 0ff671a..0000000
--- a/src/main/java/org/apache/maven/aether/internal/ant/types/Proxy.java
+++ /dev/null
@@ -1,164 +0,0 @@
-package org.apache.maven.aether.internal.ant.types;
-
-/*
- * 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.
- */
-
-import org.apache.maven.aether.internal.ant.AntRepoSys;
-
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.types.DataType;
-import org.apache.tools.ant.types.Reference;
-
-/**
- */
-public class Proxy
- extends DataType
-{
-
- private String host;
-
- private int port;
-
- private String type;
-
- private String nonProxyHosts;
-
- private Authentication authentication;
-
- @Override
- public void setProject( Project project )
- {
- super.setProject( project );
-
- AntRepoSys.getInstance( project ).addProxy( this );
- }
-
- protected Proxy getRef()
- {
- return (Proxy) getCheckedRef();
- }
-
- public void setRefid( Reference ref )
- {
- if ( host != null || port != 0 || type != null || nonProxyHosts != null )
- {
- throw tooManyAttributes();
- }
- if ( authentication != null )
- {
- throw noChildrenAllowed();
- }
- super.setRefid( ref );
- }
-
- public String getHost()
- {
- if ( isReference() )
- {
- return getRef().getHost();
- }
- return host;
- }
-
- public void setHost( String host )
- {
- checkAttributesAllowed();
- this.host = host;
- }
-
- public int getPort()
- {
- if ( isReference() )
- {
- return getRef().getPort();
- }
- return port;
- }
-
- public void setPort( int port )
- {
- checkAttributesAllowed();
- if ( port <= 0 || port > 0xFFFF )
- {
- throw new BuildException( "The port number must be within the range 1 - 65535" );
- }
- this.port = port;
- }
-
- public String getType()
- {
- if ( isReference() )
- {
- return getRef().getType();
- }
- return type;
- }
-
- public void setType( String type )
- {
- checkAttributesAllowed();
- this.type = type;
- }
-
- public String getNonProxyHosts()
- {
- if ( isReference() )
- {
- return getRef().getNonProxyHosts();
- }
- return nonProxyHosts;
- }
-
- public void setNonProxyHosts( String nonProxyHosts )
- {
- checkAttributesAllowed();
- this.nonProxyHosts = nonProxyHosts;
- }
-
- public Authentication getAuthentication()
- {
- if ( isReference() )
- {
- return getRef().getAuthentication();
- }
- return authentication;
- }
-
- public void addAuthentication( Authentication authentication )
- {
- checkChildrenAllowed();
- if ( this.authentication != null )
- {
- throw new BuildException( "You must not specify multiple <authentication> elements" );
- }
- this.authentication = authentication;
- }
-
- public void setAuthRef( Reference ref )
- {
- if ( authentication == null )
- {
- authentication = new Authentication();
- authentication.setProject( getProject() );
- }
- authentication.setRefid( ref );
- }
-
-}
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/b5f1ab9c/src/main/java/org/apache/maven/aether/internal/ant/types/RemoteRepositories.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/maven/aether/internal/ant/types/RemoteRepositories.java b/src/main/java/org/apache/maven/aether/internal/ant/types/RemoteRepositories.java
deleted file mode 100644
index 063a3b6..0000000
--- a/src/main/java/org/apache/maven/aether/internal/ant/types/RemoteRepositories.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package org.apache.maven.aether.internal.ant.types;
-
-/*
- * 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.
- */
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.apache.tools.ant.Task;
-import org.apache.tools.ant.types.DataType;
-import org.apache.tools.ant.types.Reference;
-
-/**
- */
-public class RemoteRepositories
- extends DataType
- implements RemoteRepositoryContainer
-{
-
- private List<RemoteRepositoryContainer> containers = new ArrayList<RemoteRepositoryContainer>();
-
- protected RemoteRepositories getRef()
- {
- return (RemoteRepositories) getCheckedRef();
- }
-
- public void validate( Task task )
- {
- if ( isReference() )
- {
- getRef().validate( task );
- }
- else
- {
- for ( RemoteRepositoryContainer container : containers )
- {
- container.validate( task );
- }
- }
- }
-
- public void setRefid( Reference ref )
- {
- if ( !containers.isEmpty() )
- {
- throw noChildrenAllowed();
- }
- super.setRefid( ref );
- }
-
- public void addRemoterepo( RemoteRepository repository )
- {
- checkChildrenAllowed();
- containers.add( repository );
- }
-
- public void addRemoterepos( RemoteRepositories repositories )
- {
- checkChildrenAllowed();
- if ( repositories == this )
- {
- throw circularReference();
- }
- containers.add( repositories );
- }
-
- public List<RemoteRepository> getRepositories()
- {
- if ( isReference() )
- {
- return getRef().getRepositories();
- }
- List<RemoteRepository> repos = new ArrayList<RemoteRepository>();
- for ( RemoteRepositoryContainer container : containers )
- {
- repos.addAll( container.getRepositories() );
- }
- return repos;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/b5f1ab9c/src/main/java/org/apache/maven/aether/internal/ant/types/RemoteRepository.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/maven/aether/internal/ant/types/RemoteRepository.java b/src/main/java/org/apache/maven/aether/internal/ant/types/RemoteRepository.java
deleted file mode 100644
index 4720004..0000000
--- a/src/main/java/org/apache/maven/aether/internal/ant/types/RemoteRepository.java
+++ /dev/null
@@ -1,351 +0,0 @@
-package org.apache.maven.aether.internal.ant.types;
-
-/*
- * 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.
- */
-
-import java.util.Collections;
-import java.util.List;
-
-import org.apache.maven.aether.internal.ant.AntRepoSys;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Project;
-import org.apache.tools.ant.Task;
-import org.apache.tools.ant.types.DataType;
-import org.apache.tools.ant.types.Reference;
-import org.eclipse.aether.repository.RepositoryPolicy;
-
-/**
- */
-public class RemoteRepository
- extends DataType
- implements RemoteRepositoryContainer
-{
-
- private String id;
-
- private String url;
-
- private String type;
-
- private Policy releasePolicy;
-
- private Policy snapshotPolicy;
-
- private boolean releases = true;
-
- private boolean snapshots = false;
-
- private String checksums;
-
- private String updates;
-
- private Authentication authentication;
-
- @Override
- public void setProject( Project project )
- {
- super.setProject( project );
-
- // NOTE: Just trigger side-effect of default initialization before this type potentially overrides central
- AntRepoSys.getInstance( project );
- }
-
- protected RemoteRepository getRef()
- {
- return (RemoteRepository) getCheckedRef();
- }
-
- public void validate( Task task )
- {
- if ( isReference() )
- {
- getRef().validate( task );
- }
- else
- {
- if ( url == null || url.length() <= 0 )
- {
- throw new BuildException( "You must specify the 'url' for a remote repository" );
- }
- if ( id == null || id.length() <= 0 )
- {
- throw new BuildException( "You must specify the 'id' for a remote repository" );
- }
- }
- }
-
- public void setRefid( Reference ref )
- {
- if ( id != null || url != null || type != null || checksums != null || updates != null )
- {
- throw tooManyAttributes();
- }
- if ( releasePolicy != null || snapshotPolicy != null || authentication != null )
- {
- throw noChildrenAllowed();
- }
- super.setRefid( ref );
- }
-
- public String getId()
- {
- if ( isReference() )
- {
- return getRef().getId();
- }
- return id;
- }
-
- public void setId( String id )
- {
- this.id = id;
- }
-
- public String getUrl()
- {
- if ( isReference() )
- {
- return getRef().getUrl();
- }
- return url;
- }
-
- public void setUrl( String url )
- {
- checkAttributesAllowed();
- this.url = url;
- }
-
- public String getType()
- {
- if ( isReference() )
- {
- return getRef().getType();
- }
- return ( type != null ) ? type : "default";
- }
-
- public void setType( String type )
- {
- checkAttributesAllowed();
- this.type = type;
- }
-
- public Policy getReleasePolicy()
- {
- if ( isReference() )
- {
- return getRef().getReleasePolicy();
- }
- return releasePolicy;
- }
-
- public void addReleases( Policy policy )
- {
- checkChildrenAllowed();
- if ( this.releasePolicy != null )
- {
- throw new BuildException( "You must not specify multiple <releases> elements" );
- }
- this.releasePolicy = policy;
- }
-
- public Policy getSnapshotPolicy()
- {
- if ( isReference() )
- {
- return getRef().getSnapshotPolicy();
- }
- return snapshotPolicy;
- }
-
- public void addSnapshots( Policy policy )
- {
- checkChildrenAllowed();
- if ( this.snapshotPolicy != null )
- {
- throw new BuildException( "You must not specify multiple <snapshots> elements" );
- }
- this.snapshotPolicy = policy;
- }
-
- public boolean isReleases()
- {
- if ( isReference() )
- {
- return getRef().isReleases();
- }
- return releases;
- }
-
- public void setReleases( boolean releases )
- {
- checkAttributesAllowed();
- this.releases = releases;
- }
-
- public boolean isSnapshots()
- {
- if ( isReference() )
- {
- return getRef().isSnapshots();
- }
- return snapshots;
- }
-
- public void setSnapshots( boolean snapshots )
- {
- checkAttributesAllowed();
- this.snapshots = snapshots;
- }
-
- public String getUpdates()
- {
- if ( isReference() )
- {
- return getRef().getUpdates();
- }
- return ( updates != null ) ? updates : RepositoryPolicy.UPDATE_POLICY_DAILY;
- }
-
- public void setUpdates( String updates )
- {
- checkAttributesAllowed();
- checkUpdates( updates );
- this.updates = updates;
- }
-
- protected static void checkUpdates( String updates )
- {
- if ( !RepositoryPolicy.UPDATE_POLICY_ALWAYS.equals( updates )
- && !RepositoryPolicy.UPDATE_POLICY_DAILY.equals( updates )
- && !RepositoryPolicy.UPDATE_POLICY_NEVER.equals( updates )
- && !updates.startsWith( RepositoryPolicy.UPDATE_POLICY_INTERVAL ) )
- {
- throw new BuildException( "'" + updates + "' is not a permitted update policy" );
- }
- }
-
- public String getChecksums()
- {
- if ( isReference() )
- {
- return getRef().getChecksums();
- }
- return ( checksums != null ) ? checksums : RepositoryPolicy.CHECKSUM_POLICY_WARN;
- }
-
- public void setChecksums( String checksums )
- {
- checkAttributesAllowed();
- checkChecksums( checksums );
- this.checksums = checksums;
- }
-
- protected static void checkChecksums( String checksums )
- {
- if ( !RepositoryPolicy.CHECKSUM_POLICY_FAIL.equals( checksums )
- && !RepositoryPolicy.CHECKSUM_POLICY_WARN.equals( checksums )
- && !RepositoryPolicy.CHECKSUM_POLICY_IGNORE.equals( checksums ) )
- {
- throw new BuildException( "'" + checksums + "' is not a permitted checksum policy" );
- }
- }
-
- public Authentication getAuthentication()
- {
- if ( isReference() )
- {
- return getRef().getAuthentication();
- }
- return authentication;
- }
-
- public void addAuthentication( Authentication authentication )
- {
- checkChildrenAllowed();
- if ( this.authentication != null )
- {
- throw new BuildException( "You must not specify multiple <authentication> elements" );
- }
- this.authentication = authentication;
- }
-
- public void setAuthRef( Reference ref )
- {
- checkAttributesAllowed();
- if ( authentication == null )
- {
- authentication = new Authentication();
- authentication.setProject( getProject() );
- }
- authentication.setRefid( ref );
- }
-
- public List<RemoteRepository> getRepositories()
- {
- return Collections.singletonList( this );
- }
-
- /**
- */
- public static class Policy
- {
-
- private boolean enabled = true;
-
- private String checksumPolicy;
-
- private String updatePolicy;
-
- public boolean isEnabled()
- {
- return enabled;
- }
-
- public void setEnabled( boolean enabled )
- {
- this.enabled = enabled;
- }
-
- public String getChecksums()
- {
- return checksumPolicy;
- }
-
- public void setChecksums( String checksumPolicy )
- {
- checkChecksums( checksumPolicy );
- this.checksumPolicy = checksumPolicy;
- }
-
- public String getUpdates()
- {
- return updatePolicy;
- }
-
- public void setUpdates( String updatePolicy )
- {
- checkUpdates( updatePolicy );
- this.updatePolicy = updatePolicy;
- }
-
- }
-
-}
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/b5f1ab9c/src/main/java/org/apache/maven/aether/internal/ant/types/RemoteRepositoryContainer.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/maven/aether/internal/ant/types/RemoteRepositoryContainer.java b/src/main/java/org/apache/maven/aether/internal/ant/types/RemoteRepositoryContainer.java
deleted file mode 100644
index 488ffb6..0000000
--- a/src/main/java/org/apache/maven/aether/internal/ant/types/RemoteRepositoryContainer.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package org.apache.maven.aether.internal.ant.types;
-
-/*
- * 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.
- */
-
-import java.util.List;
-
-import org.apache.tools.ant.Task;
-
-/**
- */
-public interface RemoteRepositoryContainer
-{
-
- void validate( Task task );
-
- List<RemoteRepository> getRepositories();
-
-}
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/b5f1ab9c/src/main/java/org/apache/maven/aether/internal/ant/types/Settings.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/maven/aether/internal/ant/types/Settings.java b/src/main/java/org/apache/maven/aether/internal/ant/types/Settings.java
deleted file mode 100644
index 85190b1..0000000
--- a/src/main/java/org/apache/maven/aether/internal/ant/types/Settings.java
+++ /dev/null
@@ -1,86 +0,0 @@
-package org.apache.maven.aether.internal.ant.types;
-
-/*
- * 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.
- */
-
-import java.io.File;
-
-import org.apache.maven.aether.internal.ant.AntRepoSys;
-import org.apache.tools.ant.types.DataType;
-import org.apache.tools.ant.types.Reference;
-
-/**
- */
-public class Settings
- extends DataType
-{
-
- private File file;
-
- private File globalFile;
-
- protected Settings getRef()
- {
- return (Settings) getCheckedRef();
- }
-
- public void setRefid( Reference ref )
- {
- if ( file != null || globalFile != null )
- {
- throw tooManyAttributes();
- }
- super.setRefid( ref );
- }
-
- public File getFile()
- {
- if ( isReference() )
- {
- return getRef().getFile();
- }
- return file;
- }
-
- public void setFile( File file )
- {
- checkAttributesAllowed();
- this.file = file;
-
- AntRepoSys.getInstance( getProject() ).setUserSettings( file );
- }
-
- public File getGlobalFile()
- {
- if ( isReference() )
- {
- return getRef().getFile();
- }
- return globalFile;
- }
-
- public void setGlobalFile( File globalFile )
- {
- checkAttributesAllowed();
- this.globalFile = globalFile;
-
- AntRepoSys.getInstance( getProject() ).setGlobalSettings( globalFile );
- }
-
-}
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/b5f1ab9c/src/main/java/org/apache/maven/resolver/internal/ant/AetherUtils.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/maven/resolver/internal/ant/AetherUtils.java b/src/main/java/org/apache/maven/resolver/internal/ant/AetherUtils.java
new file mode 100644
index 0000000..6b59f90
--- /dev/null
+++ b/src/main/java/org/apache/maven/resolver/internal/ant/AetherUtils.java
@@ -0,0 +1,83 @@
+package org.apache.maven.resolver.internal.ant;
+
+/*
+ * 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.
+ */
+
+import java.io.File;
+
+import org.apache.maven.resolver.internal.ant.types.RemoteRepositories;
+import org.apache.tools.ant.Project;
+
+class AetherUtils
+{
+
+ public static File findGlobalSettings( Project project )
+ {
+ File file = new File( new File( project.getProperty( "ant.home" ), "etc" ), Names.SETTINGS_XML );
+ if ( file.isFile() )
+ {
+ return file;
+ }
+ else
+ {
+ String mavenHome = getMavenHome( project );
+ if ( mavenHome != null )
+ {
+ return new File( new File( mavenHome, "conf" ), Names.SETTINGS_XML );
+ }
+ }
+
+ return null;
+ }
+
+ public static String getMavenHome( Project project )
+ {
+ String mavenHome = project.getProperty( "maven.home" );
+ if ( mavenHome != null )
+ {
+ return mavenHome;
+ }
+ return System.getenv( "M2_HOME" );
+ }
+
+ public static File findUserSettings( Project project )
+ {
+ File userHome = new File( project.getProperty( "user.home" ) );
+ File file = new File( new File( userHome, ".ant" ), Names.SETTINGS_XML );
+ if ( file.isFile() )
+ {
+ return file;
+ }
+ else
+ {
+ return new File( new File( userHome, ".m2" ), Names.SETTINGS_XML );
+ }
+ }
+
+ public static RemoteRepositories getDefaultRepositories( Project project )
+ {
+ Object obj = project.getReference( Names.ID_DEFAULT_REPOS );
+ if ( obj instanceof RemoteRepositories )
+ {
+ return (RemoteRepositories) obj;
+ }
+ return null;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/b5f1ab9c/src/main/java/org/apache/maven/resolver/internal/ant/AntLogger.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/maven/resolver/internal/ant/AntLogger.java b/src/main/java/org/apache/maven/resolver/internal/ant/AntLogger.java
new file mode 100644
index 0000000..711d653
--- /dev/null
+++ b/src/main/java/org/apache/maven/resolver/internal/ant/AntLogger.java
@@ -0,0 +1,68 @@
+package org.apache.maven.resolver.internal.ant;
+
+/*
+ * 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.
+ */
+
+import org.apache.tools.ant.Project;
+import org.eclipse.aether.spi.log.Logger;
+
+/**
+ */
+class AntLogger
+ implements Logger
+{
+
+ private Project project;
+
+ public AntLogger( Project project )
+ {
+ this.project = project;
+ }
+
+ public void debug( String msg )
+ {
+ project.log( msg, Project.MSG_DEBUG );
+ }
+
+ public void debug( String msg, Throwable error )
+ {
+ project.log( msg, error, Project.MSG_DEBUG );
+ }
+
+ public boolean isDebugEnabled()
+ {
+ return true;
+ }
+
+ public boolean isWarnEnabled()
+ {
+ return true;
+ }
+
+ public void warn( String msg )
+ {
+ project.log( msg, Project.MSG_WARN );
+ }
+
+ public void warn( String msg, Throwable error )
+ {
+ project.log( msg, error, Project.MSG_WARN );
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/b5f1ab9c/src/main/java/org/apache/maven/resolver/internal/ant/AntModelResolver.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/maven/resolver/internal/ant/AntModelResolver.java b/src/main/java/org/apache/maven/resolver/internal/ant/AntModelResolver.java
new file mode 100644
index 0000000..83311fb
--- /dev/null
+++ b/src/main/java/org/apache/maven/resolver/internal/ant/AntModelResolver.java
@@ -0,0 +1,157 @@
+package org.apache.maven.resolver.internal.ant;
+
+/*
+ * 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.
+ */
+
+import java.io.File;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+
+import org.apache.maven.model.Repository;
+import org.apache.maven.model.building.FileModelSource;
+import org.apache.maven.model.building.ModelSource;
+import org.apache.maven.model.resolution.InvalidRepositoryException;
+import org.apache.maven.model.resolution.ModelResolver;
+import org.apache.maven.model.resolution.UnresolvableModelException;
+import org.eclipse.aether.RepositorySystem;
+import org.eclipse.aether.RepositorySystemSession;
+import org.eclipse.aether.artifact.Artifact;
+import org.eclipse.aether.artifact.DefaultArtifact;
+import org.eclipse.aether.impl.RemoteRepositoryManager;
+import org.eclipse.aether.repository.RemoteRepository;
+import org.eclipse.aether.repository.RepositoryPolicy;
+import org.eclipse.aether.resolution.ArtifactRequest;
+import org.eclipse.aether.resolution.ArtifactResolutionException;
+
+/**
+ * A model resolver to assist building of dependency POMs. This resolver gives priority to those repositories that have
+ * been initially specified and repositories discovered in dependency POMs are recessively merged into the search chain.
+ *
+ */
+class AntModelResolver
+ implements ModelResolver
+{
+
+ private final RepositorySystemSession session;
+
+ private final String context;
+
+ private List<org.eclipse.aether.repository.RemoteRepository> repositories;
+
+ private final RepositorySystem repoSys;
+
+ private final RemoteRepositoryManager remoteRepositoryManager;
+
+ private final Set<String> repositoryIds;
+
+ public AntModelResolver( RepositorySystemSession session, String context, RepositorySystem repoSys,
+ RemoteRepositoryManager remoteRepositoryManager, List<RemoteRepository> repositories )
+ {
+ this.session = session;
+ this.context = context;
+ this.repoSys = repoSys;
+ this.remoteRepositoryManager = remoteRepositoryManager;
+ this.repositories = repositories;
+ this.repositoryIds = new HashSet<String>();
+ }
+
+ private AntModelResolver( AntModelResolver original )
+ {
+ this.session = original.session;
+ this.context = original.context;
+ this.repoSys = original.repoSys;
+ this.remoteRepositoryManager = original.remoteRepositoryManager;
+ this.repositories = original.repositories;
+ this.repositoryIds = new HashSet<String>( original.repositoryIds );
+ }
+
+ public void addRepository( Repository repository )
+ throws InvalidRepositoryException
+ {
+ if ( !repositoryIds.add( repository.getId() ) )
+ {
+ return;
+ }
+
+ List<RemoteRepository> newRepositories = Collections.singletonList( convert( repository ) );
+
+ this.repositories =
+ remoteRepositoryManager.aggregateRepositories( session, repositories, newRepositories, true );
+ }
+
+ static RemoteRepository convert( Repository repository )
+ {
+ RemoteRepository.Builder builder =
+ new RemoteRepository.Builder( repository.getId(), repository.getLayout(), repository.getUrl() );
+ builder.setSnapshotPolicy( convert( repository.getSnapshots() ) );
+ builder.setReleasePolicy( convert( repository.getReleases() ) );
+ return builder.build();
+ }
+
+ private static RepositoryPolicy convert( org.apache.maven.model.RepositoryPolicy policy )
+ {
+ boolean enabled = true;
+ String checksums = RepositoryPolicy.CHECKSUM_POLICY_WARN;
+ String updates = RepositoryPolicy.UPDATE_POLICY_DAILY;
+
+ if ( policy != null )
+ {
+ enabled = policy.isEnabled();
+ if ( policy.getUpdatePolicy() != null )
+ {
+ updates = policy.getUpdatePolicy();
+ }
+ if ( policy.getChecksumPolicy() != null )
+ {
+ checksums = policy.getChecksumPolicy();
+ }
+ }
+
+ return new RepositoryPolicy( enabled, updates, checksums );
+ }
+
+ public ModelResolver newCopy()
+ {
+ return new AntModelResolver( this );
+ }
+
+ public ModelSource resolveModel( String groupId, String artifactId, String version )
+ throws UnresolvableModelException
+ {
+ Artifact pomArtifact = new DefaultArtifact( groupId, artifactId, "", "pom", version );
+
+ try
+ {
+ ArtifactRequest request = new ArtifactRequest( pomArtifact, repositories, context );
+ pomArtifact = repoSys.resolveArtifact( session, request ).getArtifact();
+ }
+ catch ( ArtifactResolutionException e )
+ {
+ throw new UnresolvableModelException( "Failed to resolve POM for " + groupId + ":" + artifactId + ":"
+ + version + " due to " + e.getMessage(), groupId, artifactId, version, e );
+ }
+
+ File pomFile = pomArtifact.getFile();
+
+ return new FileModelSource( pomFile );
+ }
+
+}