Author: ruschein
Date: 2011-03-02 09:09:45 -0800 (Wed, 02 Mar 2011)
New Revision: 24290
Modified:
core3/profiler-mojo/trunk/src/main/java/org/cytoscape/mavenplugins/ProfilerMojo.java
Log:
Figured out how to resolve artifacts.
Modified:
core3/profiler-mojo/trunk/src/main/java/org/cytoscape/mavenplugins/ProfilerMojo.java
===================================================================
---
core3/profiler-mojo/trunk/src/main/java/org/cytoscape/mavenplugins/ProfilerMojo.java
2011-03-02 01:22:47 UTC (rev 24289)
+++
core3/profiler-mojo/trunk/src/main/java/org/cytoscape/mavenplugins/ProfilerMojo.java
2011-03-02 17:09:45 UTC (rev 24290)
@@ -29,6 +29,11 @@
import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.factory.ArtifactFactory;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
+import org.apache.maven.artifact.resolver.ArtifactResolutionException;
+import org.apache.maven.artifact.resolver.ArtifactResolver;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.project.MavenProject;
@@ -36,6 +41,8 @@
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
+import java.net.URL;
+import java.net.URLConnection;
import java.util.ArrayList;
import java.util.List;
@@ -49,6 +56,20 @@
*/
public final class ProfilerMojo extends AbstractMojo {
/**
+ * @parameter expression="${localRepository}"
+ * @readonly
+ * @required
+ */
+ private ArtifactRepository localRepository;
+
+ /**
+ * @parameter expression="${project.remoteArtifactRepositories}"
+ * @readonly
+ * @required
+ */
+ private List<ArtifactRepository> remoteRepositories;
+
+ /**
* @parameter baselineVersion
* @required
*/
@@ -62,17 +83,27 @@
*/
private MavenProject project;
+ /** @component */
+ private ArtifactResolver resolver;
+
+ /** @component */
+ private ArtifactFactory artifactFactory;
+
public void execute() throws MojoExecutionException {
getLog().info("+++ ProfilerMojo: base line version is " +
baselineVersion + ", group ID: "
+ project.getGroupId() + ", artifact ID: " +
project.getArtifactId());
final List<String> testClasspath = generateTestClasspath();
getLog().info("+++ ProfilerMojo: testClasspath = " +
testClasspath);
final Artifact artifact = project.getArtifact();
- getLog().info("+++ ProfilerMojo: current artifact = " +
artifact);
+ resolveDependencies(artifact);
collectStats(artifact);
- artifact.setVersion(baselineVersion);
- getLog().info("+++ ProfilerMojo: baseline artifact = " +
artifact);
- collectStats(artifact);
+ final Artifact baselineArtifact =
artifactFactory.createArtifactWithClassifier(artifact.getGroupId(),
+
artifact.getArtifactId(),
+
baselineVersion,
+
artifact.getType(),
+
artifact.getClassifier());
+ resolveDependencies(baselineArtifact);
+ collectStats(baselineArtifact);
compareStats();
}
@@ -96,4 +127,15 @@
private void compareStats() {
}
+
+ private void resolveDependencies(final Artifact artifact) throws
MojoExecutionException {
+ try {
+ resolver.resolve(artifact, remoteRepositories,
localRepository);
+ } catch (final ArtifactResolutionException are) {
+ throw new MojoExecutionException("Failed to resolve an
artifact!", are);
+ } catch (final ArtifactNotFoundException anfe) {
+ throw new MojoExecutionException("Failed to find an
artifact!", anfe);
+ }
+ getLog().info("+++ ProfilerMojo: resolved " + artifact);
+ }
}
--
You received this message because you are subscribed to the Google Groups
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/cytoscape-cvs?hl=en.