You are viewing a plain text version of this content. The canonical link for it is here.
Posted to nmaven-commits@incubator.apache.org by si...@apache.org on 2007/07/27 21:37:29 UTC

svn commit: r560393 - in /incubator/nmaven/trunk: components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/ components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ components/dotnet-core/src/main/java/org/apache...

Author: sisbell
Date: Fri Jul 27 14:37:27 2007
New Revision: 560393

URL: http://svn.apache.org/viewvc?view=rev&rev=560393
Log:
Added support for a repository builder. Important bug fixes, significant performance optimizations.

Added:
    incubator/nmaven/trunk/components/dotnet-core/src/main/java/org/apache/maven/dotnet/PathUtil.java   (with props)
    incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/
    incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test/
    incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test/1.0.0/
    incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test/1.0.0/NMaven.Test-1.0.0.pom   (with props)
    incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test2/
    incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test2/1.0.0/
    incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test2/1.0.0/NMaven.Test2-1.0.0.pom   (with props)
    incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test3/
    incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test3/1.0.0/
    incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test3/1.0.0/NMaven.Test3-1.0.0.pom   (with props)
    incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test4/
    incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test4/1.0.0/
    incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test4/1.0.0/NMaven.Test4-1.0.0.pom   (with props)
    incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test5/
    incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test5/1.0.0/
    incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test5/1.0.0/NMaven.Test5-1.0.0.pom   (with props)
    incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test6/
    incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test6/1.0.0/
    incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test6/1.0.0/NMaven.Test6-1.0.0.pom   (with props)
    incubator/nmaven/trunk/misc/
    incubator/nmaven/trunk/misc/dotnet-repository-builder/
    incubator/nmaven/trunk/misc/dotnet-repository-builder/pom-dotnet.xml   (with props)
    incubator/nmaven/trunk/misc/dotnet-repository-builder/pom.xml   (with props)
    incubator/nmaven/trunk/misc/dotnet-repository-builder/src/
    incubator/nmaven/trunk/misc/dotnet-repository-builder/src/main/
    incubator/nmaven/trunk/misc/dotnet-repository-builder/src/main/assembly/
    incubator/nmaven/trunk/misc/dotnet-repository-builder/src/main/assembly/repo.xml   (with props)
Removed:
    incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/PathUtil.java
    incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven-NMaven.Test-1.0.0.xml
    incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven-NMaven.Test2-1.0.0.xml
    incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven-NMaven.Test3-1.0.0.xml
    incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven-NMaven.Test4-1.0.0.xml
    incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven-NMaven.Test5-1.0.0.xml
    incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven-NMaven.Test6-1.0.0.xml
Modified:
    incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactContextImpl.java
    incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactInstallerImpl.java
    incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/AssemblyResolverImpl.java
    incubator/nmaven/trunk/components/dotnet-dao/project/pom.xml
    incubator/nmaven/trunk/components/dotnet-dao/project/src/main/java/org/apache/maven/dotnet/dao/impl/ProjectDaoImpl.java
    incubator/nmaven/trunk/components/dotnet-dao/project/src/test/java/org/apache/maven/dotnet/dao/impl/ProjectDaoImplTest.java
    incubator/nmaven/trunk/components/dotnet-dao/project/src/test/java/org/apache/maven/dotnet/dao/impl/WagonManagerTestStub.java
    incubator/nmaven/trunk/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/NetExecutableFactoryImpl.java
    incubator/nmaven/trunk/components/dotnet-repository/src/test/java/org/apache/maven/dotnet/repository/impl/RepositoryConverterImplTest.java
    incubator/nmaven/trunk/plugins/maven-install-plugin/src/main/java/org/apache/maven/dotnet/plugin/install/InstallerMojo.java
    incubator/nmaven/trunk/plugins/maven-repository-plugin/src/main/java/org/apache/maven/dotnet/plugin/repository/RepositoryAssemblerMojo.java

Modified: incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactContextImpl.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactContextImpl.java?view=diff&rev=560393&r1=560392&r2=560393
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactContextImpl.java (original)
+++ incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactContextImpl.java Fri Jul 27 14:37:27 2007
@@ -23,6 +23,7 @@
 
 import org.apache.maven.dotnet.artifact.*;
 import org.apache.maven.dotnet.registry.RepositoryRegistry;
+import org.apache.maven.dotnet.PathUtil;
 import org.codehaus.plexus.logging.LogEnabled;
 import org.codehaus.plexus.logging.Logger;
 import org.apache.maven.artifact.Artifact;

Modified: incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactInstallerImpl.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactInstallerImpl.java?view=diff&rev=560393&r1=560392&r2=560393
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactInstallerImpl.java (original)
+++ incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/ArtifactInstallerImpl.java Fri Jul 27 14:37:27 2007
@@ -21,10 +21,10 @@
 import org.apache.maven.dotnet.artifact.ArtifactContext;
 import org.apache.maven.dotnet.artifact.ApplicationConfig;
 import org.apache.maven.dotnet.ArtifactType;
+import org.apache.maven.dotnet.PathUtil;
 import org.apache.maven.dotnet.artifact.NetDependencyMatchPolicy;
 import org.apache.maven.dotnet.artifact.NetDependenciesRepository;
 import org.apache.maven.dotnet.artifact.AssemblyResolver;
-import org.apache.maven.dotnet.artifact.PathUtil;
 import org.apache.maven.dotnet.registry.RepositoryRegistry;
 import org.apache.maven.dotnet.model.netdependency.NetDependency;
 import org.apache.maven.dotnet.dao.ProjectDao;

Modified: incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/AssemblyResolverImpl.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/AssemblyResolverImpl.java?view=diff&rev=560393&r1=560392&r2=560393
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/AssemblyResolverImpl.java (original)
+++ incubator/nmaven/trunk/components/dotnet-artifact/src/main/java/org/apache/maven/dotnet/artifact/impl/AssemblyResolverImpl.java Fri Jul 27 14:37:27 2007
@@ -181,17 +181,6 @@
             project.addProjectDependency( projectDependency );
         }
 
-        /*
-                try
-                {
-                    project = dao.getProjectFor( mavenProject );
-                }
-                catch ( java.io.IOException e )
-                {
-                    e.printStackTrace();
-                }
-        */
-
         //Set<ProjectDependency> projectDependencies = project.getProjectDependencies();
 
         /*
@@ -213,7 +202,7 @@
         }
         catch ( java.io.IOException e )
         {
-            e.printStackTrace();
+            throw new ArtifactResolutionException(e.getMessage(), null);
         }
         finally
         {

Added: incubator/nmaven/trunk/components/dotnet-core/src/main/java/org/apache/maven/dotnet/PathUtil.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-core/src/main/java/org/apache/maven/dotnet/PathUtil.java?view=auto&rev=560393
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-core/src/main/java/org/apache/maven/dotnet/PathUtil.java (added)
+++ incubator/nmaven/trunk/components/dotnet-core/src/main/java/org/apache/maven/dotnet/PathUtil.java Fri Jul 27 14:37:27 2007
@@ -0,0 +1,23 @@
+package org.apache.maven.dotnet;
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.dotnet.ArtifactType;
+
+import java.io.File;
+
+public class PathUtil
+{
+    public static File getPrivateApplicationBaseFileFor( Artifact artifact, File localRepository )
+    {
+        return new File( localRepository.getParentFile(), "pab\\gac_msil\\" + artifact.getArtifactId() + "\\" +
+            artifact.getVersion() + "__" + artifact.getGroupId() + "\\" + artifact.getArtifactId() + "." +
+            ArtifactType.getArtifactTypeForPackagingName( artifact.getType() ).getExtension() );
+    }
+
+    public static File getUserAssemblyCacheFileFor( Artifact artifact, File localRepository )
+    {
+        return new File( localRepository.getParentFile(), "uac\\gac_msil\\" + artifact.getArtifactId() + "\\" +
+            artifact.getVersion() + "__" + artifact.getGroupId() + "\\" + artifact.getArtifactId() + "." +
+            ArtifactType.getArtifactTypeForPackagingName( artifact.getType() ).getExtension() );
+    }
+}

Propchange: incubator/nmaven/trunk/components/dotnet-core/src/main/java/org/apache/maven/dotnet/PathUtil.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/nmaven/trunk/components/dotnet-dao/project/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-dao/project/pom.xml?view=diff&rev=560393&r1=560392&r2=560393
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-dao/project/pom.xml (original)
+++ incubator/nmaven/trunk/components/dotnet-dao/project/pom.xml Fri Jul 27 14:37:27 2007
@@ -82,4 +82,12 @@
       <version>1.3.0</version>
     </dependency>
   </dependencies>
+  <build>
+    <testResources>
+      <testResource>
+        <directory>src/test/resources</directory>
+        <targetPath>../remote-test-repo</targetPath>
+      </testResource>
+    </testResources>
+  </build>
 </project>

Modified: incubator/nmaven/trunk/components/dotnet-dao/project/src/main/java/org/apache/maven/dotnet/dao/impl/ProjectDaoImpl.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-dao/project/src/main/java/org/apache/maven/dotnet/dao/impl/ProjectDaoImpl.java?view=diff&rev=560393&r1=560392&r2=560393
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-dao/project/src/main/java/org/apache/maven/dotnet/dao/impl/ProjectDaoImpl.java (original)
+++ incubator/nmaven/trunk/components/dotnet-dao/project/src/main/java/org/apache/maven/dotnet/dao/impl/ProjectDaoImpl.java Fri Jul 27 14:37:27 2007
@@ -7,6 +7,7 @@
 import org.apache.maven.dotnet.dao.ProjectDependency;
 import org.apache.maven.dotnet.dao.Requirement;
 import org.apache.maven.dotnet.registry.RepositoryRegistry;
+import org.apache.maven.dotnet.PathUtil;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.Artifact;
@@ -27,9 +28,6 @@
 import org.openrdf.repository.RepositoryException;
 import org.openrdf.repository.Repository;
 import org.openrdf.OpenRDFException;
-import org.openrdf.rio.RDFHandler;
-import org.openrdf.rio.RDFHandlerException;
-import org.openrdf.rio.rdfxml.RDFXMLWriter;
 import org.openrdf.query.QueryLanguage;
 import org.openrdf.query.QueryEvaluationException;
 import org.openrdf.query.MalformedQueryException;
@@ -110,8 +108,6 @@
     public Set<Project> getAllProjects()
         throws IOException
     {
-        ValueFactory valueFactory = rdfRepository.getValueFactory();
-
         Set<Project> projects = new HashSet<Project>();
         TupleQueryResult result = null;
         try
@@ -264,11 +260,13 @@
             while ( result.hasNext() )
             {
                 BindingSet set = result.next();
+                System.out.println( "BBB: " + project.getArtifactId() + ":" +
+                    set.getBinding( ProjectUri.IS_RESOLVED.getObjectBinding() ).getValue().toString() );
                 /*
                 for ( Iterator<Binding> i = set.iterator(); i.hasNext(); )
                 {
                     Binding b = i.next();
-                    //System.out.println( b.getName() + ":" + b.getValue() );
+                    System.out.println( b.getName() + ":" + b.getValue() );
                 }
                 */
                 if ( set.getBinding( ProjectUri.IS_RESOLVED.getObjectBinding() ).getValue().toString().equalsIgnoreCase(
@@ -391,16 +389,19 @@
             repositoryConnection.add( id, artifactId, valueFactory.createLiteral( project.getArtifactId() ) );
             repositoryConnection.add( id, version, valueFactory.createLiteral( project.getVersion() ) );
             repositoryConnection.add( id, artifactType, valueFactory.createLiteral( project.getArtifactType() ) );
-
-            BNode classifierNode = valueFactory.createBNode();
-            for ( Requirement requirement : project.getRequirements() )
+            if ( project.getPublicKeyTokenId() != null )
             {
-                //System.out.println( "Add requirement: " + requirement.getUri() );
-                URI uri = valueFactory.createURI( requirement.getUri().toString() );
-                repositoryConnection.add( classifierNode, uri, valueFactory.createLiteral( requirement.getValue() ) );
-            }
+                URI classifierNode = valueFactory.createURI( project.getPublicKeyTokenId() + ":" );
+                for ( Requirement requirement : project.getRequirements() )
+                {
+                    //System.out.println( "Add requirement: " + requirement.getUri() );
+                    URI uri = valueFactory.createURI( requirement.getUri().toString() );
+                    repositoryConnection.add( classifierNode, uri,
+                                              valueFactory.createLiteral( requirement.getValue() ) );
+                }
 
-            repositoryConnection.add( id, classifier, classifierNode );
+                repositoryConnection.add( id, classifier, classifierNode );
+            }
 
             if ( project.getParentProject() != null )
             {
@@ -414,7 +415,7 @@
 
             for ( ProjectDependency projectDependency : project.getProjectDependencies() )
             {
-                logger.finest( "Project Dependency: Artifact ID = " + projectDependency.getArtifactId() +
+                logger.info( "Project Dependency: Artifact ID = " + projectDependency.getArtifactId() +
                     ", Group ID = " + projectDependency.getGroupId() + ", Version = " + projectDependency.getVersion() +
                     ", Artifact Type = " + projectDependency.getArtifactType() );
                 if ( !projectDependency.isResolved() )
@@ -440,8 +441,6 @@
                                 Artifact assembly =
                                     ProjectFactory.createArtifactFrom( projectDependency, artifactFactory );
                                 artifactDependencies.add( assembly );
-
-                                //repositoryConnection.commit();
                                 artifactDependencies.addAll( this.storeProjectAndResolveDependencies( projectDependency,
                                                                                                       null,
                                                                                                       artifactRepositories ) );
@@ -462,15 +461,15 @@
                     Artifact pomArtifact = artifactFactory.createProjectArtifact( projectDependency.getGroupId(),
                                                                                   projectDependency.getArtifactId(),
                                                                                   projectDependency.getVersion() );
-
-                    pomArtifact.setFile( File.createTempFile( "pomFile", "pom.xml" ) );
+                    File tmpFile = File.createTempFile( "pomFile", "pom.xml" );
+                    tmpFile.deleteOnExit();
+                    pomArtifact.setFile( tmpFile );
 
                     try
                     {
                         logger.info( "NMAVEN-000-000: Retrieving artifact: Artifact ID  = " +
                             projectDependency.getArtifactId() );
                         wagonManager.getArtifact( pomArtifact, artifactRepositories );
-                        wagonManager.getArtifact( assembly, artifactRepositories );
                     }
                     catch ( TransferFailedException e )
                     {
@@ -485,8 +484,31 @@
                                 assembly.getArtifactId() + ", Message = " + e.getMessage() );
                     }
 
-                    File pomArtifactFile = pomArtifact.getFile();
-                    FileReader fileReader = new FileReader( pomArtifactFile );
+                    assembly.setFile( PathUtil.getUserAssemblyCacheFileFor( assembly, localRepository ) );
+                    if ( !assembly.getFile().exists() )
+                    {
+                        try
+                        {
+                            logger.info( "NMAVEN-000-000: Retrieving artifact: Artifact ID  = " +
+                                projectDependency.getArtifactId() );
+                            wagonManager.getArtifact( assembly, artifactRepositories );
+                        }
+                        catch ( TransferFailedException e )
+                        {
+                            throw new IOException(
+                                "NMAVEN-000-000: Problem in resolving artifact: Assembly Artifact Id = " +
+                                    assembly.getArtifactId() + ", Message = " + e.getMessage() );
+                        }
+                        catch ( ResourceDoesNotExistException e )
+                        {
+                            throw new IOException(
+                                "NMAVEN-000-000: Problem in resolving artifact: Assembly Artifact Id = " +
+                                    assembly.getArtifactId() + ", Message = " + e.getMessage() );
+                        }
+
+                    }
+
+                    FileReader fileReader = new FileReader( pomArtifact.getFile() );
 
                     MavenXpp3Reader reader = new MavenXpp3Reader();
                     Model model;
@@ -654,14 +676,12 @@
                 projectDependency.setArtifactType(
                     bs.getBinding( ProjectUri.ARTIFACT_TYPE.getObjectBinding() ).getValue().toString() );
                 project.addProjectDependency( projectDependency );
-                //projectDependencies.add( projectDependency );
                 if ( bs.hasBinding( ProjectUri.DEPENDENCY.getObjectBinding() ) )
                 {
                     addDependenciesToProject( projectDependency, repositoryConnection,
                                               bs.getValue( ProjectUri.DEPENDENCY.getObjectBinding() ) );
                 }
             }
-            //project.setProjectDependencies( projectDependencies );
         }
         finally
         {

Modified: incubator/nmaven/trunk/components/dotnet-dao/project/src/test/java/org/apache/maven/dotnet/dao/impl/ProjectDaoImplTest.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-dao/project/src/test/java/org/apache/maven/dotnet/dao/impl/ProjectDaoImplTest.java?view=diff&rev=560393&r1=560392&r2=560393
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-dao/project/src/test/java/org/apache/maven/dotnet/dao/impl/ProjectDaoImplTest.java (original)
+++ incubator/nmaven/trunk/components/dotnet-dao/project/src/test/java/org/apache/maven/dotnet/dao/impl/ProjectDaoImplTest.java Fri Jul 27 14:37:27 2007
@@ -27,6 +27,8 @@
 
     private static File basedir = new File( System.getProperty( "basedir" ) );
 
+    private static File localRepository = new File( System.getProperty( "basedir" ), "/target/local-test-repo" );
+
     public void testGetAllProjects()
     {
         ProjectDao dao = this.createProjectDao();
@@ -41,7 +43,7 @@
 
         try
         {
-            dao.storeProjectAndResolveDependencies( project, null, new ArrayList<ArtifactRepository>() );
+            dao.storeProjectAndResolveDependencies( project, localRepository, new ArrayList<ArtifactRepository>() );
         }
         catch ( java.io.IOException e )
         {
@@ -52,7 +54,7 @@
         Set<Project> projects = null;
         try
         {
-             projects = dao.getAllProjects();
+            projects = dao.getAllProjects();
         }
         catch ( IOException e )
         {
@@ -81,6 +83,7 @@
         project.setGroupId( "NMaven.Model" );
         project.setArtifactId( "NMaven.Model.Pom" );
         project.setVersion( "0.14.0.0" );
+        project.setPublicKeyTokenId( "b03f5f7f11d50a3a");
         Set<Requirement> requirements = new HashSet<Requirement>();
         try
         {
@@ -98,7 +101,8 @@
         Set<Artifact> artifacts = null;
         try
         {
-            artifacts = dao.storeProjectAndResolveDependencies( project, null, new ArrayList<ArtifactRepository>() );
+            artifacts =
+                dao.storeProjectAndResolveDependencies( project, localRepository, new ArrayList<ArtifactRepository>() );
         }
         catch ( java.io.IOException e )
         {
@@ -168,7 +172,8 @@
         Set<Artifact> artifacts = null;
         try
         {
-            artifacts = dao.storeProjectAndResolveDependencies( project1, null, new ArrayList<ArtifactRepository>() );
+            artifacts = dao.storeProjectAndResolveDependencies( project1, localRepository,
+                                                                new ArrayList<ArtifactRepository>() );
         }
         catch ( java.io.IOException e )
         {
@@ -218,7 +223,8 @@
 
         try
         {
-            artifacts = dao.storeProjectAndResolveDependencies( project, null, new ArrayList<ArtifactRepository>() );
+            artifacts =
+                dao.storeProjectAndResolveDependencies( project, localRepository, new ArrayList<ArtifactRepository>() );
         }
         catch ( java.io.IOException e )
         {
@@ -260,7 +266,8 @@
         Set<Artifact> artifacts = null;
         try
         {
-            artifacts = dao.storeProjectAndResolveDependencies( project, null, new ArrayList<ArtifactRepository>() );
+            artifacts =
+                dao.storeProjectAndResolveDependencies( project, localRepository, new ArrayList<ArtifactRepository>() );
         }
         catch ( java.io.IOException e )
         {
@@ -297,7 +304,7 @@
         project.setVersion( "0.14.0.0" );
         try
         {
-            dao.storeProjectAndResolveDependencies( project, null, new ArrayList<ArtifactRepository>() );
+            dao.storeProjectAndResolveDependencies( project, localRepository, new ArrayList<ArtifactRepository>() );
 
         }
         catch ( java.io.IOException e )
@@ -318,86 +325,6 @@
         dao.closeConnection();
         fail( "Found project when none should exist." );
     }
-/*
-    public void testAAA()
-    {
-
-        ProjectDao dao = this.createProjectDao();
-        Project project = new Project();
-        project.setArtifactId( "NMaven.Model.Pom" );
-        project.setGroupId( "NMaven.Model" );
-        project.setVersion( "0.14.0.0" );
-
-        Set<ProjectDependency> projectDependencies = new HashSet<ProjectDependency>();
-        projectDependencies.add( this.createProjectDependency( "NMaven", "NMaven.Test", "1.0.0" ) );
-        ProjectDependency pj2 = this.createProjectDependency( "NMaven", "NMaven.Test2", "1.0.0" );
-        pj2.addProjectDependency( this.createProjectDependency( "NMaven", "NMaven.Test3", "1.0.0" ) );
-        projectDependencies.add( pj2 );
-        project.setProjectDependencies( projectDependencies );
-
-        Set<Project> projects = new HashSet<Project>();
-        projects.add( project );
-
-        try
-        {
-            dao.storeProjectsAndResolveDependencies( projects, new ArrayList<ArtifactRepository>() );
-        }
-        catch ( java.io.IOException e )
-        {
-            e.printStackTrace();
-            fail( e.getMessage() );
-        }
-    }
-/*
-    public void testStore()
-    {
-        long start = System.currentTimeMillis();
-        File dataDir = new File( "c:\\tmp\\myRepository\\" );
-        org.openrdf.repository.Repository rdfRepository = new SailRepository( new MemoryStore( dataDir ) );
-        try
-        {
-            rdfRepository.initialize();
-        }
-        catch ( RepositoryException e )
-        {
-            e.printStackTrace();
-        }
-        System.out.println( "Time = " + ( System.currentTimeMillis() - start ) );
-        ProjectDaoImpl dao = new ProjectDaoImpl();
-        dao.init( rdfRepository, "", "" );
-
-        Project project = new Project();
-        project.setArtifactId( "NMaven.Model.Pom" );
-        project.setGroupId( "NMaven.Model" );
-        project.setVersion( "0.14.0.0" );
-
-        Set<ProjectDependency> projectDependencies = new HashSet<ProjectDependency>();
-        projectDependencies.add( this.createProjectDependency( "NMaven", "NMaven.Test", "1.0.0" ) );
-        ProjectDependency pj = this.createProjectDependency( "NMaven", "NMaven.Test2", "1.0.0" );
-        pj.addProjectDependency( this.createProjectDependency( "NMaven", "NMaven.Test3", "1.0.0" ));
-        projectDependencies.add( pj);
-        project.setProjectDependencies( projectDependencies );
-
-        Set<Project> projects = new HashSet<Project>();
-        projects.add( project );
-
-        dao.storeProjectsAndResolveDependencies( projects, new ArrayList<ArtifactRepository>() );
-
-        Project queriedProject = dao.getProjectFor( "", "", "" );
-        // queriedProject.setProjectDependencies( projectDependencies );
-
-        System.out.println( "Artifact ID = " + project.getArtifactId() );
-        for ( ProjectDependency projectDependency : project.getProjectDependencies() )
-        {
-            System.out.println( "PJ-1 = " + projectDependency.getArtifactId() );
-            for ( ProjectDependency dep : projectDependency.getProjectDependencies() )
-            {
-                System.out.println( "PJ-2 = " + dep.getArtifactId() );
-            }
-        }
-
-    }
-*/
 
     private ProjectDependency createProjectDependency( String groupId, String artifactId, String version )
     {
@@ -421,7 +348,7 @@
         {
             return null;
         }
-        ProjectDaoImpl dao = new ProjectDaoImpl();        
+        ProjectDaoImpl dao = new ProjectDaoImpl();
         WagonManagerTestStub stub = new WagonManagerTestStub();
         stub.setBaseDir( basedir );
         dao.initForUnitTest( rdfRepository, "", "", stub, new ArtifactFactoryTestStub() );

Modified: incubator/nmaven/trunk/components/dotnet-dao/project/src/test/java/org/apache/maven/dotnet/dao/impl/WagonManagerTestStub.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-dao/project/src/test/java/org/apache/maven/dotnet/dao/impl/WagonManagerTestStub.java?view=diff&rev=560393&r1=560392&r2=560393
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-dao/project/src/test/java/org/apache/maven/dotnet/dao/impl/WagonManagerTestStub.java (original)
+++ incubator/nmaven/trunk/components/dotnet-dao/project/src/test/java/org/apache/maven/dotnet/dao/impl/WagonManagerTestStub.java Fri Jul 27 14:37:27 2007
@@ -5,6 +5,7 @@
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.metadata.ArtifactMetadata;
 import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
 import org.apache.maven.wagon.Wagon;
 import org.apache.maven.wagon.UnsupportedProtocolException;
 import org.apache.maven.wagon.TransferFailedException;
@@ -50,13 +51,11 @@
     {
         if ( artifact.getType().equals( "pom" ) )
         {
-            File pomFile = artifact.getFile();
             try
             {
-                FileOutputStream fos = new FileOutputStream( pomFile );
-                FileInputStream fis = new FileInputStream( new File( basedir, "target/test-classes/" +
-                    artifact.getGroupId() + "-" + artifact.getArtifactId() + "-" + artifact.getVersion() + ".xml" ) );
-                IOUtil.copy( fis, fos );
+                FileUtils.copyFile(
+                    new File( basedir, "target/remote-test-repo/" + new DefaultRepositoryLayout().pathOf( artifact ) ),
+                    artifact.getFile() );
             }
             catch ( IOException e )
             {

Added: incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test/1.0.0/NMaven.Test-1.0.0.pom
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test/1.0.0/NMaven.Test-1.0.0.pom?view=auto&rev=560393
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test/1.0.0/NMaven.Test-1.0.0.pom (added)
+++ incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test/1.0.0/NMaven.Test-1.0.0.pom Fri Jul 27 14:37:27 2007
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?><!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>NMaven</groupId>
+  <artifactId>NMaven.Test</artifactId>
+  <version>1.0.0</version>
+  <name>NMaven.Test</name>
+  <dependencies>
+    <dependency>
+      <groupId>NMaven</groupId>
+      <artifactId>NMaven.Test2</artifactId>
+      <version>1.0.0</version>
+    </dependency>
+  </dependencies>
+</project>
\ No newline at end of file

Propchange: incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test/1.0.0/NMaven.Test-1.0.0.pom
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test2/1.0.0/NMaven.Test2-1.0.0.pom
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test2/1.0.0/NMaven.Test2-1.0.0.pom?view=auto&rev=560393
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test2/1.0.0/NMaven.Test2-1.0.0.pom (added)
+++ incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test2/1.0.0/NMaven.Test2-1.0.0.pom Fri Jul 27 14:37:27 2007
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?><!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>NMaven</groupId>
+  <artifactId>NMaven.Test2</artifactId>
+  <version>1.0.0</version>
+  <name>NMaven.Test</name>
+  <description>
+  </description>
+  <dependencies>
+    <dependency>
+      <groupId>NMaven</groupId>
+      <artifactId>NMaven.Test3</artifactId>
+      <version>1.0.0</version>
+    </dependency>
+  </dependencies>  
+</project>
\ No newline at end of file

Propchange: incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test2/1.0.0/NMaven.Test2-1.0.0.pom
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test3/1.0.0/NMaven.Test3-1.0.0.pom
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test3/1.0.0/NMaven.Test3-1.0.0.pom?view=auto&rev=560393
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test3/1.0.0/NMaven.Test3-1.0.0.pom (added)
+++ incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test3/1.0.0/NMaven.Test3-1.0.0.pom Fri Jul 27 14:37:27 2007
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?><!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>NMaven</groupId>
+  <artifactId>NMaven.Test3</artifactId>
+  <version>1.0.0</version>
+  <name>NMaven.Test</name>
+  <description>
+  </description>
+  <dependencies>
+    <dependency>
+      <groupId>NMaven</groupId>
+      <artifactId>NMaven.Test4</artifactId>
+      <version>1.0.0</version>
+    </dependency>
+  </dependencies>
+</project>
\ No newline at end of file

Propchange: incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test3/1.0.0/NMaven.Test3-1.0.0.pom
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test4/1.0.0/NMaven.Test4-1.0.0.pom
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test4/1.0.0/NMaven.Test4-1.0.0.pom?view=auto&rev=560393
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test4/1.0.0/NMaven.Test4-1.0.0.pom (added)
+++ incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test4/1.0.0/NMaven.Test4-1.0.0.pom Fri Jul 27 14:37:27 2007
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?><!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>NMaven</groupId>
+  <artifactId>NMaven.Test4</artifactId>
+  <version>1.0.0</version>
+  <name>NMaven.Test</name>
+  <description>
+  </description>
+</project>
\ No newline at end of file

Propchange: incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test4/1.0.0/NMaven.Test4-1.0.0.pom
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test5/1.0.0/NMaven.Test5-1.0.0.pom
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test5/1.0.0/NMaven.Test5-1.0.0.pom?view=auto&rev=560393
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test5/1.0.0/NMaven.Test5-1.0.0.pom (added)
+++ incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test5/1.0.0/NMaven.Test5-1.0.0.pom Fri Jul 27 14:37:27 2007
@@ -0,0 +1,22 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>NMaven</groupId>
+  <artifactId>NMaven.Test5</artifactId>
+  <version>1.0.0</version>
+  <name>NMaven.Test5</name>
+  <description>
+  </description>
+  <dependencies>
+    <dependency>
+      <groupId>NMaven</groupId>
+      <artifactId>NMaven.Test4</artifactId>
+      <version>1.0.0</version>
+    </dependency>
+    <dependency>
+      <groupId>NMaven</groupId>
+      <artifactId>NMaven.Test6</artifactId>
+      <version>1.0.0</version>
+    </dependency>
+  </dependencies>
+</project>
\ No newline at end of file

Propchange: incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test5/1.0.0/NMaven.Test5-1.0.0.pom
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test6/1.0.0/NMaven.Test6-1.0.0.pom
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test6/1.0.0/NMaven.Test6-1.0.0.pom?view=auto&rev=560393
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test6/1.0.0/NMaven.Test6-1.0.0.pom (added)
+++ incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test6/1.0.0/NMaven.Test6-1.0.0.pom Fri Jul 27 14:37:27 2007
@@ -0,0 +1,10 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>NMaven</groupId>
+  <artifactId>NMaven.Test6</artifactId>
+  <version>1.0.0</version>
+  <name>NMaven.Test6</name>
+  <description>
+  </description>
+</project>
\ No newline at end of file

Propchange: incubator/nmaven/trunk/components/dotnet-dao/project/src/test/resources/NMaven/NMaven.Test6/1.0.0/NMaven.Test6-1.0.0.pom
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/nmaven/trunk/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/NetExecutableFactoryImpl.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/NetExecutableFactoryImpl.java?view=diff&rev=560393&r1=560392&r2=560393
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/NetExecutableFactoryImpl.java (original)
+++ incubator/nmaven/trunk/components/dotnet-executable/src/main/java/org/apache/maven/dotnet/executable/impl/NetExecutableFactoryImpl.java Fri Jul 27 14:37:27 2007
@@ -27,7 +27,7 @@
 import org.apache.maven.dotnet.vendor.IllegalStateException;
 import org.apache.maven.dotnet.registry.RepositoryRegistry;
 import org.apache.maven.dotnet.artifact.ArtifactContext;
-import org.apache.maven.dotnet.artifact.PathUtil;
+import org.apache.maven.dotnet.PathUtil;
 import org.apache.maven.dotnet.InitializationException;
 import org.apache.maven.dotnet.PlatformUnsupportedException;
 import org.apache.maven.project.MavenProject;

Modified: incubator/nmaven/trunk/components/dotnet-repository/src/test/java/org/apache/maven/dotnet/repository/impl/RepositoryConverterImplTest.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/dotnet-repository/src/test/java/org/apache/maven/dotnet/repository/impl/RepositoryConverterImplTest.java?view=diff&rev=560393&r1=560392&r2=560393
==============================================================================
--- incubator/nmaven/trunk/components/dotnet-repository/src/test/java/org/apache/maven/dotnet/repository/impl/RepositoryConverterImplTest.java (original)
+++ incubator/nmaven/trunk/components/dotnet-repository/src/test/java/org/apache/maven/dotnet/repository/impl/RepositoryConverterImplTest.java Fri Jul 27 14:37:27 2007
@@ -42,7 +42,7 @@
 
         try
         {
-            dao.storeProjectAndResolveDependencies( project, null, new ArrayList<ArtifactRepository>() );
+            dao.storeProjectAndResolveDependencies( project, testRepo, new ArrayList<ArtifactRepository>() );
         }
         catch ( java.io.IOException e )
         {

Added: incubator/nmaven/trunk/misc/dotnet-repository-builder/pom-dotnet.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/misc/dotnet-repository-builder/pom-dotnet.xml?view=auto&rev=560393
==============================================================================
--- incubator/nmaven/trunk/misc/dotnet-repository-builder/pom-dotnet.xml (added)
+++ incubator/nmaven/trunk/misc/dotnet-repository-builder/pom-dotnet.xml Fri Jul 27 14:37:27 2007
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.maven.dotnet</groupId>
+  <version>0.14</version>
+  <artifactId>dotnet-repository-builder</artifactId>
+  <packaging>pom</packaging>
+  <dependencies>
+    <!--assemblies-->
+    <dependency>
+      <groupId>NMaven.Artifact</groupId>
+      <artifactId>NMaven.Artifact</artifactId>
+      <version>${pom.version}</version>
+      <type>library</type>
+    </dependency>
+    <dependency>
+      <groupId>NMaven.IDE</groupId>
+      <artifactId>NMaven.IDE</artifactId>
+      <version>${pom.version}</version>
+      <type>library</type>
+    </dependency>
+    <dependency>
+      <groupId>NMaven.Logging</groupId>
+      <artifactId>NMaven.Logging</artifactId>
+      <version>${pom.version}</version>
+      <type>library</type>
+    </dependency>
+    <dependency>
+      <groupId>NMaven.Model</groupId>
+      <artifactId>NMaven.Model.Pom</artifactId>
+      <version>${pom.version}</version>
+      <type>library</type>
+    </dependency>
+    <dependency>
+      <groupId>NMaven.Model</groupId>
+      <artifactId>NMaven.Model.AutomationExtensibility</artifactId>
+      <version>${pom.version}</version>
+      <type>library</type>
+    </dependency>
+    <dependency>
+      <groupId>NMaven.Plugin</groupId>
+      <artifactId>NMaven.Plugin</artifactId>
+      <version>${pom.version}</version>
+      <type>library</type>
+    </dependency>
+    <dependency>
+      <groupId>NMaven.Plugin</groupId>
+      <artifactId>NMaven.Plugin.Loader</artifactId>
+      <version>${pom.version}</version>
+      <type>exe</type>
+    </dependency>
+    <dependency>
+      <groupId>NMaven.Plugin</groupId>
+      <artifactId>NMaven.Plugin.MojoGenerator</artifactId>
+      <version>${pom.version}</version>
+      <type>exe</type>
+    </dependency>
+    <dependency>
+      <groupId>NMaven.Plugin</groupId>
+      <artifactId>NMaven.Plugin.Runner</artifactId>
+      <version>${pom.version}</version>
+      <type>exe</type>
+    </dependency>
+    <dependency>
+      <groupId>NMaven.Service</groupId>
+      <artifactId>NMaven.Service.Embedder</artifactId>
+      <version>${pom.version}</version>
+      <type>library</type>
+    </dependency>
+    <dependency>
+      <groupId>NMaven</groupId>
+      <artifactId>NMaven.Solution</artifactId>
+      <version>${pom.version}</version>
+      <type>library</type>
+    </dependency>
+    <dependency>
+      <groupId>NMaven.VisualStudio</groupId>
+      <artifactId>NMaven.VisualStudio</artifactId>
+      <version>${pom.version}</version>
+      <type>library</type>
+    </dependency>
+    <dependency>
+      <groupId>NMaven.VisualStudio</groupId>
+      <artifactId>NMaven.VisualStudio.Addin</artifactId>
+      <version>${pom.version}</version>
+      <type>visual-studio-addin</type>
+    </dependency>
+
+    <!--netplugins-->
+    <dependency>
+      <groupId>NMaven.Plugins</groupId>
+      <artifactId>NMaven.Plugin.Addin</artifactId>
+      <version>${pom.version}</version>
+      <type>netplugin</type>
+    </dependency>
+    <dependency>
+      <groupId>NMaven.Plugins</groupId>
+      <artifactId>NMaven.Plugin.Devenv</artifactId>
+      <version>${pom.version}</version>
+      <type>netplugin</type>
+    </dependency>
+    <dependency>
+      <groupId>NMaven.Plugins</groupId>
+      <artifactId>NMaven.Plugin.Resx</artifactId>
+      <version>${pom.version}</version>
+      <type>exe</type>
+    </dependency>
+    <dependency>
+      <groupId>NMaven.Plugins</groupId>
+      <artifactId>NMaven.Plugin.Settings</artifactId>
+      <version>${pom.version}</version>
+      <type>netplugin</type>
+    </dependency>
+    <dependency>
+      <groupId>NMaven.Plugins</groupId>
+      <artifactId>NMaven.Plugin.Solution</artifactId>
+      <version>${pom.version}</version>
+      <type>netplugin</type>
+    </dependency>
+    <dependency>
+      <groupId>NUnit</groupId>
+      <artifactId>NUnit.Framework</artifactId>
+      <version>2.2.8.0</version>
+      <type>library</type>
+    </dependency>
+  </dependencies>
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.dotnet.plugins</groupId>
+        <artifactId>maven-repository-plugin</artifactId>
+        <version>0.14</version>
+        <executions>
+          <execution>
+            <phase>package</phase>
+            <goals>
+              <goal>package</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>

Propchange: incubator/nmaven/trunk/misc/dotnet-repository-builder/pom-dotnet.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/nmaven/trunk/misc/dotnet-repository-builder/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/misc/dotnet-repository-builder/pom.xml?view=auto&rev=560393
==============================================================================
--- incubator/nmaven/trunk/misc/dotnet-repository-builder/pom.xml (added)
+++ incubator/nmaven/trunk/misc/dotnet-repository-builder/pom.xml Fri Jul 27 14:37:27 2007
@@ -0,0 +1,283 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.maven.dotnet</groupId>
+  <version>0.14</version>
+  <artifactId>dotnet-repository-builder</artifactId>
+  <packaging>pom</packaging>
+  <properties>
+    <mavenVersion>2.1-SNAPSHOT</mavenVersion>
+    <nmavenVersion>0.14</nmavenVersion>
+    <jettyVersion>6.1.5</jettyVersion>
+    <xfireVersion>1.2.5</xfireVersion>
+  </properties>
+  <dependencies>
+    <dependency>
+      <groupId>oro</groupId>
+      <artifactId>oro</artifactId>
+      <version>2.0.8</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.dotnet</groupId>
+      <artifactId>maven-archetype-dotnet-simple</artifactId>
+      <version>${nmavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.dotnet</groupId>
+      <artifactId>maven-archetype-netexecutable</artifactId>
+      <version>${nmavenVersion}</version>
+    </dependency>
+    <!--components-->
+    <dependency>
+      <groupId>org.apache.maven.dotnet</groupId>
+      <artifactId>dotnet-artifact</artifactId>
+      <version>${nmavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.dotnet</groupId>
+      <artifactId>dotnet-assembler</artifactId>
+      <version>${nmavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.dotnet</groupId>
+      <artifactId>dotnet-core</artifactId>
+      <version>${nmavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.dotnet</groupId>
+      <artifactId>dotnet-dao-project</artifactId>
+      <version>${nmavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.dotnet</groupId>
+      <artifactId>dotnet-embedder</artifactId>
+      <version>${nmavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.dotnet</groupId>
+      <artifactId>dotnet-executable</artifactId>
+      <version>${nmavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.dotnet</groupId>
+      <artifactId>dotnet-jetty</artifactId>
+      <version>${nmavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.dotnet</groupId>
+      <artifactId>dotnet-model-settings</artifactId>
+      <version>${nmavenVersion}</version>
+      <type>pom</type>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.dotnet</groupId>
+      <artifactId>dotnet-plugin</artifactId>
+      <version>${nmavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.dotnet</groupId>
+      <artifactId>dotnet-registry</artifactId>
+      <version>${nmavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.dotnet</groupId>
+      <artifactId>dotnet-repository</artifactId>
+      <version>${nmavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.dotnet</groupId>
+      <artifactId>dotnet-vendor</artifactId>
+      <version>${nmavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.dotnet</groupId>
+      <artifactId>dotnet-service-embedder</artifactId>
+      <type>war</type>
+      <version>${nmavenVersion}</version>
+    </dependency>
+    <!--plugins-->
+    <dependency>
+      <groupId>org.apache.maven.dotnet.plugins</groupId>
+      <artifactId>maven-compile-plugin</artifactId>
+      <version>${nmavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.dotnet.plugins</groupId>
+      <artifactId>maven-deploy-plugin</artifactId>
+      <version>${nmavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.dotnet.plugins</groupId>
+      <artifactId>maven-embedder-plugin</artifactId>
+      <version>${nmavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.dotnet.plugins</groupId>
+      <artifactId>maven-fxcop-plugin</artifactId>
+      <version>${nmavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.dotnet.plugins</groupId>
+      <artifactId>maven-install-plugin</artifactId>
+      <version>${nmavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.dotnet.plugins</groupId>
+      <artifactId>maven-link-plugin</artifactId>
+      <version>${nmavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.dotnet.plugins</groupId>
+      <artifactId>maven-mojo-generator-plugin</artifactId>
+      <version>${nmavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.dotnet.plugins</groupId>
+      <artifactId>maven-repository-plugin</artifactId>
+      <version>${nmavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.dotnet.plugins</groupId>
+      <artifactId>maven-resgen-plugin</artifactId>
+      <version>${nmavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.dotnet.plugins</groupId>
+      <artifactId>maven-resolver-plugin</artifactId>
+      <version>${nmavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.dotnet.plugins</groupId>
+      <artifactId>maven-test-plugin</artifactId>
+      <version>${nmavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.dotnet.plugins</groupId>
+      <artifactId>maven-vsinstaller-plugin</artifactId>
+      <version>${nmavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.dotnet.plugins</groupId>
+      <artifactId>maven-webapp-plugin</artifactId>
+      <version>${nmavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.dotnet.plugins</groupId>
+      <artifactId>maven-wsdl-plugin</artifactId>
+      <version>${nmavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.dotnet.plugins</groupId>
+      <artifactId>maven-xsp-plugin</artifactId>
+      <version>${nmavenVersion}</version>
+    </dependency>
+    <!--netplugins-->
+    <dependency>
+      <groupId>NMaven.Plugins</groupId>
+      <artifactId>NMaven.Plugin.Addin.JavaBinding</artifactId>
+      <version>${nmavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>NMaven.Plugins</groupId>
+      <artifactId>NMaven.Plugin.Devenv.JavaBinding</artifactId>
+      <version>${nmavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>NMaven.Plugins</groupId>
+      <artifactId>NMaven.Plugin.Settings.JavaBinding</artifactId>
+      <version>${nmavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>NMaven.Plugins</groupId>
+      <artifactId>NMaven.Plugin.Solution.JavaBinding</artifactId>
+      <version>${nmavenVersion}</version>
+    </dependency>
+    <!--maven-->
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-project</artifactId>
+      <version>${mavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-artifact</artifactId>
+      <version>${mavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-plugin-api</artifactId>
+      <version>${mavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-embedder</artifactId>
+      <version>${mavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.xfire</groupId>
+      <artifactId>xfire-plexus</artifactId>
+      <version>${xfireVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.xfire</groupId>
+      <artifactId>xfire-java5</artifactId>
+      <version>${xfireVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.mortbay.jetty</groupId>
+      <artifactId>jetty</artifactId>
+      <version>${jettyVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.mortbay.jetty</groupId>
+      <artifactId>jetty-embedded</artifactId>
+      <version>${jettyVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.mortbay.jetty</groupId>
+      <artifactId>servlet-api-2.5</artifactId>
+      <version>${jettyVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>net.sf.kxml</groupId>
+      <artifactId>kxml2</artifactId>
+      <version>2.1.8</version>
+    </dependency>
+    <dependency>
+      <groupId>xmlpull</groupId>
+      <artifactId>xmlpull</artifactId>
+      <version>1.1.3.4a</version>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-archiver</artifactId>
+      <version>1.0-alpha-3</version>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-utils</artifactId>
+      <version>1.0.4</version>
+    </dependency>
+  </dependencies>
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <version>2.1</version>
+        <configuration>
+          <descriptor>src/main/assembly/repo.xml</descriptor>
+          <finalName>repository</finalName>
+        </configuration>
+        <executions>
+          <execution>
+            <phase>package</phase>
+            <goals>
+              <goal>single</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+</project>
\ No newline at end of file

Propchange: incubator/nmaven/trunk/misc/dotnet-repository-builder/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/nmaven/trunk/misc/dotnet-repository-builder/src/main/assembly/repo.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/misc/dotnet-repository-builder/src/main/assembly/repo.xml?view=auto&rev=560393
==============================================================================
--- incubator/nmaven/trunk/misc/dotnet-repository-builder/src/main/assembly/repo.xml (added)
+++ incubator/nmaven/trunk/misc/dotnet-repository-builder/src/main/assembly/repo.xml Fri Jul 27 14:37:27 2007
@@ -0,0 +1,12 @@
+<assembly>
+  <id>bin</id>
+  <formats>
+    <format>tar.gz</format>
+  </formats>
+  <repositories>
+    <repository>
+      <outputDirectory>repository/releases</outputDirectory>
+      <includeMetadata>true</includeMetadata>
+    </repository>
+  </repositories>
+</assembly>
\ No newline at end of file

Propchange: incubator/nmaven/trunk/misc/dotnet-repository-builder/src/main/assembly/repo.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: incubator/nmaven/trunk/plugins/maven-install-plugin/src/main/java/org/apache/maven/dotnet/plugin/install/InstallerMojo.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-install-plugin/src/main/java/org/apache/maven/dotnet/plugin/install/InstallerMojo.java?view=diff&rev=560393&r1=560392&r2=560393
==============================================================================
--- incubator/nmaven/trunk/plugins/maven-install-plugin/src/main/java/org/apache/maven/dotnet/plugin/install/InstallerMojo.java (original)
+++ incubator/nmaven/trunk/plugins/maven-install-plugin/src/main/java/org/apache/maven/dotnet/plugin/install/InstallerMojo.java Fri Jul 27 14:37:27 2007
@@ -28,7 +28,7 @@
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.dotnet.artifact.ArtifactContext;
 import org.apache.maven.dotnet.ArtifactType;
-import org.apache.maven.dotnet.artifact.PathUtil;
+import org.apache.maven.dotnet.PathUtil;
 import org.apache.maven.dotnet.artifact.ApplicationConfig;
 import org.apache.maven.dotnet.executable.NetExecutable;
 import org.apache.maven.dotnet.executable.ExecutionException;
@@ -259,7 +259,7 @@
 
         try
         {
-            dao.storeProjectAndResolveDependencies( proj, null, new ArrayList<ArtifactRepository>() );
+            dao.storeProjectAndResolveDependencies( proj, localRepository, new ArrayList<ArtifactRepository>() );
         }
         catch ( java.io.IOException e )
         {

Modified: incubator/nmaven/trunk/plugins/maven-repository-plugin/src/main/java/org/apache/maven/dotnet/plugin/repository/RepositoryAssemblerMojo.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-repository-plugin/src/main/java/org/apache/maven/dotnet/plugin/repository/RepositoryAssemblerMojo.java?view=diff&rev=560393&r1=560392&r2=560393
==============================================================================
--- incubator/nmaven/trunk/plugins/maven-repository-plugin/src/main/java/org/apache/maven/dotnet/plugin/repository/RepositoryAssemblerMojo.java (original)
+++ incubator/nmaven/trunk/plugins/maven-repository-plugin/src/main/java/org/apache/maven/dotnet/plugin/repository/RepositoryAssemblerMojo.java Fri Jul 27 14:37:27 2007
@@ -4,25 +4,38 @@
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.artifact.repository.ArtifactRepositoryFactory;
+import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.DefaultArtifactRepository;
 import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
+import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
 import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.resolver.ArtifactResolutionException;
+import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
+import org.apache.maven.artifact.metadata.ArtifactMetadata;
 import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.artifact.deployer.ArtifactDeployer;
+import org.apache.maven.artifact.deployer.ArtifactDeploymentException;
 import org.apache.maven.dotnet.artifact.AssemblyResolver;
 import org.apache.maven.dotnet.artifact.ArtifactContext;
 import org.apache.maven.dotnet.repository.RepositoryConverter;
 import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.artifact.ProjectArtifactMetadata;
 import org.apache.maven.model.Model;
 import org.apache.maven.model.Parent;
+import org.apache.maven.model.Dependency;
 import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
 import org.codehaus.plexus.util.FileUtils;
 import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
+import org.codehaus.plexus.archiver.tar.TarArchiver;
+import org.codehaus.plexus.archiver.ArchiverException;
 import org.openrdf.repository.sail.SailRepository;
 import org.openrdf.repository.RepositoryException;
 import org.openrdf.sail.memory.MemoryStore;
 
 import java.util.Set;
 import java.util.HashSet;
+import java.util.ArrayList;
+import java.util.List;
 import java.io.File;
 import java.io.IOException;
 import java.io.FileReader;
@@ -98,147 +111,118 @@
         }
         catch ( RepositoryException e )
         {
+            throw new MojoExecutionException( e.getMessage() );
+        }
+
+        artifactContext.init( project, project.getRemoteArtifactRepositories(), localRepository );
 
+        List<Dependency> netDependencies = new ArrayList<Dependency>();
+
+        for ( Dependency dependency : (List<Dependency>) project.getDependencies() )
+        {
+            netDependencies.add( dependency );
         }
 
+        assemblyRepository( netDependencies, new DefaultRepositoryLayout() );
+
         try
         {
             repositoryConverter.convert( rdfRepository, localRepository );
         }
         catch ( IOException e )
         {
-            e.printStackTrace();
+            throw new MojoExecutionException( e.getMessage() );
         }
-/*
-RepositoryRegistry repositoryRegistry;
-try
-{
-    repositoryRegistry = nmavenRegistry.createRepositoryRegistry();
-}
-catch ( IOException e )
-{
-    throw new MojoExecutionException(
-        "NMAVEN-1600-000: Failed to create the repository registry for this plugin", e );
-}
-
-artifactContext.init( project, project.getRemoteArtifactRepositories(), new File( localRepository ) );
-
-
-
-List<Dependency> javaDependencies = new ArrayList<Dependency>();
-List<Dependency> netDependencies = new ArrayList<Dependency>();
-
-for ( Dependency dependency : (List<Dependency>) project.getDependencies() )
-{
-    if ( !dependency.getType().equals( ArtifactType.LIBRARY.getTargetCompileType() ) &&
-        !dependency.getType().equals( ArtifactType.NETPLUGIN.getPackagingType() ) &&
-        !dependency.getType().equals( ArtifactType.EXE.getTargetCompileType() ) &&
-        !dependency.getType().equals( ArtifactType.EXECONFIG.getTargetCompileType() ) &&
-        !dependency.getType().equals( ArtifactType.MODULE.getTargetCompileType() ) &&
-        !dependency.getType().equals( ArtifactType.NAR.getTargetCompileType() ) &&
-        !dependency.getType().equals( ArtifactType.VISUAL_STUDIO_ADDIN.getTargetCompileType() ) &&
-        !dependency.getType().equals( ArtifactType.WINEXE.getTargetCompileType() ) )
-    {
-        javaDependencies.add( dependency );
     }
-    else
-    {
-        netDependencies.add( dependency );
-    }
-}
-
-assemblyRepository( javaDependencies, new DefaultRepositoryLayout() );
-assemblyRepository( netDependencies, new AssemblyRepositoryLayout() );
-}
 
-public void assemblyRepository( List<Dependency> dependencies, ArtifactRepositoryLayout layout )
-throws MojoExecutionException, MojoFailureException
-{
-if ( dependencies.size() == 0 )
-{
-    return;
-}
+    public void assemblyRepository( List<Dependency> dependencies, ArtifactRepositoryLayout layout )
+        throws MojoExecutionException, MojoFailureException
+    {
+        if ( dependencies.size() == 0 )
+        {
+            return;
+        }
 
-ArtifactRepository localArtifactRepository =
-    new DefaultArtifactRepository( "local", "file://" + localRepository, layout );
-ArtifactRepository deploymentRepository = repositoryFactory.createDeploymentArtifactRepository( null,
-                                                                                                "file://" +
-                                                                                                    project.getBuild().getDirectory() +
-                                                                                                    "/archive-tmp/repository/releases",
-                                                                                                layout, true );
+        ArtifactRepository localArtifactRepository =
+            new DefaultArtifactRepository( "local", "file://" + localRepository, layout );
+        ArtifactRepository deploymentRepository = repositoryFactory.createDeploymentArtifactRepository( null,
+                                                                                                        "file://" +
+                                                                                                            project.getBuild().getDirectory() +
+                                                                                                            "/archive-tmp/repository/releases",
+                                                                                                        layout, true );
 
-try
-{
-    assemblyResolver.resolveTransitivelyFor( project, project.getArtifact(), dependencies,
-                                             project.getRemoteArtifactRepositories(), localArtifactRepository,
-                                             true );
-}
-catch ( ArtifactResolutionException e )
-{
-    throw new MojoExecutionException( "NMAVEN-901-000: Unable to resolve assemblies", e );
-}
-catch ( ArtifactNotFoundException e )
-{
-    throw new MojoExecutionException( "NMAVEN-901-001: Unable to resolve assemblies", e );
-}
+        try
+        {
+            assemblyResolver.resolveTransitivelyFor( project, dependencies, project.getRemoteArtifactRepositories(),
+                                                     localRepository, true );
+        }
+        catch ( ArtifactResolutionException e )
+        {
+            throw new MojoExecutionException( "NMAVEN-901-000: Unable to resolve assemblies", e );
+        }
+        catch ( ArtifactNotFoundException e )
+        {
+            throw new MojoExecutionException( "NMAVEN-901-001: Unable to resolve assemblies", e );
+        }
 
-for ( Artifact artifact : (Set<Artifact>) project.getDependencyArtifacts() )
-{
-    Set<Artifact> pomParentArtifacts = getPomArtifactsFor( artifact.getGroupId(), artifact.getArtifactId(),
-                                                           artifact.getVersion(), layout, true );
-    Set<Artifact> pomArtifacts = getPomArtifactsFor( artifact.getGroupId(), artifact.getArtifactId(),
-                                                     artifact.getVersion(), layout, false );
-    if ( pomArtifacts.size() == 1 )
-    {
-        ArtifactMetadata metadata =
-            new ProjectArtifactMetadata( artifact, pomArtifacts.toArray( new Artifact[1] )[0].getFile() );
-        artifact.addMetadata( metadata );
-    }
+        for ( Artifact artifact : (Set<Artifact>) project.getDependencyArtifacts() )
+        {
+            Set<Artifact> pomParentArtifacts = getPomArtifactsFor( artifact.getGroupId(), artifact.getArtifactId(),
+                                                                   artifact.getVersion(), layout, true );
+            Set<Artifact> pomArtifacts = getPomArtifactsFor( artifact.getGroupId(), artifact.getArtifactId(),
+                                                             artifact.getVersion(), layout, false );
+            if ( pomArtifacts.size() == 1 )
+            {
+                ArtifactMetadata metadata =
+                    new ProjectArtifactMetadata( artifact, pomArtifacts.toArray( new Artifact[1] )[0].getFile() );
+                artifact.addMetadata( metadata );
+            }
+
+            try
+            {
+                artifactDeployer.deploy( artifact.getFile(), artifact, deploymentRepository, localArtifactRepository );
+                //Deploy parent poms
+                for ( Artifact pomArtifact : pomParentArtifacts )
+                {
+                    artifactDeployer.deploy( pomArtifact.getFile(), pomArtifact, deploymentRepository,
+                                             localArtifactRepository );
+                }
+            }
+            catch ( ArtifactDeploymentException e )
+            {
+                throw new MojoExecutionException( "NMAVEN-DEPLOY: Deploy Failed", e );
+            }
+        }
 
-    try
-    {
-        artifactDeployer.deploy( artifact.getFile(), artifact, deploymentRepository, localArtifactRepository );
-        //Deploy parent poms
-        for ( Artifact pomArtifact : pomParentArtifacts )
+        TarArchiver tarArchiver = new TarArchiver();
+        try
         {
-            artifactDeployer.deploy( pomArtifact.getFile(), pomArtifact, deploymentRepository,
-                                     localArtifactRepository );
+            tarArchiver.addDirectory(
+                new File( project.getBuild().getDirectory(), "/archive-tmp/repository/releases" ) );
+        }
+        catch ( ArchiverException e )
+        {
+            throw new MojoExecutionException( "", e );
         }
-    }
-    catch ( ArtifactDeploymentException e )
-    {
-        throw new MojoExecutionException( "NMAVEN-DEPLOY: Deploy Failed", e );
-    }
-}
 
-TarArchiver tarArchiver = new TarArchiver();
-try
-{
-    tarArchiver.addDirectory( new File( project.getBuild().getDirectory(), "/archive-tmp/repository/releases" ) );
-}
-catch ( ArchiverException e )
-{
-    throw new MojoExecutionException( "", e );
-}
+        TarArchiver.TarCompressionMethod tarCompressionMethod = new TarArchiver.TarCompressionMethod();
+        tarArchiver.setDestFile( new File( project.getBuild().getDirectory(), project.getArtifactId() + ".tar.gz" ) );
+        try
+        {
+            tarCompressionMethod.setValue( "gzip" );
+            tarArchiver.setCompression( tarCompressionMethod );
+            tarArchiver.setIncludeEmptyDirs( false );
+            tarArchiver.createArchive();
+        }
+        catch ( ArchiverException e )
+        {
+            throw new MojoExecutionException( "", e );
+        }
+        catch ( IOException e )
+        {
+            throw new MojoExecutionException( "", e );
+        }
 
-TarArchiver.TarCompressionMethod tarCompressionMethod = new TarArchiver.TarCompressionMethod();
-tarArchiver.setDestFile( new File( project.getBuild().getDirectory(), project.getArtifactId() + ".tar.gz" ) );
-try
-{
-    tarCompressionMethod.setValue( "gzip" );
-    tarArchiver.setCompression( tarCompressionMethod );
-    tarArchiver.setIncludeEmptyDirs( false );
-    tarArchiver.createArchive();
-}
-catch ( ArchiverException e )
-{
-    throw new MojoExecutionException( "", e );
-}
-catch ( IOException e )
-{
-    throw new MojoExecutionException( "", e );
-}
-*/
     }
 
     private Set<Artifact> getPomArtifactsFor( String groupId, String artifactId, String version,