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/05/07 13:30:26 UTC
[33/50] [abbrv] maven-aether git commit: Cleaned up package structure
Cleaned up package structure
Project: http://git-wip-us.apache.org/repos/asf/maven-aether/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-aether/commit/c4d6f720
Tree: http://git-wip-us.apache.org/repos/asf/maven-aether/tree/c4d6f720
Diff: http://git-wip-us.apache.org/repos/asf/maven-aether/diff/c4d6f720
Branch: refs/heads/ant-tasks
Commit: c4d6f72064c18ec689913a7cbb1a06f9bab92018
Parents: 1ec78d9
Author: Benjamin Bentmann <be...@sonatype.com>
Authored: Wed Apr 30 01:58:10 2014 +0200
Committer: Benjamin Bentmann <be...@sonatype.com>
Committed: Wed Apr 30 01:58:10 2014 +0200
----------------------------------------------------------------------
.../aether/internal/ant/AetherUtils.java | 74 +++++++
.../eclipse/aether/internal/ant/AntRepoSys.java | 71 +++++-
.../aether/internal/ant/ConverterUtils.java | 218 +++++++++++++++++++
.../aether/internal/ant/SettingsUtils.java | 173 +++++++++++++++
.../internal/ant/tasks/AbstractDistTask.java | 26 ---
.../aether/internal/ant/tasks/Deploy.java | 27 +--
.../aether/internal/ant/tasks/Install.java | 21 +-
.../aether/internal/ant/util/AetherUtils.java | 75 -------
.../internal/ant/util/ConverterUtils.java | 218 -------------------
.../aether/internal/ant/util/SettingsUtils.java | 173 ---------------
10 files changed, 535 insertions(+), 541 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/c4d6f720/src/main/java/org/eclipse/aether/internal/ant/AetherUtils.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/eclipse/aether/internal/ant/AetherUtils.java b/src/main/java/org/eclipse/aether/internal/ant/AetherUtils.java
new file mode 100644
index 0000000..e76ba08
--- /dev/null
+++ b/src/main/java/org/eclipse/aether/internal/ant/AetherUtils.java
@@ -0,0 +1,74 @@
+/*******************************************************************************
+ * Copyright (c) 2010, 2014 Sonatype, Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.aether.internal.ant;
+
+import java.io.File;
+
+import org.apache.tools.ant.Project;
+import org.eclipse.aether.internal.ant.types.RemoteRepositories;
+
+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-aether/blob/c4d6f720/src/main/java/org/eclipse/aether/internal/ant/AntRepoSys.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/eclipse/aether/internal/ant/AntRepoSys.java b/src/main/java/org/eclipse/aether/internal/ant/AntRepoSys.java
index 860b203..76cc927 100644
--- a/src/main/java/org/eclipse/aether/internal/ant/AntRepoSys.java
+++ b/src/main/java/org/eclipse/aether/internal/ant/AntRepoSys.java
@@ -56,12 +56,19 @@ import org.eclipse.aether.DefaultRepositoryCache;
import org.eclipse.aether.DefaultRepositorySystemSession;
import org.eclipse.aether.RepositorySystem;
import org.eclipse.aether.RepositorySystemSession;
+import org.eclipse.aether.artifact.DefaultArtifact;
import org.eclipse.aether.collection.CollectRequest;
import org.eclipse.aether.collection.CollectResult;
import org.eclipse.aether.collection.DependencyCollectionException;
import org.eclipse.aether.connector.basic.BasicRepositoryConnectorFactory;
+import org.eclipse.aether.deployment.DeployRequest;
+import org.eclipse.aether.deployment.DeploymentException;
import org.eclipse.aether.impl.DefaultServiceLocator;
import org.eclipse.aether.impl.RemoteRepositoryManager;
+import org.eclipse.aether.installation.InstallRequest;
+import org.eclipse.aether.installation.InstallationException;
+import org.eclipse.aether.internal.ant.types.Artifact;
+import org.eclipse.aether.internal.ant.types.Artifacts;
import org.eclipse.aether.internal.ant.types.Authentication;
import org.eclipse.aether.internal.ant.types.Dependencies;
import org.eclipse.aether.internal.ant.types.Dependency;
@@ -73,9 +80,6 @@ import org.eclipse.aether.internal.ant.types.Pom;
import org.eclipse.aether.internal.ant.types.Proxy;
import org.eclipse.aether.internal.ant.types.RemoteRepositories;
import org.eclipse.aether.internal.ant.types.RemoteRepository;
-import org.eclipse.aether.internal.ant.util.AetherUtils;
-import org.eclipse.aether.internal.ant.util.ConverterUtils;
-import org.eclipse.aether.internal.ant.util.SettingsUtils;
import org.eclipse.aether.repository.AuthenticationSelector;
import org.eclipse.aether.repository.LocalRepositoryManager;
import org.eclipse.aether.repository.MirrorSelector;
@@ -748,4 +752,65 @@ public class AntRepoSys
return dependencies;
}
+ public void install( Task task, Pom pom, Artifacts artifacts )
+ {
+ RepositorySystemSession session = getSession( task, null );
+
+ InstallRequest request = new InstallRequest();
+ request.setArtifacts( toArtifacts( task, session, pom, artifacts ) );
+
+ try
+ {
+ getSystem().install( session, request );
+ }
+ catch ( InstallationException e )
+ {
+ throw new BuildException( "Could not install artifacts: " + e.getMessage(), e );
+ }
+ }
+
+ public void deploy( Task task, Pom pom, Artifacts artifacts, RemoteRepository releaseRepository,
+ RemoteRepository snapshotRepository )
+ {
+ RepositorySystemSession session = getSession( task, null );
+
+ DeployRequest request = new DeployRequest();
+ request.setArtifacts( toArtifacts( task, session, pom, artifacts ) );
+ boolean snapshot = request.getArtifacts().iterator().next().isSnapshot();
+ RemoteRepository distRepo = ( snapshot && snapshotRepository != null ) ? snapshotRepository : releaseRepository;
+ request.setRepository( ConverterUtils.toDistRepository( distRepo, session ) );
+
+ try
+ {
+ getSystem().deploy( session, request );
+ }
+ catch ( DeploymentException e )
+ {
+ throw new BuildException( "Could not deploy artifacts: " + e.getMessage(), e );
+ }
+ }
+
+ private List<org.eclipse.aether.artifact.Artifact> toArtifacts( Task task, RepositorySystemSession session,
+ Pom pom, Artifacts artifacts )
+ {
+ Model model = pom.getModel( task );
+ File pomFile = pom.getFile();
+
+ List<org.eclipse.aether.artifact.Artifact> results = new ArrayList<org.eclipse.aether.artifact.Artifact>();
+
+ org.eclipse.aether.artifact.Artifact pomArtifact =
+ new DefaultArtifact( model.getGroupId(), model.getArtifactId(), "pom", model.getVersion() ).setFile( pomFile );
+ results.add( pomArtifact );
+
+ for ( Artifact artifact : artifacts.getArtifacts() )
+ {
+ org.eclipse.aether.artifact.Artifact buildArtifact =
+ new DefaultArtifact( model.getGroupId(), model.getArtifactId(), artifact.getClassifier(),
+ artifact.getType(), model.getVersion() ).setFile( artifact.getFile() );
+ results.add( buildArtifact );
+ }
+
+ return results;
+ }
+
}
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/c4d6f720/src/main/java/org/eclipse/aether/internal/ant/ConverterUtils.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/eclipse/aether/internal/ant/ConverterUtils.java b/src/main/java/org/eclipse/aether/internal/ant/ConverterUtils.java
new file mode 100644
index 0000000..79f994b
--- /dev/null
+++ b/src/main/java/org/eclipse/aether/internal/ant/ConverterUtils.java
@@ -0,0 +1,218 @@
+/*******************************************************************************
+ * Copyright (c) 2010, 2014 Sonatype, Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.aether.internal.ant;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
+import org.apache.tools.ant.Project;
+import org.eclipse.aether.RepositorySystemSession;
+import org.eclipse.aether.artifact.Artifact;
+import org.eclipse.aether.artifact.ArtifactProperties;
+import org.eclipse.aether.artifact.ArtifactType;
+import org.eclipse.aether.artifact.ArtifactTypeRegistry;
+import org.eclipse.aether.artifact.DefaultArtifact;
+import org.eclipse.aether.artifact.DefaultArtifactType;
+import org.eclipse.aether.impl.RemoteRepositoryManager;
+import org.eclipse.aether.internal.ant.types.Authentication;
+import org.eclipse.aether.internal.ant.types.Dependency;
+import org.eclipse.aether.internal.ant.types.Exclusion;
+import org.eclipse.aether.internal.ant.types.Proxy;
+import org.eclipse.aether.internal.ant.types.RemoteRepositories;
+import org.eclipse.aether.internal.ant.types.RemoteRepository;
+import org.eclipse.aether.repository.RepositoryPolicy;
+import org.eclipse.aether.util.repository.AuthenticationBuilder;
+
+/**
+ * Utility methods to convert between Aether and Ant objects.
+ */
+class ConverterUtils
+{
+
+ private static org.eclipse.aether.artifact.Artifact toArtifact( Dependency dependency, ArtifactTypeRegistry types )
+ {
+ ArtifactType type = types.get( dependency.getType() );
+ if ( type == null )
+ {
+ type = new DefaultArtifactType( dependency.getType() );
+ }
+
+ Map<String, String> props = null;
+ if ( "system".equals( dependency.getScope() ) && dependency.getSystemPath() != null )
+ {
+ props = Collections.singletonMap( ArtifactProperties.LOCAL_PATH, dependency.getSystemPath().getPath() );
+ }
+
+ Artifact artifact =
+ new DefaultArtifact( dependency.getGroupId(), dependency.getArtifactId(), dependency.getClassifier(), null,
+ dependency.getVersion(), props, type );
+
+ return artifact;
+ }
+
+ public static org.eclipse.aether.repository.Authentication toAuthentication( Authentication auth )
+ {
+ if ( auth == null )
+ {
+ return null;
+ }
+ AuthenticationBuilder authBuilder = new AuthenticationBuilder();
+ authBuilder.addUsername( auth.getUsername() ).addPassword( auth.getPassword() );
+ authBuilder.addPrivateKey( auth.getPrivateKeyFile(), auth.getPassphrase() );
+ return authBuilder.build();
+ }
+
+ public static org.eclipse.aether.graph.Dependency toDependency( Dependency dependency, List<Exclusion> exclusions,
+ RepositorySystemSession session )
+ {
+ return new org.eclipse.aether.graph.Dependency( toArtifact( dependency, session.getArtifactTypeRegistry() ),
+ dependency.getScope(), false,
+ toExclusions( dependency.getExclusions(), exclusions ) );
+ }
+
+ /**
+ * Converts the given ant repository type to an Aether repository instance with authentication and proxy filled in
+ * via the sessions' selectors.
+ */
+ public static org.eclipse.aether.repository.RemoteRepository toDistRepository( RemoteRepository repo,
+ RepositorySystemSession session )
+ {
+ org.eclipse.aether.repository.RemoteRepository result = toRepository( repo );
+ org.eclipse.aether.repository.RemoteRepository.Builder builder =
+ new org.eclipse.aether.repository.RemoteRepository.Builder( result );
+ builder.setAuthentication( session.getAuthenticationSelector().getAuthentication( result ) );
+ builder.setProxy( session.getProxySelector().getProxy( result ) );
+ return builder.build();
+ }
+
+ private static org.eclipse.aether.graph.Exclusion toExclusion( Exclusion exclusion )
+ {
+ return new org.eclipse.aether.graph.Exclusion( exclusion.getGroupId(), exclusion.getArtifactId(),
+ exclusion.getClassifier(), exclusion.getExtension() );
+ }
+
+ private static Collection<org.eclipse.aether.graph.Exclusion> toExclusions( Collection<Exclusion> exclusions1,
+ Collection<Exclusion> exclusions2 )
+ {
+ Collection<org.eclipse.aether.graph.Exclusion> results =
+ new LinkedHashSet<org.eclipse.aether.graph.Exclusion>();
+ if ( exclusions1 != null )
+ {
+ for ( Exclusion exclusion : exclusions1 )
+ {
+ results.add( toExclusion( exclusion ) );
+ }
+ }
+ if ( exclusions2 != null )
+ {
+ for ( Exclusion exclusion : exclusions2 )
+ {
+ results.add( toExclusion( exclusion ) );
+ }
+ }
+ return results;
+ }
+
+ private static RepositoryPolicy toPolicy( RemoteRepository.Policy policy, boolean enabled, String updates,
+ String checksums )
+ {
+ if ( policy != null )
+ {
+ enabled = policy.isEnabled();
+ if ( policy.getChecksums() != null )
+ {
+ checksums = policy.getChecksums();
+ }
+ if ( policy.getUpdates() != null )
+ {
+ updates = policy.getUpdates();
+ }
+ }
+ return new RepositoryPolicy( enabled, updates, checksums );
+ }
+
+ /**
+ * Adds every <String, String>-entry in the map as a property to the given Properties.
+ */
+ public static Properties addProperties( Properties props, Map<?, ?> map )
+ {
+ if ( props == null )
+ {
+ props = new Properties();
+ }
+ for ( Map.Entry<?, ?> entry : map.entrySet() )
+ {
+ if ( entry.getKey() instanceof String && entry.getValue() instanceof String )
+ {
+ props.put( entry.getKey(), entry.getValue() );
+ }
+ }
+ return props;
+ }
+
+ public static org.eclipse.aether.repository.Proxy toProxy( Proxy proxy )
+ {
+ if ( proxy == null )
+ {
+ return null;
+ }
+ return new org.eclipse.aether.repository.Proxy( proxy.getType(), proxy.getHost(), proxy.getPort(),
+ toAuthentication( proxy.getAuthentication() ) );
+ }
+
+ private static org.eclipse.aether.repository.RemoteRepository toRepository( RemoteRepository repo )
+ {
+ org.eclipse.aether.repository.RemoteRepository.Builder builder =
+ new org.eclipse.aether.repository.RemoteRepository.Builder( repo.getId(), repo.getType(), repo.getUrl() );
+ builder.setSnapshotPolicy( toPolicy( repo.getSnapshotPolicy(), repo.isSnapshots(), repo.getUpdates(),
+ repo.getChecksums() ) );
+ builder.setReleasePolicy( toPolicy( repo.getReleasePolicy(), repo.isReleases(), repo.getUpdates(),
+ repo.getChecksums() ) );
+ builder.setAuthentication( toAuthentication( repo.getAuthentication() ) );
+ return builder.build();
+ }
+
+ public static List<org.eclipse.aether.repository.RemoteRepository> toRepositories( Project project,
+ RepositorySystemSession session,
+ RemoteRepositories repos, RemoteRepositoryManager remoteRepositoryManager )
+ {
+ List<RemoteRepository> repositories;
+
+ if ( repos != null )
+ {
+ repositories = repos.getRepositories();
+ }
+ else
+ {
+ repositories = new ArrayList<RemoteRepository>();
+ }
+
+ List<org.eclipse.aether.repository.RemoteRepository> results =
+ new ArrayList<org.eclipse.aether.repository.RemoteRepository>();
+ for ( RemoteRepository repo : repositories )
+ {
+ results.add( toRepository( repo ) );
+ }
+
+ results =
+ remoteRepositoryManager.aggregateRepositories( session,
+ Collections.<org.eclipse.aether.repository.RemoteRepository> emptyList(),
+ results, true );
+
+ return results;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/c4d6f720/src/main/java/org/eclipse/aether/internal/ant/SettingsUtils.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/eclipse/aether/internal/ant/SettingsUtils.java b/src/main/java/org/eclipse/aether/internal/ant/SettingsUtils.java
new file mode 100644
index 0000000..1d7314c
--- /dev/null
+++ b/src/main/java/org/eclipse/aether/internal/ant/SettingsUtils.java
@@ -0,0 +1,173 @@
+/*******************************************************************************
+ * Copyright (c) 2010, 2014 Sonatype, Inc.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Sonatype, Inc. - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.aether.internal.ant;
+
+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-aether/blob/c4d6f720/src/main/java/org/eclipse/aether/internal/ant/tasks/AbstractDistTask.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/eclipse/aether/internal/ant/tasks/AbstractDistTask.java b/src/main/java/org/eclipse/aether/internal/ant/tasks/AbstractDistTask.java
index 215b6e6..1c0eccb 100644
--- a/src/main/java/org/eclipse/aether/internal/ant/tasks/AbstractDistTask.java
+++ b/src/main/java/org/eclipse/aether/internal/ant/tasks/AbstractDistTask.java
@@ -11,9 +11,7 @@
package org.eclipse.aether.internal.ant.tasks;
import java.io.File;
-import java.util.ArrayList;
import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import org.apache.maven.model.Model;
@@ -21,12 +19,10 @@ 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;
-import org.eclipse.aether.artifact.DefaultArtifact;
import org.eclipse.aether.internal.ant.AntRepoSys;
import org.eclipse.aether.internal.ant.types.Artifact;
import org.eclipse.aether.internal.ant.types.Artifacts;
import org.eclipse.aether.internal.ant.types.Pom;
-import org.eclipse.aether.RepositorySystemSession;
/**
*/
@@ -114,28 +110,6 @@ public abstract class AbstractDistTask
}
}
- protected List<org.eclipse.aether.artifact.Artifact> toArtifacts( RepositorySystemSession session )
- {
- Model model = getPom().getModel( this );
- File pomFile = getPom().getFile();
-
- List<org.eclipse.aether.artifact.Artifact> results = new ArrayList<org.eclipse.aether.artifact.Artifact>();
-
- org.eclipse.aether.artifact.Artifact pomArtifact =
- new DefaultArtifact( model.getGroupId(), model.getArtifactId(), "pom", model.getVersion() ).setFile( pomFile );
- results.add( pomArtifact );
-
- for ( Artifact artifact : getArtifacts().getArtifacts() )
- {
- org.eclipse.aether.artifact.Artifact buildArtifact =
- new DefaultArtifact( model.getGroupId(), model.getArtifactId(), artifact.getClassifier(),
- artifact.getType(), model.getVersion() ).setFile( artifact.getFile() );
- results.add( buildArtifact );
- }
-
- return results;
- }
-
protected Artifacts getArtifacts()
{
if ( artifacts == null )
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/c4d6f720/src/main/java/org/eclipse/aether/internal/ant/tasks/Deploy.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/eclipse/aether/internal/ant/tasks/Deploy.java b/src/main/java/org/eclipse/aether/internal/ant/tasks/Deploy.java
index fdf8a83..7f72919 100644
--- a/src/main/java/org/eclipse/aether/internal/ant/tasks/Deploy.java
+++ b/src/main/java/org/eclipse/aether/internal/ant/tasks/Deploy.java
@@ -12,13 +12,8 @@ package org.eclipse.aether.internal.ant.tasks;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.types.Reference;
-import org.eclipse.aether.RepositorySystem;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.deployment.DeployRequest;
-import org.eclipse.aether.deployment.DeploymentException;
import org.eclipse.aether.internal.ant.AntRepoSys;
import org.eclipse.aether.internal.ant.types.RemoteRepository;
-import org.eclipse.aether.internal.ant.util.ConverterUtils;
/**
*/
@@ -94,27 +89,7 @@ public class Deploy
{
validate();
- AntRepoSys sys = AntRepoSys.getInstance( getProject() );
-
- RepositorySystemSession session = sys.getSession( this, null );
- RepositorySystem system = sys.getSystem();
-
- DeployRequest request = new DeployRequest();
-
- request.setArtifacts( toArtifacts( session ) );
-
- boolean snapshot = request.getArtifacts().iterator().next().isSnapshot();
- RemoteRepository distRepo = ( snapshot && snapshotRepository != null ) ? snapshotRepository : repository;
- request.setRepository( ConverterUtils.toDistRepository( distRepo, session ) );
-
- try
- {
- system.deploy( session, request );
- }
- catch ( DeploymentException e )
- {
- throw new BuildException( "Could not deploy artifacts: " + e.getMessage(), e );
- }
+ AntRepoSys.getInstance( getProject() ).deploy( this, getPom(), getArtifacts(), repository, snapshotRepository );
}
}
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/c4d6f720/src/main/java/org/eclipse/aether/internal/ant/tasks/Install.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/eclipse/aether/internal/ant/tasks/Install.java b/src/main/java/org/eclipse/aether/internal/ant/tasks/Install.java
index 2029c8a..2a30359 100644
--- a/src/main/java/org/eclipse/aether/internal/ant/tasks/Install.java
+++ b/src/main/java/org/eclipse/aether/internal/ant/tasks/Install.java
@@ -11,10 +11,6 @@
package org.eclipse.aether.internal.ant.tasks;
import org.apache.tools.ant.BuildException;
-import org.eclipse.aether.RepositorySystem;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.installation.InstallRequest;
-import org.eclipse.aether.installation.InstallationException;
import org.eclipse.aether.internal.ant.AntRepoSys;
/**
@@ -29,22 +25,7 @@ public class Install
{
validate();
- AntRepoSys sys = AntRepoSys.getInstance( getProject() );
-
- RepositorySystemSession session = sys.getSession( this, null );
- RepositorySystem system = sys.getSystem();
-
- InstallRequest request = new InstallRequest();
- request.setArtifacts( toArtifacts( session ) );
-
- try
- {
- system.install( session, request );
- }
- catch ( InstallationException e )
- {
- throw new BuildException( "Could not install artifacts: " + e.getMessage(), e );
- }
+ AntRepoSys.getInstance( getProject() ).install( this, getPom(), getArtifacts() );
}
}
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/c4d6f720/src/main/java/org/eclipse/aether/internal/ant/util/AetherUtils.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/eclipse/aether/internal/ant/util/AetherUtils.java b/src/main/java/org/eclipse/aether/internal/ant/util/AetherUtils.java
deleted file mode 100644
index 16c4db4..0000000
--- a/src/main/java/org/eclipse/aether/internal/ant/util/AetherUtils.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 Sonatype, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sonatype, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.aether.internal.ant.util;
-
-import java.io.File;
-
-import org.apache.tools.ant.Project;
-import org.eclipse.aether.internal.ant.Names;
-import org.eclipse.aether.internal.ant.types.RemoteRepositories;
-
-public 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-aether/blob/c4d6f720/src/main/java/org/eclipse/aether/internal/ant/util/ConverterUtils.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/eclipse/aether/internal/ant/util/ConverterUtils.java b/src/main/java/org/eclipse/aether/internal/ant/util/ConverterUtils.java
deleted file mode 100644
index 3c604c4..0000000
--- a/src/main/java/org/eclipse/aether/internal/ant/util/ConverterUtils.java
+++ /dev/null
@@ -1,218 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 Sonatype, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sonatype, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.aether.internal.ant.util;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import org.apache.tools.ant.Project;
-import org.eclipse.aether.RepositorySystemSession;
-import org.eclipse.aether.artifact.Artifact;
-import org.eclipse.aether.artifact.ArtifactProperties;
-import org.eclipse.aether.artifact.ArtifactType;
-import org.eclipse.aether.artifact.ArtifactTypeRegistry;
-import org.eclipse.aether.artifact.DefaultArtifact;
-import org.eclipse.aether.artifact.DefaultArtifactType;
-import org.eclipse.aether.impl.RemoteRepositoryManager;
-import org.eclipse.aether.internal.ant.types.Authentication;
-import org.eclipse.aether.internal.ant.types.Dependency;
-import org.eclipse.aether.internal.ant.types.Exclusion;
-import org.eclipse.aether.internal.ant.types.Proxy;
-import org.eclipse.aether.internal.ant.types.RemoteRepositories;
-import org.eclipse.aether.internal.ant.types.RemoteRepository;
-import org.eclipse.aether.repository.RepositoryPolicy;
-import org.eclipse.aether.util.repository.AuthenticationBuilder;
-
-/**
- * Utility methods to convert between Aether and Ant objects.
- */
-public class ConverterUtils
-{
-
- private static org.eclipse.aether.artifact.Artifact toArtifact( Dependency dependency, ArtifactTypeRegistry types )
- {
- ArtifactType type = types.get( dependency.getType() );
- if ( type == null )
- {
- type = new DefaultArtifactType( dependency.getType() );
- }
-
- Map<String, String> props = null;
- if ( "system".equals( dependency.getScope() ) && dependency.getSystemPath() != null )
- {
- props = Collections.singletonMap( ArtifactProperties.LOCAL_PATH, dependency.getSystemPath().getPath() );
- }
-
- Artifact artifact =
- new DefaultArtifact( dependency.getGroupId(), dependency.getArtifactId(), dependency.getClassifier(), null,
- dependency.getVersion(), props, type );
-
- return artifact;
- }
-
- public static org.eclipse.aether.repository.Authentication toAuthentication( Authentication auth )
- {
- if ( auth == null )
- {
- return null;
- }
- AuthenticationBuilder authBuilder = new AuthenticationBuilder();
- authBuilder.addUsername( auth.getUsername() ).addPassword( auth.getPassword() );
- authBuilder.addPrivateKey( auth.getPrivateKeyFile(), auth.getPassphrase() );
- return authBuilder.build();
- }
-
- public static org.eclipse.aether.graph.Dependency toDependency( Dependency dependency, List<Exclusion> exclusions,
- RepositorySystemSession session )
- {
- return new org.eclipse.aether.graph.Dependency( toArtifact( dependency, session.getArtifactTypeRegistry() ),
- dependency.getScope(), false,
- toExclusions( dependency.getExclusions(), exclusions ) );
- }
-
- /**
- * Converts the given ant repository type to an Aether repository instance with authentication and proxy filled in
- * via the sessions' selectors.
- */
- public static org.eclipse.aether.repository.RemoteRepository toDistRepository( RemoteRepository repo,
- RepositorySystemSession session )
- {
- org.eclipse.aether.repository.RemoteRepository result = toRepository( repo );
- org.eclipse.aether.repository.RemoteRepository.Builder builder =
- new org.eclipse.aether.repository.RemoteRepository.Builder( result );
- builder.setAuthentication( session.getAuthenticationSelector().getAuthentication( result ) );
- builder.setProxy( session.getProxySelector().getProxy( result ) );
- return builder.build();
- }
-
- private static org.eclipse.aether.graph.Exclusion toExclusion( Exclusion exclusion )
- {
- return new org.eclipse.aether.graph.Exclusion( exclusion.getGroupId(), exclusion.getArtifactId(),
- exclusion.getClassifier(), exclusion.getExtension() );
- }
-
- private static Collection<org.eclipse.aether.graph.Exclusion> toExclusions( Collection<Exclusion> exclusions1,
- Collection<Exclusion> exclusions2 )
- {
- Collection<org.eclipse.aether.graph.Exclusion> results =
- new LinkedHashSet<org.eclipse.aether.graph.Exclusion>();
- if ( exclusions1 != null )
- {
- for ( Exclusion exclusion : exclusions1 )
- {
- results.add( toExclusion( exclusion ) );
- }
- }
- if ( exclusions2 != null )
- {
- for ( Exclusion exclusion : exclusions2 )
- {
- results.add( toExclusion( exclusion ) );
- }
- }
- return results;
- }
-
- private static RepositoryPolicy toPolicy( RemoteRepository.Policy policy, boolean enabled, String updates,
- String checksums )
- {
- if ( policy != null )
- {
- enabled = policy.isEnabled();
- if ( policy.getChecksums() != null )
- {
- checksums = policy.getChecksums();
- }
- if ( policy.getUpdates() != null )
- {
- updates = policy.getUpdates();
- }
- }
- return new RepositoryPolicy( enabled, updates, checksums );
- }
-
- /**
- * Adds every <String, String>-entry in the map as a property to the given Properties.
- */
- public static Properties addProperties( Properties props, Map<?, ?> map )
- {
- if ( props == null )
- {
- props = new Properties();
- }
- for ( Map.Entry<?, ?> entry : map.entrySet() )
- {
- if ( entry.getKey() instanceof String && entry.getValue() instanceof String )
- {
- props.put( entry.getKey(), entry.getValue() );
- }
- }
- return props;
- }
-
- public static org.eclipse.aether.repository.Proxy toProxy( Proxy proxy )
- {
- if ( proxy == null )
- {
- return null;
- }
- return new org.eclipse.aether.repository.Proxy( proxy.getType(), proxy.getHost(), proxy.getPort(),
- toAuthentication( proxy.getAuthentication() ) );
- }
-
- private static org.eclipse.aether.repository.RemoteRepository toRepository( RemoteRepository repo )
- {
- org.eclipse.aether.repository.RemoteRepository.Builder builder =
- new org.eclipse.aether.repository.RemoteRepository.Builder( repo.getId(), repo.getType(), repo.getUrl() );
- builder.setSnapshotPolicy( toPolicy( repo.getSnapshotPolicy(), repo.isSnapshots(), repo.getUpdates(),
- repo.getChecksums() ) );
- builder.setReleasePolicy( toPolicy( repo.getReleasePolicy(), repo.isReleases(), repo.getUpdates(),
- repo.getChecksums() ) );
- builder.setAuthentication( toAuthentication( repo.getAuthentication() ) );
- return builder.build();
- }
-
- public static List<org.eclipse.aether.repository.RemoteRepository> toRepositories( Project project,
- RepositorySystemSession session,
- RemoteRepositories repos, RemoteRepositoryManager remoteRepositoryManager )
- {
- List<RemoteRepository> repositories;
-
- if ( repos != null )
- {
- repositories = repos.getRepositories();
- }
- else
- {
- repositories = new ArrayList<RemoteRepository>();
- }
-
- List<org.eclipse.aether.repository.RemoteRepository> results =
- new ArrayList<org.eclipse.aether.repository.RemoteRepository>();
- for ( RemoteRepository repo : repositories )
- {
- results.add( toRepository( repo ) );
- }
-
- results =
- remoteRepositoryManager.aggregateRepositories( session,
- Collections.<org.eclipse.aether.repository.RemoteRepository> emptyList(),
- results, true );
-
- return results;
- }
-
-}
http://git-wip-us.apache.org/repos/asf/maven-aether/blob/c4d6f720/src/main/java/org/eclipse/aether/internal/ant/util/SettingsUtils.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/eclipse/aether/internal/ant/util/SettingsUtils.java b/src/main/java/org/eclipse/aether/internal/ant/util/SettingsUtils.java
deleted file mode 100644
index 5fe44bf..0000000
--- a/src/main/java/org/eclipse/aether/internal/ant/util/SettingsUtils.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010, 2014 Sonatype, Inc.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Sonatype, Inc. - initial API and implementation
- *******************************************************************************/
-package org.eclipse.aether.internal.ant.util;
-
-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.
- */
-public 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;
- }
-
-}