http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/b5f1ab9c/src/main/java/org/apache/maven/aether/internal/ant/Names.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/maven/aether/internal/ant/Names.java b/src/main/java/org/apache/maven/aether/internal/ant/Names.java deleted file mode 100644 index 5ce8427..0000000 --- a/src/main/java/org/apache/maven/aether/internal/ant/Names.java +++ /dev/null @@ -1,44 +0,0 @@ -package org.apache.maven.aether.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. - */ - -/** - */ -public final class Names -{ - - private Names() - { - // hide constructor - } - - public static final String ID = "aether"; - - public static final String ID_DEFAULT_REPOS = ID + ".repositories"; - - public static final String ID_DEFAULT_POM = ID + ".pom"; - - public static final String ID_CENTRAL = "central"; - - public static final String PROPERTY_OFFLINE = "aether.offline"; - - public static final String SETTINGS_XML = "settings.xml"; - -}
http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/b5f1ab9c/src/main/java/org/apache/maven/aether/internal/ant/ProjectWorkspaceReader.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/maven/aether/internal/ant/ProjectWorkspaceReader.java b/src/main/java/org/apache/maven/aether/internal/ant/ProjectWorkspaceReader.java deleted file mode 100644 index 7c77fc8..0000000 --- a/src/main/java/org/apache/maven/aether/internal/ant/ProjectWorkspaceReader.java +++ /dev/null @@ -1,144 +0,0 @@ -package org.apache.maven.aether.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.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; - -import org.apache.maven.aether.internal.ant.types.Pom; -import org.apache.maven.model.Model; -import org.eclipse.aether.artifact.Artifact; -import org.eclipse.aether.artifact.DefaultArtifact; -import org.eclipse.aether.repository.WorkspaceReader; -import org.eclipse.aether.repository.WorkspaceRepository; -import org.eclipse.aether.util.artifact.ArtifactIdUtils; - -/** - * Workspace reader caching available POMs and artifacts for ant builds. - * <p/> - * <pom> elements are cached if they are defined by the 'file'-attribute, as they reference a backing pom.xml file that - * can be used for resolution with Aether. <artifact> elements are cached if they directly define a 'pom'-attribute - * or child. The POM may be file-based or in-memory. - */ -public class ProjectWorkspaceReader - implements WorkspaceReader -{ - - private static volatile ProjectWorkspaceReader instance; - - private static final Object LOCK = new Object(); - - private Map<String, Artifact> artifacts = new ConcurrentHashMap<String, Artifact>(); - - public void addPom( Pom pom ) - { - if ( pom.getFile() != null ) - { - Model model = pom.getModel( pom ); - Artifact aetherArtifact = - new DefaultArtifact( model.getGroupId(), model.getArtifactId(), null, "pom", model.getVersion() ); - aetherArtifact = aetherArtifact.setFile( pom.getFile() ); - String coords = coords( aetherArtifact ); - artifacts.put( coords, aetherArtifact ); - } - } - - public void addArtifact( org.apache.maven.aether.internal.ant.types.Artifact artifact ) - { - if ( artifact.getPom() != null ) - { - Pom pom = artifact.getPom(); - Artifact aetherArtifact; - if ( pom.getFile() != null ) - { - Model model = pom.getModel( pom ); - aetherArtifact = - new DefaultArtifact( model.getGroupId(), model.getArtifactId(), artifact.getClassifier(), - artifact.getType(), model.getVersion() ); - } - else - { - aetherArtifact = - new DefaultArtifact( pom.getGroupId(), pom.getArtifactId(), artifact.getClassifier(), - artifact.getType(), pom.getVersion() ); - } - aetherArtifact = aetherArtifact.setFile( artifact.getFile() ); - - String coords = coords( aetherArtifact ); - artifacts.put( coords, aetherArtifact ); - } - } - - private String coords( Artifact artifact ) - { - return ArtifactIdUtils.toId( artifact ); - } - - public WorkspaceRepository getRepository() - { - return new WorkspaceRepository( "ant" ); - } - - public File findArtifact( Artifact artifact ) - { - artifact = artifacts.get( coords( artifact ) ); - return ( artifact != null ) ? artifact.getFile() : null; - } - - public List<String> findVersions( Artifact artifact ) - { - List<String> versions = new ArrayList<String>(); - for ( Artifact art : artifacts.values() ) - { - if ( ArtifactIdUtils.equalsVersionlessId( artifact, art ) ) - { - versions.add( art.getVersion() ); - } - } - return versions; - } - - ProjectWorkspaceReader() - { - } - - public static ProjectWorkspaceReader getInstance() - { - if ( instance == null ) - { - synchronized ( LOCK ) - { - if ( instance == null ) - { - instance = new ProjectWorkspaceReader(); - } - } - } - return instance; - } - - static void dropInstance() - { - instance = null; - } -} http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/b5f1ab9c/src/main/java/org/apache/maven/aether/internal/ant/SettingsUtils.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/maven/aether/internal/ant/SettingsUtils.java b/src/main/java/org/apache/maven/aether/internal/ant/SettingsUtils.java deleted file mode 100644 index 59055dd..0000000 --- a/src/main/java/org/apache/maven/aether/internal/ant/SettingsUtils.java +++ /dev/null @@ -1,182 +0,0 @@ -package org.apache.maven.aether.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.util.ArrayList; -import java.util.List; - -import org.apache.maven.settings.Activation; -import org.apache.maven.settings.ActivationFile; -import org.apache.maven.settings.ActivationOS; -import org.apache.maven.settings.ActivationProperty; -import org.apache.maven.settings.Profile; -import org.apache.maven.settings.Repository; -import org.apache.maven.settings.RepositoryPolicy; - -/** - * Utility methods to read settings from Mavens settings.xml. - */ -class SettingsUtils -{ - - public static List<org.apache.maven.model.Profile> convert( List<Profile> profiles ) - { - if ( profiles == null ) - { - return null; - } - - List<org.apache.maven.model.Profile> results = new ArrayList<org.apache.maven.model.Profile>(); - - for ( Profile profile : profiles ) - { - results.add( convert( profile ) ); - } - - return results; - } - - static org.apache.maven.model.Profile convert( Profile profile ) - { - if ( profile == null ) - { - return null; - } - - org.apache.maven.model.Profile result = new org.apache.maven.model.Profile(); - - result.setId( profile.getId() ); - result.setProperties( profile.getProperties() ); - result.setSource( "settings.xml" ); - result.setActivation( convert( profile.getActivation() ) ); - - for ( Repository repo : profile.getRepositories() ) - { - result.addRepository( convert( repo ) ); - } - - for ( Repository repo : profile.getPluginRepositories() ) - { - result.addPluginRepository( convert( repo ) ); - } - - return result; - } - - static org.apache.maven.model.Activation convert( Activation activation ) - { - if ( activation == null ) - { - return null; - } - - org.apache.maven.model.Activation result = new org.apache.maven.model.Activation(); - - result.setActiveByDefault( activation.isActiveByDefault() ); - result.setJdk( activation.getJdk() ); - result.setFile( convert( activation.getFile() ) ); - result.setProperty( convert( activation.getProperty() ) ); - result.setOs( convert( activation.getOs() ) ); - - return result; - } - - static org.apache.maven.model.ActivationOS convert( ActivationOS activation ) - { - if ( activation == null ) - { - return null; - } - - org.apache.maven.model.ActivationOS result = new org.apache.maven.model.ActivationOS(); - - result.setArch( activation.getArch() ); - result.setFamily( activation.getFamily() ); - result.setName( activation.getName() ); - result.setVersion( activation.getVersion() ); - - return result; - } - - static org.apache.maven.model.ActivationProperty convert( ActivationProperty activation ) - { - if ( activation == null ) - { - return null; - } - - org.apache.maven.model.ActivationProperty result = new org.apache.maven.model.ActivationProperty(); - - result.setName( activation.getName() ); - result.setValue( activation.getValue() ); - - return result; - } - - static org.apache.maven.model.ActivationFile convert( ActivationFile activation ) - { - if ( activation == null ) - { - return null; - } - - org.apache.maven.model.ActivationFile result = new org.apache.maven.model.ActivationFile(); - - result.setExists( activation.getExists() ); - result.setMissing( activation.getMissing() ); - - return result; - } - - static org.apache.maven.model.Repository convert( Repository repo ) - { - if ( repo == null ) - { - return null; - } - - org.apache.maven.model.Repository result = new org.apache.maven.model.Repository(); - - result.setId( repo.getId() ); - result.setUrl( repo.getUrl() ); - result.setLayout( repo.getLayout() ); - result.setReleases( convert( repo.getReleases() ) ); - result.setSnapshots( convert( repo.getSnapshots() ) ); - - return result; - } - - static org.apache.maven.model.RepositoryPolicy convert( RepositoryPolicy policy ) - { - if ( policy == null ) - { - return null; - } - - org.apache.maven.model.RepositoryPolicy result = new org.apache.maven.model.RepositoryPolicy(); - - result.setEnabled( policy.isEnabled() ); - result.setChecksumPolicy( policy.getChecksumPolicy() ); - result.setUpdatePolicy( policy.getUpdatePolicy() ); - - return result; - } - -} http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/b5f1ab9c/src/main/java/org/apache/maven/aether/internal/ant/tasks/AbstractDistTask.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/maven/aether/internal/ant/tasks/AbstractDistTask.java b/src/main/java/org/apache/maven/aether/internal/ant/tasks/AbstractDistTask.java deleted file mode 100644 index 2011507..0000000 --- a/src/main/java/org/apache/maven/aether/internal/ant/tasks/AbstractDistTask.java +++ /dev/null @@ -1,180 +0,0 @@ -package org.apache.maven.aether.internal.ant.tasks; - -/* - * 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.HashMap; -import java.util.Map; - -import org.apache.maven.aether.internal.ant.AntRepoSys; -import org.apache.maven.aether.internal.ant.types.Artifact; -import org.apache.maven.aether.internal.ant.types.Artifacts; -import org.apache.maven.aether.internal.ant.types.Pom; -import org.apache.maven.model.Model; -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.Project; -import org.apache.tools.ant.Task; -import org.apache.tools.ant.types.Reference; - -/** - */ -public abstract class AbstractDistTask - extends Task -{ - - private Pom pom; - - private Artifacts artifacts; - - protected void validate() - { - getArtifacts().validate( this ); - - Map<String, File> duplicates = new HashMap<String, File>(); - for ( Artifact artifact : getArtifacts().getArtifacts() ) - { - String key = artifact.getType() + ':' + artifact.getClassifier(); - if ( "pom:".equals( key ) ) - { - throw new BuildException( "You must not specify an <artifact> with type=pom" - + ", please use the <pom> element instead." ); - } - else if ( duplicates.containsKey( key ) ) - { - throw new BuildException( "You must not specify two or more artifacts with the same type (" - + artifact.getType() + ") and classifier (" + artifact.getClassifier() + ")" ); - } - else - { - duplicates.put( key, artifact.getFile() ); - } - - validateArtifactGav( artifact ); - } - - Pom defaultPom = AntRepoSys.getInstance( getProject() ).getDefaultPom(); - if ( pom == null && defaultPom != null ) - { - log( "Using default POM (" + defaultPom.getCoords() + ")", Project.MSG_INFO ); - pom = defaultPom; - } - - if ( pom == null ) - { - throw new BuildException( "You must specify the <pom file=\"...\"> element" - + " to denote the descriptor for the artifacts" ); - } - if ( pom.getFile() == null ) - { - throw new BuildException( "You must specify a <pom> element that has the 'file' attribute set" ); - } - } - - private void validateArtifactGav( Artifact artifact ) - { - Pom artifactPom = artifact.getPom(); - if ( artifactPom != null ) - { - String gid; - String aid; - String version; - if ( artifactPom.getFile() != null ) - { - Model model = artifactPom.getModel( this ); - gid = model.getGroupId(); - aid = model.getArtifactId(); - version = model.getVersion(); - } - else - { - gid = artifactPom.getGroupId(); - aid = artifactPom.getArtifactId(); - version = artifactPom.getVersion(); - } - - Model model = getPom().getModel( this ); - - if ( ! ( model.getGroupId().equals( gid ) && model.getArtifactId().equals( aid ) && model.getVersion().equals( version ) ) ) - { - throw new BuildException( "Artifact references different pom than it would be installed with: " - + artifact.toString() ); - } - } - } - - protected Artifacts getArtifacts() - { - if ( artifacts == null ) - { - artifacts = new Artifacts(); - artifacts.setProject( getProject() ); - } - return artifacts; - } - - public void addArtifact( Artifact artifact ) - { - getArtifacts().addArtifact( artifact ); - } - - public void addArtifacts( Artifacts artifacts ) - { - getArtifacts().addArtifacts( artifacts ); - } - - public void setArtifactsRef( Reference ref ) - { - Artifacts artifacts = new Artifacts(); - artifacts.setProject( getProject() ); - artifacts.setRefid( ref ); - getArtifacts().addArtifacts( artifacts ); - } - - protected Pom getPom() - { - if ( pom == null ) - { - return AntRepoSys.getInstance( getProject() ).getDefaultPom(); - } - - return pom; - } - - public void addPom( Pom pom ) - { - if ( this.pom != null ) - { - throw new BuildException( "You must not specify multiple <pom> elements" ); - } - this.pom = pom; - } - - public void setPomRef( Reference ref ) - { - if ( this.pom != null ) - { - throw new BuildException( "You must not specify multiple <pom> elements" ); - } - pom = new Pom(); - pom.setProject( getProject() ); - pom.setRefid( ref ); - } - -} http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/b5f1ab9c/src/main/java/org/apache/maven/aether/internal/ant/tasks/AbstractResolvingTask.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/maven/aether/internal/ant/tasks/AbstractResolvingTask.java b/src/main/java/org/apache/maven/aether/internal/ant/tasks/AbstractResolvingTask.java deleted file mode 100644 index b7f0bc3..0000000 --- a/src/main/java/org/apache/maven/aether/internal/ant/tasks/AbstractResolvingTask.java +++ /dev/null @@ -1,108 +0,0 @@ -package org.apache.maven.aether.internal.ant.tasks; - -/* - * 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.maven.aether.internal.ant.types.Dependencies; -import org.apache.maven.aether.internal.ant.types.LocalRepository; -import org.apache.maven.aether.internal.ant.types.RemoteRepositories; -import org.apache.maven.aether.internal.ant.types.RemoteRepository; - -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.Task; -import org.apache.tools.ant.types.Reference; -import org.eclipse.aether.collection.CollectResult; - -/** - */ -public abstract class AbstractResolvingTask - extends Task -{ - - protected Dependencies dependencies; - - protected RemoteRepositories remoteRepositories; - - protected LocalRepository localRepository; - - public void addDependencies( Dependencies dependencies ) - { - if ( this.dependencies != null ) - { - throw new BuildException( "You must not specify multiple <dependencies> elements" ); - } - this.dependencies = dependencies; - } - - public void setDependenciesRef( Reference ref ) - { - if ( dependencies == null ) - { - dependencies = new Dependencies(); - dependencies.setProject( getProject() ); - } - dependencies.setRefid( ref ); - } - - public LocalRepository createLocalRepo() - { - if ( localRepository != null ) - { - throw new BuildException( "You must not specify multiple <localRepo> elements" ); - } - localRepository = new LocalRepository( this ); - return localRepository; - } - - 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 ); - } - - protected CollectResult collectDependencies() - { - return AntRepoSys.getInstance( getProject() ).collectDependencies( this, dependencies, localRepository, - remoteRepositories ); - } - -} http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/b5f1ab9c/src/main/java/org/apache/maven/aether/internal/ant/tasks/DependencyGraphLogger.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/maven/aether/internal/ant/tasks/DependencyGraphLogger.java b/src/main/java/org/apache/maven/aether/internal/ant/tasks/DependencyGraphLogger.java deleted file mode 100644 index 24e5b75..0000000 --- a/src/main/java/org/apache/maven/aether/internal/ant/tasks/DependencyGraphLogger.java +++ /dev/null @@ -1,85 +0,0 @@ -package org.apache.maven.aether.internal.ant.tasks; - -/* - * 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.apache.tools.ant.Task; -import org.eclipse.aether.artifact.Artifact; -import org.eclipse.aether.graph.Dependency; -import org.eclipse.aether.graph.DependencyNode; -import org.eclipse.aether.graph.DependencyVisitor; -import org.eclipse.aether.util.graph.manager.DependencyManagerUtils; - -/** - */ -class DependencyGraphLogger - implements DependencyVisitor -{ - - private Task task; - - private String indent = ""; - - public DependencyGraphLogger( Task task ) - { - this.task = task; - } - - public boolean visitEnter( DependencyNode node ) - { - StringBuilder buffer = new StringBuilder( 128 ); - buffer.append( indent ); - Dependency dep = node.getDependency(); - if ( dep != null ) - { - Artifact art = dep.getArtifact(); - - buffer.append( art ); - buffer.append( ':' ).append( dep.getScope() ); - - String premanagedScope = DependencyManagerUtils.getPremanagedScope( node ); - if ( premanagedScope != null && !premanagedScope.equals( dep.getScope() ) ) - { - buffer.append( " (scope managed from " ).append( premanagedScope ).append( ")" ); - } - - String premanagedVersion = DependencyManagerUtils.getPremanagedVersion( node ); - if ( premanagedVersion != null && !premanagedVersion.equals( art.getVersion() ) ) - { - buffer.append( " (version managed from " ).append( premanagedVersion ).append( ")" ); - } - } - else - { - buffer.append( "Resolved Dependency Graph:" ); - } - - task.log( buffer.toString(), Project.MSG_VERBOSE ); - indent += " "; - return true; - } - - public boolean visitLeave( DependencyNode node ) - { - indent = indent.substring( 0, indent.length() - 3 ); - return true; - } - -} http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/b5f1ab9c/src/main/java/org/apache/maven/aether/internal/ant/tasks/Deploy.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/maven/aether/internal/ant/tasks/Deploy.java b/src/main/java/org/apache/maven/aether/internal/ant/tasks/Deploy.java deleted file mode 100644 index 28b0210..0000000 --- a/src/main/java/org/apache/maven/aether/internal/ant/tasks/Deploy.java +++ /dev/null @@ -1,105 +0,0 @@ -package org.apache.maven.aether.internal.ant.tasks; - -/* - * 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.maven.aether.internal.ant.types.RemoteRepository; - -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.types.Reference; - -/** - */ -public class Deploy - extends AbstractDistTask -{ - - private RemoteRepository repository; - - private RemoteRepository snapshotRepository; - - @Override - protected void validate() - { - super.validate(); - - if ( repository == null ) - { - throw new BuildException( "You must specify the <remoteRepo id=\"...\" url=\"...\"> element" - + " to denote the target repository for the deployment" ); - } - else - { - repository.validate( this ); - } - if ( snapshotRepository != null ) - { - snapshotRepository.validate( this ); - } - } - - public void addRemoteRepo( RemoteRepository repository ) - { - if ( this.repository != null ) - { - throw new BuildException( "You must not specify multiple <remoteRepo> elements" ); - } - this.repository = repository; - } - - public void setRemoteRepoRef( Reference ref ) - { - if ( repository == null ) - { - repository = new RemoteRepository(); - repository.setProject( getProject() ); - } - repository.setRefid( ref ); - } - - public void addSnapshotRepo( RemoteRepository snapshotRepository ) - { - if ( this.snapshotRepository != null ) - { - throw new BuildException( "You must not specify multiple <snapshotRepo> elements" ); - } - this.snapshotRepository = snapshotRepository; - } - - public void setSnapshotRepoRef( Reference ref ) - { - if ( snapshotRepository == null ) - { - snapshotRepository = new RemoteRepository(); - snapshotRepository.setProject( getProject() ); - } - snapshotRepository.setRefid( ref ); - } - - @Override - public void execute() - throws BuildException - { - validate(); - - AntRepoSys.getInstance( getProject() ).deploy( this, getPom(), getArtifacts(), repository, snapshotRepository ); - } - -} http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/b5f1ab9c/src/main/java/org/apache/maven/aether/internal/ant/tasks/Install.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/maven/aether/internal/ant/tasks/Install.java b/src/main/java/org/apache/maven/aether/internal/ant/tasks/Install.java deleted file mode 100644 index e94b433..0000000 --- a/src/main/java/org/apache/maven/aether/internal/ant/tasks/Install.java +++ /dev/null @@ -1,60 +0,0 @@ -package org.apache.maven.aether.internal.ant.tasks; - -/* - * 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; - -/* - * 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.BuildException; - -/** - */ -public class Install - extends AbstractDistTask -{ - - @Override - public void execute() - throws BuildException - { - validate(); - - AntRepoSys.getInstance( getProject() ).install( this, getPom(), getArtifacts() ); - } - -} http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/b5f1ab9c/src/main/java/org/apache/maven/aether/internal/ant/tasks/Layout.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/maven/aether/internal/ant/tasks/Layout.java b/src/main/java/org/apache/maven/aether/internal/ant/tasks/Layout.java deleted file mode 100644 index 6d70794..0000000 --- a/src/main/java/org/apache/maven/aether/internal/ant/tasks/Layout.java +++ /dev/null @@ -1,131 +0,0 @@ -package org.apache.maven.aether.internal.ant.tasks; - -/* - * 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.Arrays; -import java.util.Collection; -import java.util.HashSet; -import java.util.List; -import java.util.TreeSet; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import org.apache.tools.ant.BuildException; -import org.eclipse.aether.artifact.Artifact; - -/** - */ -class Layout -{ - - public static final String GID = "{groupId}"; - - public static final String GID_DIRS = "{groupIdDirs}"; - - public static final String AID = "{artifactId}"; - - public static final String VER = "{version}"; - - public static final String BVER = "{baseVersion}"; - - public static final String EXT = "{extension}"; - - public static final String CLS = "{classifier}"; - - private String[] tokens; - - public Layout( String layout ) - throws BuildException - { - Collection<String> valid = new HashSet<String>( Arrays.asList( GID, GID_DIRS, AID, VER, BVER, EXT, CLS ) ); - List<String> tokens = new ArrayList<String>(); - Matcher m = Pattern.compile( "(\\{[^}]*\\})|([^{]+)" ).matcher( layout ); - while ( m.find() ) - { - if ( m.group( 1 ) != null && !valid.contains( m.group( 1 ) ) ) - { - throw new BuildException( "Invalid variable '" + m.group() + "' in layout, supported variables are " - + new TreeSet<String>( valid ) ); - } - tokens.add( m.group() ); - } - this.tokens = tokens.toArray( new String[tokens.size()] ); - } - - public String getPath( Artifact artifact ) - { - StringBuilder buffer = new StringBuilder( 128 ); - - for ( int i = 0; i < tokens.length; i++ ) - { - String token = tokens[i]; - if ( GID.equals( token ) ) - { - buffer.append( artifact.getGroupId() ); - } - else if ( GID_DIRS.equals( token ) ) - { - buffer.append( artifact.getGroupId().replace( '.', '/' ) ); - } - else if ( AID.equals( token ) ) - { - buffer.append( artifact.getArtifactId() ); - } - else if ( VER.equals( token ) ) - { - buffer.append( artifact.getVersion() ); - } - else if ( BVER.equals( token ) ) - { - buffer.append( artifact.getBaseVersion() ); - } - else if ( CLS.equals( token ) ) - { - if ( artifact.getClassifier().length() <= 0 ) - { - if ( i > 0 ) - { - String lt = tokens[i - 1]; - if ( lt.length() > 0 && "-_".indexOf( lt.charAt( lt.length() - 1 ) ) >= 0 ) - { - buffer.setLength( buffer.length() - 1 ); - } - } - } - else - { - buffer.append( artifact.getClassifier() ); - } - } - else if ( EXT.equals( token ) ) - { - buffer.append( artifact.getExtension() ); - } - else - { - buffer.append( token ); - } - } - - return buffer.toString(); - } - -} http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/b5f1ab9c/src/main/java/org/apache/maven/aether/internal/ant/tasks/RefTask.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/maven/aether/internal/ant/tasks/RefTask.java b/src/main/java/org/apache/maven/aether/internal/ant/tasks/RefTask.java deleted file mode 100644 index 197066e..0000000 --- a/src/main/java/org/apache/maven/aether/internal/ant/tasks/RefTask.java +++ /dev/null @@ -1,98 +0,0 @@ -package org.apache.maven.aether.internal.ant.tasks; - -/* - * 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.BuildException; -import org.apache.tools.ant.ComponentHelper; -import org.apache.tools.ant.Project; -import org.apache.tools.ant.Task; -import org.apache.tools.ant.types.Reference; - -/** - */ -public abstract class RefTask - extends Task -{ - - private Reference ref; - - public boolean isReference() - { - return ref != null; - } - - public void setRefid( final Reference ref ) - { - this.ref = ref; - } - - protected void checkAttributesAllowed() - { - if ( isReference() ) - { - throw tooManyAttributes(); - } - } - - protected void checkChildrenAllowed() - { - if ( isReference() ) - { - throw noChildrenAllowed(); - } - } - - protected BuildException tooManyAttributes() - { - return new BuildException( "You must not specify more than one " + "attribute when using refid" ); - } - - protected BuildException noChildrenAllowed() - { - return new BuildException( "You must not specify nested elements " + "when using refid" ); - } - - protected String getDataTypeName() - { - return ComponentHelper.getElementName( getProject(), this, true ); - } - - protected Object getCheckedRef() - { - return getCheckedRef( getClass(), getDataTypeName(), getProject() ); - } - - protected Object getCheckedRef( final Class<?> requiredClass, final String dataTypeName, final Project project ) - { - if ( project == null ) - { - throw new BuildException( "No Project specified" ); - } - Object o = ref.getReferencedObject( project ); - if ( !( requiredClass.isAssignableFrom( o.getClass() ) ) ) - { - log( "Class " + o.getClass() + " is not a subclass of " + requiredClass, Project.MSG_VERBOSE ); - String msg = ref.getRefId() + " doesn\'t denote a " + dataTypeName; - throw new BuildException( msg ); - } - return o; - } - -} http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/b5f1ab9c/src/main/java/org/apache/maven/aether/internal/ant/tasks/Resolve.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/maven/aether/internal/ant/tasks/Resolve.java b/src/main/java/org/apache/maven/aether/internal/ant/tasks/Resolve.java deleted file mode 100644 index 7e2deae..0000000 --- a/src/main/java/org/apache/maven/aether/internal/ant/tasks/Resolve.java +++ /dev/null @@ -1,585 +0,0 @@ -package org.apache.maven.aether.internal.ant.tasks; - -/* - * 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.io.IOException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; - -import org.apache.maven.aether.internal.ant.AntRepoSys; -import org.apache.maven.aether.internal.ant.Names; -import org.apache.maven.aether.internal.ant.types.Dependencies; -import org.apache.maven.aether.internal.ant.types.Pom; -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.Project; -import org.apache.tools.ant.ProjectComponent; -import org.apache.tools.ant.types.FileSet; -import org.apache.tools.ant.types.Reference; -import org.apache.tools.ant.types.resources.FileResource; -import org.apache.tools.ant.types.resources.Resources; -import org.apache.tools.ant.util.FileUtils; -import org.eclipse.aether.RepositorySystem; -import org.eclipse.aether.RepositorySystemSession; -import org.eclipse.aether.artifact.Artifact; -import org.eclipse.aether.graph.DependencyFilter; -import org.eclipse.aether.graph.DependencyNode; -import org.eclipse.aether.resolution.ArtifactRequest; -import org.eclipse.aether.resolution.ArtifactResolutionException; -import org.eclipse.aether.resolution.ArtifactResult; -import org.eclipse.aether.util.artifact.SubArtifact; -import org.eclipse.aether.util.filter.ScopeDependencyFilter; - -/** - */ -public class Resolve - extends AbstractResolvingTask -{ - - private List<ArtifactConsumer> consumers = new ArrayList<ArtifactConsumer>(); - - private boolean failOnMissingAttachments; - - public void setFailOnMissingAttachments( boolean failOnMissingAttachments ) - { - this.failOnMissingAttachments = failOnMissingAttachments; - } - - public Path createPath() - { - Path path = new Path(); - consumers.add( path ); - return path; - } - - public Files createFiles() - { - Files files = new Files(); - consumers.add( files ); - return files; - } - - public Props createProperties() - { - Props props = new Props(); - consumers.add( props ); - return props; - } - - private void validate() - { - for ( ArtifactConsumer consumer : consumers ) - { - consumer.validate(); - } - - Pom pom = AntRepoSys.getInstance( getProject() ).getDefaultPom(); - if ( dependencies == null && pom != null ) - { - log( "Using default pom for dependency resolution (" + pom.toString() + ")", Project.MSG_INFO ); - dependencies = new Dependencies(); - dependencies.setProject( getProject() ); - getProject().addReference( Names.ID_DEFAULT_POM, pom ); - dependencies.setPomRef( new Reference( getProject(), Names.ID_DEFAULT_POM ) ); - } - - if ( dependencies != null ) - { - dependencies.validate( this ); - } - else - { - throw new BuildException( "No <dependencies> set for resolution" ); - } - } - - @Override - public void execute() - throws BuildException - { - validate(); - - - AntRepoSys sys = AntRepoSys.getInstance( getProject() ); - - RepositorySystemSession session = sys.getSession( this, localRepository ); - RepositorySystem system = sys.getSystem(); - log( "Using local repository " + session.getLocalRepository(), Project.MSG_VERBOSE ); - - DependencyNode root = collectDependencies().getRoot(); - root.accept( new DependencyGraphLogger( this ) ); - - Map<String, Group> groups = new HashMap<String, Group>(); - for ( ArtifactConsumer consumer : consumers ) - { - String classifier = consumer.getClassifier(); - Group group = groups.get( classifier ); - if ( group == null ) - { - group = new Group( classifier ); - groups.put( classifier, group ); - } - group.add( consumer ); - } - - for ( Group group : groups.values() ) - { - group.createRequests( root ); - } - - log( "Resolving artifacts", Project.MSG_INFO ); - - for ( Group group : groups.values() ) - { - List<ArtifactResult> results; - try - { - results = system.resolveArtifacts( session, group.getRequests() ); - } - catch ( ArtifactResolutionException e ) - { - if ( !group.isAttachments() || failOnMissingAttachments ) - { - throw new BuildException( "Could not resolve artifacts: " + e.getMessage(), e ); - } - results = e.getResults(); - for ( ArtifactResult result : results ) - { - if ( result.isMissing() ) - { - log( "Ignoring missing attachment " + result.getRequest().getArtifact(), Project.MSG_VERBOSE ); - } - else if ( !result.isResolved() ) - { - throw new BuildException( "Could not resolve artifacts: " + e.getMessage(), e ); - } - } - } - - group.processResults( results, session ); - } - } - - /** - */ - public abstract static class ArtifactConsumer - extends ProjectComponent - { - - private DependencyFilter filter; - - public boolean accept( org.eclipse.aether.graph.DependencyNode node, List<DependencyNode> parents ) - { - return filter == null || filter.accept( node, parents ); - } - - public String getClassifier() - { - return null; - } - - public void validate() - { - - } - - public abstract void process( Artifact artifact, RepositorySystemSession session ); - - public void setScopes( String scopes ) - { - if ( filter != null ) - { - throw new BuildException( "You must not specify both 'scopes' and 'classpath'" ); - } - - Collection<String> included = new HashSet<String>(); - Collection<String> excluded = new HashSet<String>(); - - String[] split = scopes.split( "[, ]" ); - for ( String scope : split ) - { - scope = scope.trim(); - Collection<String> dst; - if ( scope.startsWith( "-" ) || scope.startsWith( "!" ) ) - { - dst = excluded; - scope = scope.substring( 1 ); - } - else - { - dst = included; - } - if ( scope.length() > 0 ) - { - dst.add( scope ); - } - } - - filter = new ScopeDependencyFilter( included, excluded ); - } - - public void setClasspath( String classpath ) - { - if ( "compile".equals( classpath ) ) - { - setScopes( "provided,system,compile" ); - } - else if ( "runtime".equals( classpath ) ) - { - setScopes( "compile,runtime" ); - } - else if ( "test".equals( classpath ) ) - { - setScopes( "provided,system,compile,runtime,test" ); - } - else - { - throw new BuildException( "The classpath '" + classpath + "' is not defined" - + ", must be one of 'compile', 'runtime' or 'test'" ); - } - } - - } - - /** - */ - public class Path - extends ArtifactConsumer - { - - private String refid; - - private org.apache.tools.ant.types.Path path; - - public void setRefId( String refId ) - { - this.refid = refId; - } - - public void validate() - { - if ( refid == null ) - { - throw new BuildException( "You must specify the 'refid' for the path" ); - } - } - - public void process( Artifact artifact, RepositorySystemSession session ) - { - if ( path == null ) - { - path = new org.apache.tools.ant.types.Path( getProject() ); - getProject().addReference( refid, path ); - } - path.setLocation( artifact.getFile() ); - } - - } - - /** - */ - public class Files - extends ArtifactConsumer - { - - private static final String DEFAULT_LAYOUT = Layout.GID_DIRS + "/" + Layout.AID + "/" + Layout.BVER + "/" - + Layout.AID + "-" + Layout.VER + "-" + Layout.CLS + "." + Layout.EXT; - - private String refid; - - private String classifier; - - private File dir; - - private Layout layout; - - private FileSet fileset; - - private Resources resources; - - public void setRefId( String refId ) - { - this.refid = refId; - } - - public String getClassifier() - { - return classifier; - } - - public void setAttachments( String attachments ) - { - if ( "sources".equals( attachments ) ) - { - classifier = "*-sources"; - } - else if ( "javadoc".equals( attachments ) ) - { - classifier = "*-javadoc"; - } - else - { - throw new BuildException( "The attachment type '" + attachments - + "' is not defined, must be one of 'sources' or 'javadoc'" ); - } - } - - public void setDir( File dir ) - { - this.dir = dir; - if ( dir != null && layout == null ) - { - layout = new Layout( DEFAULT_LAYOUT ); - } - } - - public void setLayout( String layout ) - { - this.layout = new Layout( layout ); - } - - public void validate() - { - if ( refid == null && dir == null ) - { - throw new BuildException( "You must either specify the 'refid' for the resource collection" - + " or a 'dir' to copy the files to" ); - } - if ( dir == null && layout != null ) - { - throw new BuildException( "You must not specify a 'layout' unless 'dir' is also specified" ); - } - } - - public void process( Artifact artifact, RepositorySystemSession session ) - { - if ( dir != null ) - { - if ( refid != null && fileset == null ) - { - fileset = new FileSet(); - fileset.setProject( getProject() ); - fileset.setDir( dir ); - getProject().addReference( refid, fileset ); - } - - String path = layout.getPath( artifact ); - - if ( fileset != null ) - { - fileset.createInclude().setName( path ); - } - - File src = artifact.getFile(); - File dst = new File( dir, path ); - - if ( src.lastModified() != dst.lastModified() || src.length() != dst.length() ) - { - try - { - Resolve.this.log( "Copy " + src + " to " + dst, Project.MSG_VERBOSE ); - FileUtils.getFileUtils().copyFile( src, dst, null, true, true ); - } - catch ( IOException e ) - { - throw new BuildException( "Failed to copy artifact file " + src + " to " + dst + ": " - + e.getMessage(), e ); - } - } - else - { - Resolve.this.log( "Omit to copy " + src + " to " + dst + ", seems unchanged", Project.MSG_VERBOSE ); - } - } - else - { - if ( resources == null ) - { - resources = new Resources(); - resources.setProject( getProject() ); - getProject().addReference( refid, resources ); - } - - FileResource resource = new FileResource( artifact.getFile() ); - resource.setBaseDir( session.getLocalRepository().getBasedir() ); - resource.setProject( getProject() ); - resources.add( resource ); - } - } - - } - - /** - */ - public class Props - extends ArtifactConsumer - { - - private String prefix; - - private String classifier; - - public void setPrefix( String prefix ) - { - this.prefix = prefix; - } - - public String getClassifier() - { - return classifier; - } - - public void setAttachments( String attachments ) - { - if ( "sources".equals( attachments ) ) - { - classifier = "*-sources"; - } - else if ( "javadoc".equals( attachments ) ) - { - classifier = "*-javadoc"; - } - else - { - throw new BuildException( "The attachment type '" + attachments - + "' is not defined, must be one of 'sources' or 'javadoc'" ); - } - } - - public void process( Artifact artifact, RepositorySystemSession session ) - { - StringBuilder buffer = new StringBuilder( 256 ); - if ( prefix != null && prefix.length() > 0 ) - { - buffer.append( prefix ); - if ( !prefix.endsWith( "." ) ) - { - buffer.append( '.' ); - } - } - buffer.append( artifact.getGroupId() ); - buffer.append( ':' ); - buffer.append( artifact.getArtifactId() ); - buffer.append( ':' ); - buffer.append( artifact.getExtension() ); - if ( artifact.getClassifier().length() > 0 ) - { - buffer.append( ':' ); - buffer.append( artifact.getClassifier() ); - } - - String path = artifact.getFile().getAbsolutePath(); - - getProject().setProperty( buffer.toString(), path ); - } - - } - - private static class Group - { - - private String classifier; - - private List<ArtifactConsumer> consumers = new ArrayList<ArtifactConsumer>(); - - private List<ArtifactRequest> requests = new ArrayList<ArtifactRequest>(); - - public Group( String classifier ) - { - this.classifier = classifier; - } - - public boolean isAttachments() - { - return classifier != null; - } - - public void add( ArtifactConsumer consumer ) - { - consumers.add( consumer ); - } - - public void createRequests( DependencyNode node ) - { - createRequests( node, new LinkedList<DependencyNode>() ); - } - - private void createRequests( DependencyNode node, LinkedList<DependencyNode> parents ) - { - if ( node.getDependency() != null ) - { - for ( ArtifactConsumer consumer : consumers ) - { - if ( consumer.accept( node, parents ) ) - { - ArtifactRequest request = new ArtifactRequest( node ); - if ( classifier != null ) - { - request.setArtifact( new SubArtifact( request.getArtifact(), classifier, "jar" ) ); - } - requests.add( request ); - break; - } - } - } - - parents.addFirst( node ); - - for ( DependencyNode child : node.getChildren() ) - { - createRequests( child, parents ); - } - - parents.removeFirst(); - } - - public List<ArtifactRequest> getRequests() - { - return requests; - } - - public void processResults( List<ArtifactResult> results, RepositorySystemSession session ) - { - for ( ArtifactResult result : results ) - { - if ( !result.isResolved() ) - { - continue; - } - for ( ArtifactConsumer consumer : consumers ) - { - if ( consumer.accept( result.getRequest().getDependencyNode(), - Collections.<DependencyNode>emptyList() ) ) - { - consumer.process( result.getArtifact(), session ); - } - } - } - } - - } - -} http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/b5f1ab9c/src/main/java/org/apache/maven/aether/internal/ant/types/Artifact.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/maven/aether/internal/ant/types/Artifact.java b/src/main/java/org/apache/maven/aether/internal/ant/types/Artifact.java deleted file mode 100644 index abd3991..0000000 --- a/src/main/java/org/apache/maven/aether/internal/ant/types/Artifact.java +++ /dev/null @@ -1,181 +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.Collections; -import java.util.List; - -import org.apache.maven.aether.internal.ant.ProjectWorkspaceReader; -import org.apache.maven.aether.internal.ant.tasks.RefTask; -import org.apache.tools.ant.BuildException; -import org.apache.tools.ant.Task; -import org.apache.tools.ant.types.Reference; - -/** - */ -public class Artifact - extends RefTask - implements ArtifactContainer -{ - - private File file; - - private String type; - - private String classifier; - - private Pom pom; - - protected Artifact getRef() - { - return (Artifact) getCheckedRef(); - } - - public void validate( Task task ) - { - if ( isReference() ) - { - getRef().validate( task ); - } - else - { - if ( file == null ) - { - throw new BuildException( "You must specify the 'file' for the artifact" ); - } - else if ( !file.isFile() ) - { - throw new BuildException( "The artifact file " + file + " does not exist" ); - } - if ( type == null || type.length() <= 0 ) - { - throw new BuildException( "You must specify the 'type' for the artifact" ); - } - } - } - - public void setRefid( Reference ref ) - { - if ( file != null || type != null || classifier != 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; - - if ( file != null && type == null ) - { - String name = file.getName(); - int period = name.lastIndexOf( '.' ); - if ( period >= 0 ) - { - type = name.substring( period + 1 ); - } - } - } - - public String getType() - { - if ( isReference() ) - { - return getRef().getType(); - } - return ( type != null ) ? type : "jar"; - } - - public void setType( String type ) - { - checkAttributesAllowed(); - this.type = type; - } - - public String getClassifier() - { - if ( isReference() ) - { - return getRef().getClassifier(); - } - return ( classifier != null ) ? classifier : ""; - } - - public void setClassifier( String classifier ) - { - checkAttributesAllowed(); - this.classifier = classifier; - } - - public void setPomRef( Reference ref ) - { - checkAttributesAllowed(); - Pom pom = new Pom(); - pom.setProject( getProject() ); - pom.setRefid( ref ); - this.pom = pom; - } - - public void addPom( Pom pom ) - { - checkChildrenAllowed(); - this.pom = pom; - } - - public Pom getPom() - { - if ( isReference() ) - { - return getRef().getPom(); - } - return pom; - } - - public List<Artifact> getArtifacts() - { - return Collections.singletonList( this ); - } - - @Override - public void execute() - throws BuildException - { - ProjectWorkspaceReader.getInstance().addArtifact( this ); - } - - public String toString() - { - String pomRepr = getPom() != null ? "(" + getPom().toString() + ":)" : ""; - return String.format( pomRepr + "%s:%s", getType(), getClassifier() ); - } - -} http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/b5f1ab9c/src/main/java/org/apache/maven/aether/internal/ant/types/ArtifactContainer.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/maven/aether/internal/ant/types/ArtifactContainer.java b/src/main/java/org/apache/maven/aether/internal/ant/types/ArtifactContainer.java deleted file mode 100644 index aad607c..0000000 --- a/src/main/java/org/apache/maven/aether/internal/ant/types/ArtifactContainer.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 ArtifactContainer -{ - - void validate( Task task ); - - List<Artifact> getArtifacts(); - -} http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/b5f1ab9c/src/main/java/org/apache/maven/aether/internal/ant/types/Artifacts.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/maven/aether/internal/ant/types/Artifacts.java b/src/main/java/org/apache/maven/aether/internal/ant/types/Artifacts.java deleted file mode 100644 index 6e75468..0000000 --- a/src/main/java/org/apache/maven/aether/internal/ant/types/Artifacts.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 Artifacts - extends DataType - implements ArtifactContainer -{ - - private List<ArtifactContainer> containers = new ArrayList<ArtifactContainer>(); - - protected Artifacts getRef() - { - return (Artifacts) getCheckedRef(); - } - - public void validate( Task task ) - { - if ( isReference() ) - { - getRef().validate( task ); - } - else - { - for ( ArtifactContainer container : containers ) - { - container.validate( task ); - } - } - } - - public void setRefid( Reference ref ) - { - if ( !containers.isEmpty() ) - { - throw noChildrenAllowed(); - } - super.setRefid( ref ); - } - - public void addArtifact( Artifact artifact ) - { - checkChildrenAllowed(); - containers.add( artifact ); - } - - public void addArtifacts( Artifacts artifacts ) - { - checkChildrenAllowed(); - if ( artifacts == this ) - { - throw circularReference(); - } - containers.add( artifacts ); - } - - public List<Artifact> getArtifacts() - { - if ( isReference() ) - { - return getRef().getArtifacts(); - } - List<Artifact> artifacts = new ArrayList<Artifact>(); - for ( ArtifactContainer container : containers ) - { - artifacts.addAll( container.getArtifacts() ); - } - return artifacts; - } - -} http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/b5f1ab9c/src/main/java/org/apache/maven/aether/internal/ant/types/Authentication.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/maven/aether/internal/ant/types/Authentication.java b/src/main/java/org/apache/maven/aether/internal/ant/types/Authentication.java deleted file mode 100644 index d5356a1..0000000 --- a/src/main/java/org/apache/maven/aether/internal/ant/types/Authentication.java +++ /dev/null @@ -1,152 +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.maven.aether.internal.ant.AntRepoSys; -import org.apache.tools.ant.Project; -import org.apache.tools.ant.types.DataType; -import org.apache.tools.ant.types.Reference; - -/** - */ -public class Authentication - extends DataType -{ - - private String username; - - private String password; - - private String privateKeyFile; - - private String passphrase; - - private List<String> servers = new ArrayList<String>(); - - @Override - public void setProject( Project project ) - { - super.setProject( project ); - - AntRepoSys.getInstance( project ).addAuthentication( this ); - } - - protected Authentication getRef() - { - return (Authentication) getCheckedRef(); - } - - public void setRefid( Reference ref ) - { - if ( username != null || password != null || privateKeyFile != null || passphrase != null ) - { - throw tooManyAttributes(); - } - super.setRefid( ref ); - } - - public String getUsername() - { - if ( isReference() ) - { - return getRef().getUsername(); - } - return username; - } - - public void setUsername( String username ) - { - checkAttributesAllowed(); - this.username = username; - } - - public String getPassword() - { - if ( isReference() ) - { - return getRef().getPassword(); - } - return password; - } - - public void setPassword( String password ) - { - checkAttributesAllowed(); - this.password = password; - } - - public String getPrivateKeyFile() - { - if ( isReference() ) - { - return getRef().getPrivateKeyFile(); - } - return privateKeyFile; - } - - public void setPrivateKeyFile( String privateKeyFile ) - { - checkAttributesAllowed(); - this.privateKeyFile = privateKeyFile; - } - - public String getPassphrase() - { - if ( isReference() ) - { - return getRef().getPassphrase(); - } - return passphrase; - } - - public void setPassphrase( String passphrase ) - { - checkAttributesAllowed(); - this.passphrase = passphrase; - } - - public List<String> getServers() - { - if ( isReference() ) - { - return getRef().getServers(); - } - return servers; - } - - public void setServers( String servers ) - { - checkAttributesAllowed(); - this.servers.clear(); - String[] split = servers.split( "[;:]" ); - for ( String server : split ) - { - server = server.trim(); - if ( server.length() > 0 ) - { - this.servers.add( server ); - } - } - } - -} http://git-wip-us.apache.org/repos/asf/maven-resolver/blob/b5f1ab9c/src/main/java/org/apache/maven/aether/internal/ant/types/Dependencies.java ---------------------------------------------------------------------- diff --git a/src/main/java/org/apache/maven/aether/internal/ant/types/Dependencies.java b/src/main/java/org/apache/maven/aether/internal/ant/types/Dependencies.java deleted file mode 100644 index 682da97..0000000 --- a/src/main/java/org/apache/maven/aether/internal/ant/types/Dependencies.java +++ /dev/null @@ -1,197 +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.HashMap; -import java.util.List; -import java.util.Map; - -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 Dependencies - extends DataType - implements DependencyContainer -{ - - private File file; - - private Pom pom; - - private List<DependencyContainer> containers = new ArrayList<DependencyContainer>(); - - private List<Exclusion> exclusions = new ArrayList<Exclusion>(); - - private boolean nestedDependencies; - - protected Dependencies getRef() - { - return (Dependencies) getCheckedRef(); - } - - public void validate( Task task ) - { - if ( isReference() ) - { - getRef().validate( task ); - } - else - { - if ( getPom() != null && getPom().getFile() == null ) - { - throw new BuildException( "A <pom> used for dependency resolution has to be backed by a pom.xml file" ); - } - Map<String, String> ids = new HashMap<String, String>(); - for ( DependencyContainer container : containers ) - { - container.validate( task ); - if ( container instanceof Dependency ) - { - Dependency dependency = (Dependency) container; - String id = dependency.getVersionlessKey(); - String collision = ids.put( id, dependency.getVersion() ); - if ( collision != null ) - { - throw new BuildException( "You must not declare multiple <dependency> elements" - + " with the same coordinates but got " + id + " -> " + collision + " vs " - + dependency.getVersion() ); - } - } - } - } - } - - public void setRefid( Reference ref ) - { - if ( pom != null || !exclusions.isEmpty() || !containers.isEmpty() ) - { - throw noChildrenAllowed(); - } - super.setRefid( ref ); - } - - public void setFile( File file ) - { - checkAttributesAllowed(); - this.file = file; - checkExternalSources(); - } - - public File getFile() - { - if ( isReference() ) - { - return getRef().getFile(); - } - return file; - } - - public void addPom( Pom pom ) - { - checkChildrenAllowed(); - if ( this.pom != null ) - { - throw new BuildException( "You must not specify multiple <pom> elements" ); - } - this.pom = pom; - checkExternalSources(); - } - - public Pom getPom() - { - if ( isReference() ) - { - return getRef().getPom(); - } - return pom; - } - - public void setPomRef( Reference ref ) - { - if ( pom == null ) - { - pom = new Pom(); - pom.setProject( getProject() ); - } - pom.setRefid( ref ); - checkExternalSources(); - } - - private void checkExternalSources() - { - if ( file != null && pom != null ) - { - throw new BuildException( "You must not specify both a text file and a POM to list dependencies" ); - } - if ( ( file != null || pom != null ) && nestedDependencies ) - { - throw new BuildException( "You must not specify both a file/POM and nested dependency collections" ); - } - } - - public void addDependency( Dependency dependency ) - { - checkChildrenAllowed(); - containers.add( dependency ); - } - - public void addDependencies( Dependencies dependencies ) - { - checkChildrenAllowed(); - if ( dependencies == this ) - { - throw circularReference(); - } - containers.add( dependencies ); - nestedDependencies = true; - checkExternalSources(); - } - - public List<DependencyContainer> getDependencyContainers() - { - if ( isReference() ) - { - return getRef().getDependencyContainers(); - } - return containers; - } - - public void addExclusion( Exclusion exclusion ) - { - checkChildrenAllowed(); - this.exclusions.add( exclusion ); - } - - public List<Exclusion> getExclusions() - { - if ( isReference() ) - { - return getRef().getExclusions(); - } - return exclusions; - } - -}
