Search in sources :

Example 11 with RemoteRepository

use of org.apache.maven.artifact.ant.RemoteRepository in project robolectric by robolectric.

the class MavenDependencyResolver method getLocalArtifactUrls.

/**
   * Get an array of local artifact URLs for the given dependencies. The order of the URLs is guaranteed to be the
   * same as the input order of dependencies, i.e., urls[i] is the local artifact URL for dependencies[i].
   */
public URL[] getLocalArtifactUrls(DependencyJar... dependencies) {
    DependenciesTask dependenciesTask = createDependenciesTask();
    configureMaven(dependenciesTask);
    RemoteRepository remoteRepository = new RemoteRepository();
    remoteRepository.setUrl(repositoryUrl);
    remoteRepository.setId(repositoryId);
    dependenciesTask.addConfiguredRemoteRepository(remoteRepository);
    dependenciesTask.setProject(project);
    for (DependencyJar dependencyJar : dependencies) {
        Dependency dependency = new Dependency();
        dependency.setArtifactId(dependencyJar.getArtifactId());
        dependency.setGroupId(dependencyJar.getGroupId());
        dependency.setType(dependencyJar.getType());
        dependency.setVersion(dependencyJar.getVersion());
        if (dependencyJar.getClassifier() != null) {
            dependency.setClassifier(dependencyJar.getClassifier());
        }
        dependenciesTask.addDependency(dependency);
    }
    dependenciesTask.execute();
    @SuppressWarnings("unchecked") Hashtable<String, String> artifacts = project.getProperties();
    URL[] urls = new URL[dependencies.length];
    for (int i = 0; i < urls.length; i++) {
        try {
            urls[i] = Util.url(artifacts.get(key(dependencies[i])));
        } catch (MalformedURLException e) {
            throw new RuntimeException(e);
        }
    }
    return urls;
}
Also used : DependenciesTask(org.apache.maven.artifact.ant.DependenciesTask) MalformedURLException(java.net.MalformedURLException) RemoteRepository(org.apache.maven.artifact.ant.RemoteRepository) Dependency(org.apache.maven.model.Dependency) URL(java.net.URL)

Aggregations

RemoteRepository (org.apache.maven.artifact.ant.RemoteRepository)11 MalformedURLException (java.net.MalformedURLException)1 URL (java.net.URL)1 DependenciesTask (org.apache.maven.artifact.ant.DependenciesTask)1 Dependency (org.apache.maven.model.Dependency)1 GradleException (org.gradle.api.GradleException)1 Test (org.junit.Test)1 Artifact (org.sonatype.aether.artifact.Artifact)1 DeployRequest (org.sonatype.aether.deployment.DeployRequest)1 Authentication (org.sonatype.aether.repository.Authentication)1 Proxy (org.sonatype.aether.repository.Proxy)1 DefaultProxySelector (org.sonatype.aether.util.repository.DefaultProxySelector)1