package org.codehaus.mojo.repositorytools;
import java.io.File;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
import org.codehaus.mojo.repositorytools.components.CLITools;
import org.codehaus.mojo.repositorytools.components.RepositoryToolsException;
/**
* @goal add-repository
*
*/
public class AddRepositoryMojo extends AbstractAddMojo {
/**
* @parameter expression="${source}"
*/
private String source;
/**
* @component
* @required
* @readonly
*/
private CLITools cliTools;
/**
* I would like to support partial repositories, but this is not supported by the discoverer api
* @parameter expression="${path}" default-value="/"
* @readonly
*/
private String path;
public void execute() throws MojoExecutionException, MojoFailureException {
try {
List remoteRepositories = cliTools.createRemoteRepositories(source);
ArtifactRepository localRepository = cliTools.createLocalRepository(new File(local));
Set artifacts = builder.addRepository(path, localRepository, remoteRepositories, true);
for (Iterator iterator = artifacts.iterator(); iterator.hasNext();) {
Artifact a = (Artifact) iterator.next();
getLog().info("found and resolved" + a);
}
} catch (RepositoryToolsException e) {
throw new MojoExecutionException("", e);
}
}
}