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.

Reply via email to