Author: ogusakov
Date: Mon Nov 10 22:22:59 2008
New Revision: 712957

URL: http://svn.apache.org/viewvc?rev=712957&view=rev
Log:
maven part works

Modified:
    maven/mercury/trunk/mercury-maven/mercury-compare-maven-plugin/c
    maven/mercury/trunk/mercury-maven/mercury-compare-maven-plugin/pom.xml
    
maven/mercury/trunk/mercury-maven/mercury-compare-maven-plugin/src/main/java/org/sonatype/maven/plugins/mercury/compare/MercuryDepsMojo.java

Modified: maven/mercury/trunk/mercury-maven/mercury-compare-maven-plugin/c
URL: 
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-maven/mercury-compare-maven-plugin/c?rev=712957&r1=712956&r2=712957&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-maven/mercury-compare-maven-plugin/c (original)
+++ maven/mercury/trunk/mercury-maven/mercury-compare-maven-plugin/c Mon Nov 10 
22:22:59 2008
@@ -1 +1 @@
-mvn org.sonatype.maven.plugins:mercury-compare-maven-plugin:1.0:deps 
-DtargetDir=./target/deps -DlistFile=./list.txt
+mvn org.sonatype.maven.plugins:mercury-compare-maven-plugin:1.0:deps 
-DtargetDir=target/deps -DlistFile=list.txt

Modified: maven/mercury/trunk/mercury-maven/mercury-compare-maven-plugin/pom.xml
URL: 
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-maven/mercury-compare-maven-plugin/pom.xml?rev=712957&r1=712956&r2=712957&view=diff
==============================================================================
--- maven/mercury/trunk/mercury-maven/mercury-compare-maven-plugin/pom.xml 
(original)
+++ maven/mercury/trunk/mercury-maven/mercury-compare-maven-plugin/pom.xml Mon 
Nov 10 22:22:59 2008
@@ -36,6 +36,7 @@
   
   <properties>
     <mercury.version>1.0.0-alpha-2-SNAPSHOT</mercury.version>
+    <maven.version>2.0.9</maven.version>
   </properties>
 
   <dependencies>
@@ -43,13 +44,13 @@
     <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-plugin-api</artifactId>
-      <version>2.0.9</version>
+      <version>${maven.version}</version>
     </dependency>
 
     <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-core</artifactId>
-      <version>2.0.9</version>
+      <version>${maven.version}</version>
     </dependency>
 
     <dependency>

Modified: 
maven/mercury/trunk/mercury-maven/mercury-compare-maven-plugin/src/main/java/org/sonatype/maven/plugins/mercury/compare/MercuryDepsMojo.java
URL: 
http://svn.apache.org/viewvc/maven/mercury/trunk/mercury-maven/mercury-compare-maven-plugin/src/main/java/org/sonatype/maven/plugins/mercury/compare/MercuryDepsMojo.java?rev=712957&r1=712956&r2=712957&view=diff
==============================================================================
--- 
maven/mercury/trunk/mercury-maven/mercury-compare-maven-plugin/src/main/java/org/sonatype/maven/plugins/mercury/compare/MercuryDepsMojo.java
 (original)
+++ 
maven/mercury/trunk/mercury-maven/mercury-compare-maven-plugin/src/main/java/org/sonatype/maven/plugins/mercury/compare/MercuryDepsMojo.java
 Mon Nov 10 22:22:59 2008
@@ -41,7 +41,6 @@
 
 public class MercuryDepsMojo
 extends AbstractMojo
-implements Initializable
 {
   private static Log _log;
        //----------------------------------------------------------------
@@ -71,6 +70,12 @@
   * @component
   */
   private ArtifactMetadataSource metadataSource;
+  
+  /**
+  *
+  * @component
+  */
+  private MavenProjectBuilder projectBuilder;
   /**
    *
    * @parameter expression="${localRepository}"
@@ -81,23 +86,11 @@
    * @parameter expression="${project.remoteArtifactRepositories}"
    */
   private List remoteRepositories;
-//
-//     /**
-//       * @parameter expression="${project}"
-//       */
-//     MavenProject _project;
-//
-//     /**
-//       * @component
-//       */
-//     Prompter _prompter;
   
   PlexusContainer plexus;
   
   RuntimeDependencyResolver resolver;
   
-  MavenProjectBuilder projectBuilder;
-  
   File target;
   
        //----------------------------------------------------------------
@@ -108,6 +101,20 @@
     if( _session == null )
       throw new MojoExecutionException("session not injected");
 
+    if( projectBuilder == null )
+      throw new MojoExecutionException("project builder is null");
+    
+    _log = getLog();
+    
+    PluginLog.setLog( _log );
+
+    resolver = new RuntimeDependencyResolver( artifactFactory
+                                            , artifactResolver
+                                            , metadataSource
+                                            , localRepository
+                                            , remoteRepositories
+                                           );
+    
     if( targetDir == null )
       throw new MojoExecutionException("target dir not specified");
     
@@ -127,11 +134,11 @@
       throw new MojoExecutionException("list file not specified");
     
     File list = new File( listFile );
-    
-    if( list.exists() )
-      throw new MojoExecutionException( "list file "+listFile+" does not 
exist" );
-
     try {
+      
+      if( !list.exists() )
+        throw new MojoExecutionException( "list file 
"+list.getCanonicalPath()+" does not exist" );
+
       BufferedReader r = new BufferedReader( new FileReader(list) );
       
       for( String line = r.readLine(); line != null; line = r.readLine() )
@@ -161,53 +168,21 @@
                        throw new MojoExecutionException( e.getMessage() );
                }
        }
-       
-       
//------------------------------------------------------------------------
-  public void initialize()
-  throws InitializationException
-  {
-    _log = getLog();
-    
-    PluginLog.setLog( _log );
-    
-    if( _session == null )
-      throw new InitializationException( "Maven session is not injected by the 
container ");
-    
-    plexus = _session.getContainer();
-    
-    resolver = new RuntimeDependencyResolver( artifactFactory
-                                            , artifactResolver
-                                            , metadataSource
-                                            , localRepository
-                                            , remoteRepositories
-                                           );
-    
-    try
-    {
-      projectBuilder = (MavenProjectBuilder)plexus.lookup( 
MavenProjectBuilder.ROLE );
-      
-      if( projectBuilder == null )
-        throw new Exception("project builder is null");
-    }
-    catch( Exception e )
-    {
-      throw new InitializationException(e.getMessage());
-    }
-  }
-  
+       
//-----------------------------------------------------------------------------------------------------------------
   private void saveDependencies( String groupId, String artifactId, String 
version, String type )
   throws ArtifactResolutionException, ArtifactNotFoundException, 
ProjectBuildingException, InvalidDependencyVersionException, IOException
   {
+    
     Set<Artifact> deps = 
(Set<Artifact>)resolver.transitivelyResolvePomDependencies( projectBuilder , 
groupId, artifactId, version, false );
     
     File fout = new File( target, 
groupId+"-"+artifactId+"-"+version+"-"+type+".deps" );
+
+    _log.info( fout.getCanonicalPath() );
     
     BufferedWriter w = new BufferedWriter( new FileWriter(fout) );
     
     try
     {
-      w.write( groupId+":"+artifactId+":"+version+"::"+type );
-      
       if( deps == null || deps.isEmpty() )
         return;
     
@@ -218,7 +193,12 @@
         if( cl == null  )
           cl = "";
         
-        w.write( 
a.getGroupId()+":"+a.getArtifactId()+":"+a.getVersion()+":"+cl+":"+a.getType() 
);
+        String sc = a.getScope();
+        
+        if( sc == null  )
+          sc = "compile";
+        
+        w.write( 
a.getGroupId()+":"+a.getArtifactId()+":"+a.getVersion()+":"+cl+":"+a.getType()+":"+sc+"\n"
 );
       }
     }
     finally
@@ -227,6 +207,6 @@
         try { w.flush(); w.close(); } catch( Exception e ) { _log.error( 
e.getMessage() ); }
     }
   }
-       //----------------------------------------------------------------
-       //----------------------------------------------------------------
+  
//-----------------------------------------------------------------------------------------------------------------
+  
//-----------------------------------------------------------------------------------------------------------------
 }


Reply via email to