incubator-nmaven-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sisb...@apache.org
Subject svn commit: r539709 [7/7] - in /incubator/nmaven/trunk: ./ archetypes/ archetypes/maven-archetype-netexecutable/ archetypes/maven-archetype-netexecutable/src/ archetypes/maven-archetype-netexecutable/src/main/ archetypes/maven-archetype-netexecutable/s...
Date Sat, 19 May 2007 07:47:53 GMT
Modified: incubator/nmaven/trunk/plugins/maven-compile-plugin/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-compile-plugin/src/main/resources/META-INF/plexus/components.xml?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/plugins/maven-compile-plugin/src/main/resources/META-INF/plexus/components.xml (original)
+++ incubator/nmaven/trunk/plugins/maven-compile-plugin/src/main/resources/META-INF/plexus/components.xml Sat May 19 00:47:30 2007
@@ -15,7 +15,7 @@
           <validate>
             org.apache.maven.dotnet.plugins:maven-compile-plugin:initialize,
             org.apache.maven.dotnet.plugins:maven-resolver-plugin:resolve,
-            org.apache.maven.dotnet.plugins:maven-settings-plugin:generate-settings
+            NMaven.Plugins:NMaven.Plugin.Settings.JavaBinding:generate-settings
           </validate>
           <generate-sources>
             org.apache.maven.dotnet.plugins:maven-compile-plugin:generate-assembly-info
@@ -37,17 +37,18 @@
           </process-classes>
           <test>org.apache.maven.dotnet.plugins:maven-test-plugin:test</test>
           <install>
-            org.apache.maven.dotnet.plugins:maven-install-plugin:install,
+            org.apache.maven.dotnet.plugins:maven-install-plugin:install
           </install>
           <package>org.apache.maven.dotnet.plugins:maven-webapp-plugin:package</package>
-          <deploy>org.apache.maven.dotnet.plugins:maven-webapp-plugin:deploy</deploy>
+          <deploy>
+            org.apache.maven.dotnet.plugins:maven-webapp-plugin:deploy
+          </deploy>
         </phases>
       </configuration>
     </component>
     <component>
       <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
       <role-hint>module</role-hint>
-
       <implementation>
         org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping
       </implementation>
@@ -56,7 +57,7 @@
           <validate>
             org.apache.maven.dotnet.plugins:maven-compile-plugin:initialize,
             org.apache.maven.dotnet.plugins:maven-resolver-plugin:resolve,
-            org.apache.maven.dotnet.plugins:maven-settings-plugin:generate-settings
+            NMaven.Plugins:NMaven.Plugin.Settings.JavaBinding:generate-settings
           </validate>
           <process-sources>
             org.apache.maven.dotnet.plugins:maven-compile-plugin:process-sources,
@@ -76,15 +77,17 @@
           <test>org.apache.maven.dotnet.plugins:maven-test-plugin:test</test>
           <package>org.apache.maven.dotnet.plugins:maven-link-plugin:package</package>
           <install>
-            org.apache.maven.dotnet.plugins:maven-install-plugin:install,
+            org.apache.maven.dotnet.plugins:maven-install-plugin:install
           </install>
+          <deploy>
+            org.apache.maven.dotnet.plugins:maven-deploy-plugin:deploy-dotnet
+          </deploy>
         </phases>
       </configuration>
     </component>
     <component>
       <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
       <role-hint>library</role-hint>
-
       <implementation>
         org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping
       </implementation>
@@ -93,7 +96,7 @@
           <validate>
             org.apache.maven.dotnet.plugins:maven-compile-plugin:initialize,
             org.apache.maven.dotnet.plugins:maven-resolver-plugin:resolve ,
-            org.apache.maven.dotnet.plugins:maven-settings-plugin:generate-settings
+            NMaven.Plugins:NMaven.Plugin.Settings.JavaBinding:generate-settings
           </validate>
           <generate-sources>
             org.apache.maven.dotnet.plugins:maven-compile-plugin:generate-assembly-info
@@ -116,14 +119,17 @@
           <test>org.apache.maven.dotnet.plugins:maven-test-plugin:test</test>
           <install>
             org.apache.maven.dotnet.plugins:maven-install-plugin:install,
+            org.apache.maven.dotnet.plugins:maven-install-plugin:gac-install
           </install>
+          <deploy>
+            org.apache.maven.dotnet.plugins:maven-deploy-plugin:deploy-dotnet
+          </deploy>
         </phases>
       </configuration>
     </component>
     <component>
       <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
       <role-hint>exe</role-hint>
-
       <implementation>
         org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping
       </implementation>
@@ -132,7 +138,48 @@
           <validate>
             org.apache.maven.dotnet.plugins:maven-compile-plugin:initialize,
             org.apache.maven.dotnet.plugins:maven-resolver-plugin:resolve,
-            org.apache.maven.dotnet.plugins:maven-settings-plugin:generate-settings
+            NMaven.Plugins:NMaven.Plugin.Settings.JavaBinding:generate-settings
+          </validate>
+          <generate-sources>
+            org.apache.maven.dotnet.plugins:maven-compile-plugin:generate-assembly-info
+          </generate-sources>
+          <process-sources>
+            org.apache.maven.dotnet.plugins:maven-compile-plugin:process-sources,
+            org.apache.maven.dotnet.plugins:maven-compile-plugin:process-test-sources
+          </process-sources>
+          <process-resources>
+            org.apache.maven.dotnet.plugins:maven-resgen-plugin:copy-resources,
+            org.apache.maven.dotnet.plugins:maven-resgen-plugin:generate,
+          </process-resources>
+          <compile>
+            org.apache.maven.dotnet.plugins:maven-compile-plugin:compile,
+            org.apache.maven.dotnet.plugins:maven-compile-plugin:testCompile
+          </compile>
+          <process-classes>
+            org.apache.maven.dotnet.plugins:maven-install-plugin:target-install
+          </process-classes>
+          <test>org.apache.maven.dotnet.plugins:maven-test-plugin:test</test>
+          <install>
+            org.apache.maven.dotnet.plugins:maven-install-plugin:install,
+          </install>
+          <deploy>
+            org.apache.maven.dotnet.plugins:maven-deploy-plugin:deploy-dotnet
+          </deploy>
+        </phases>
+      </configuration>
+    </component>
+    <component>
+      <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
+      <role-hint>netplugin</role-hint>
+      <implementation>
+        org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping
+      </implementation>
+      <configuration>
+        <phases>
+          <validate>
+            org.apache.maven.dotnet.plugins:maven-compile-plugin:initialize,
+            org.apache.maven.dotnet.plugins:maven-resolver-plugin:resolve,
+            NMaven.Plugins:NMaven.Plugin.Settings.JavaBinding:generate-settings
           </validate>
           <generate-sources>
             org.apache.maven.dotnet.plugins:maven-compile-plugin:generate-assembly-info
@@ -149,16 +196,120 @@
             org.apache.maven.dotnet.plugins:maven-compile-plugin:compile,
             org.apache.maven.dotnet.plugins:maven-compile-plugin:testCompile
           </compile>
+          <deploy>org.apache.maven.dotnet.plugins:maven-mojo-generator-plugin:generate-bindings</deploy>
           <process-classes>
             org.apache.maven.dotnet.plugins:maven-install-plugin:target-install
           </process-classes>
           <test>org.apache.maven.dotnet.plugins:maven-test-plugin:test</test>
           <install>
             org.apache.maven.dotnet.plugins:maven-install-plugin:install,
+            org.apache.maven.dotnet.plugins:maven-install-plugin:gac-install
+          </install>
+          <deploy>
+            org.apache.maven.dotnet.plugins:maven-deploy-plugin:deploy-dotnet
+          </deploy>
+        </phases>
+      </configuration>
+    </component>
+    <component>
+      <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
+      <role-hint>visual-studio-addin</role-hint>
+      <implementation>
+        org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping
+      </implementation>
+      <configuration>
+        <phases>
+          <validate>
+            org.apache.maven.dotnet.plugins:maven-compile-plugin:initialize,
+            org.apache.maven.dotnet.plugins:maven-resolver-plugin:resolve,
+            NMaven.Plugins:NMaven.Plugin.Settings.JavaBinding:generate-settings
+          </validate>
+          <generate-sources>
+            org.apache.maven.dotnet.plugins:maven-compile-plugin:generate-assembly-info
+          </generate-sources>
+          <process-sources>
+            org.apache.maven.dotnet.plugins:maven-compile-plugin:process-sources,
+            org.apache.maven.dotnet.plugins:maven-compile-plugin:process-test-sources
+          </process-sources>
+          <process-resources>
+            org.apache.maven.dotnet.plugins:maven-resgen-plugin:copy-resources,
+            org.apache.maven.dotnet.plugins:maven-resgen-plugin:generate,
+          </process-resources>
+          <compile>
+            org.apache.maven.dotnet.plugins:maven-compile-plugin:compile,
+            org.apache.maven.dotnet.plugins:maven-compile-plugin:testCompile
+          </compile>
+          <process-classes>
+            org.apache.maven.dotnet.plugins:maven-install-plugin:target-install
+          </process-classes>
+          <test>org.apache.maven.dotnet.plugins:maven-test-plugin:test</test>
+          <install>
+            org.apache.maven.dotnet.plugins:maven-install-plugin:install
+          </install>
+          <deploy>
+            org.apache.maven.dotnet.plugins:maven-deploy-plugin:deploy-dotnet
+          </deploy>
+        </phases>
+      </configuration>
+    </component>
+    <component>
+      <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
+      <role-hint>sharp-develop-addin</role-hint>
+      <implementation>
+        org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping
+      </implementation>
+      <configuration>
+        <phases>
+          <validate>
+            org.apache.maven.dotnet.plugins:maven-compile-plugin:initialize,
+            org.apache.maven.dotnet.plugins:maven-resolver-plugin:resolve,
+            NMaven.Plugins:NMaven.Plugin.Settings.JavaBinding:generate-settings
+          </validate>
+          <generate-sources>
+            org.apache.maven.dotnet.plugins:maven-compile-plugin:generate-assembly-info
+          </generate-sources>
+          <process-sources>
+            org.apache.maven.dotnet.plugins:maven-compile-plugin:process-sources,
+            org.apache.maven.dotnet.plugins:maven-compile-plugin:process-test-sources
+          </process-sources>
+          <process-resources>
+            org.apache.maven.dotnet.plugins:maven-resgen-plugin:copy-resources,
+            org.apache.maven.dotnet.plugins:maven-resgen-plugin:generate,
+          </process-resources>
+          <compile>
+            org.apache.maven.dotnet.plugins:maven-compile-plugin:compile,
+            org.apache.maven.dotnet.plugins:maven-compile-plugin:testCompile
+          </compile>
+          <process-classes>
+            org.apache.maven.dotnet.plugins:maven-install-plugin:target-install
+          </process-classes>
+          <test>org.apache.maven.dotnet.plugins:maven-test-plugin:test</test>
+          <install>
+            org.apache.maven.dotnet.plugins:maven-install-plugin:install
           </install>
+          <deploy>
+            org.apache.maven.dotnet.plugins:maven-deploy-plugin:deploy-dotnet
+          </deploy>               
         </phases>
       </configuration>
     </component>
+     <component>
+      <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
+      <role-hint>exe.config</role-hint>
+      <implementation>
+        org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping
+      </implementation>
+      <configuration>
+        <phases>
+          <install>
+            org.apache.maven.dotnet.plugins:maven-install-plugin:install
+          </install>
+          <deploy>
+            org.apache.maven.dotnet.plugins:maven-deploy-plugin:deploy-dotnet
+          </deploy>
+        </phases>
+      </configuration>
+    </component>    
     <component>
       <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
       <role-hint>module</role-hint>
@@ -206,6 +357,33 @@
     </component>
     <component>
       <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
+      <role-hint>gac_generic</role-hint>
+      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
+      <configuration>
+        <extension>dll</extension>
+        <type>gac_generic</type>
+      </configuration>
+    </component>
+    <component>
+      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
+      <role-hint>gac_msil</role-hint>
+      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
+      <configuration>
+        <extension>dll</extension>
+        <type>gac_msil</type>
+      </configuration>
+    </component>
+    <component>
+      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
+      <role-hint>gac_32</role-hint>
+      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
+      <configuration>
+        <extension>dll</extension>
+        <type>gac_32</type>
+      </configuration>
+    </component>
+    <component>
+      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
       <role-hint>nar</role-hint>
       <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
       <configuration>
@@ -213,6 +391,24 @@
       </configuration>
     </component>
     <component>
+      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
+      <role-hint>netplugin</role-hint>
+      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
+      <configuration>
+        <extension>dll</extension>
+        <type>netplugin</type>
+      </configuration>
+    </component>
+    <component>
+      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
+      <role-hint>visual-studio-addin</role-hint>
+      <implementation>org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
+      <configuration>
+        <extension>dll</extension>
+        <type>visual-studio-addin</type>
+      </configuration>
+    </component>
+    <component>
       <role>org.apache.maven.dotnet.executable.CapabilityMatcher</role>
       <implementation>org.apache.maven.dotnet.executable.impl.CapabilityMatcherImpl</implementation>
       <requirements>
@@ -242,5 +438,17 @@
         </requirement>
       </requirements>
     </component>
+    <component>
+      <role>org.apache.maven.dotnet.plugin.DotNetMojo</role>
+      <implementation>org.apache.maven.dotnet.plugin.AbstractMojo</implementation>
+      <requirements>
+        <requirement>
+          <role>org.apache.maven.dotnet.executable.NetExecutableFactory</role>
+        </requirement>
+        <requirement>
+          <role>org.apache.maven.dotnet.plugin.PluginContext</role>
+        </requirement>        
+      </requirements>
+    </component> 
   </components>
 </component-set>

Modified: incubator/nmaven/trunk/plugins/maven-install-plugin/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-install-plugin/pom.xml?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/plugins/maven-install-plugin/pom.xml (original)
+++ incubator/nmaven/trunk/plugins/maven-install-plugin/pom.xml Sat May 19 00:47:30 2007
@@ -1,3 +1,21 @@
+<?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">
   <parent>
@@ -12,8 +30,15 @@
   <version>0.14-SNAPSHOT</version>
   <name>maven-install-plugin</name>
   <description>
-    Maven Plugin for .NET
+    Maven Plugin for .NET: Installs compiled artifacts into the local repository.
   </description>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.maven.dotnet.plugins</groupId>
+      <artifactId>maven-compile-plugin</artifactId>
+      <version>0.14-SNAPSHOT</version>
+    </dependency>
+  </dependencies>
   <distributionManagement>
     <site>
       <id>nmaven-apache-site</id>

Modified: incubator/nmaven/trunk/plugins/maven-install-plugin/src/main/java/org/apache/maven/dotnet/plugin/install/FileInstallerMojo.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-install-plugin/src/main/java/org/apache/maven/dotnet/plugin/install/FileInstallerMojo.java?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/plugins/maven-install-plugin/src/main/java/org/apache/maven/dotnet/plugin/install/FileInstallerMojo.java (original)
+++ incubator/nmaven/trunk/plugins/maven-install-plugin/src/main/java/org/apache/maven/dotnet/plugin/install/FileInstallerMojo.java Sat May 19 00:47:30 2007
@@ -23,9 +23,9 @@
 import org.apache.maven.project.MavenProject;
 
 import java.io.File;
-import java.io.IOException;
 
 import org.apache.maven.dotnet.artifact.ArtifactContext;
+import org.apache.maven.artifact.installer.ArtifactInstallationException;
 
 /**
  * @goal install-file
@@ -58,6 +58,11 @@
     private File artifactFile;
 
     /**
+     * @parameter expression = "${pomFile}
+     */
+    private File pomFile;
+
+    /**
      * @parameter expression = "${groupId}
      * @required
      */
@@ -82,7 +87,7 @@
     private String packaging;
 
     /**
-     * @parameter expression = "${generatePom} default-value = "true"
+     * @parameter expression = "${generatePom}" default-value = "true"
      */
     private boolean generatePom;
 
@@ -99,17 +104,34 @@
     public void execute()
         throws MojoExecutionException
     {
-        artifactContext.init( project, localRepository );
-        if ( generatePom )
+        artifactContext.init( project, project.getRemoteArtifactRepositories(), localRepository );
+        if ( pomFile != null && !pomFile.exists() )
+        {
+            throw new MojoExecutionException(
+                "NMAVEN-1000-002: Pom  File is missing: File = " + pomFile.getAbsolutePath() );
+        }
+        else if ( generatePom &&  pomFile == null  )
         {
             try
             {
-                artifactContext.getArtifactInstaller().installFile( groupId, artifactId, version, packaging,
-                                                                    artifactFile );
+
+                artifactContext.getArtifactInstaller().installFileWithGeneratedPom( groupId, artifactId, version,
+                                                                                    packaging, artifactFile );
             }
             catch ( org.apache.maven.artifact.installer.ArtifactInstallationException e )
             {
                 throw new MojoExecutionException( "NMAVEN-1000-000: Failed to install artifact file", e );
+            }
+        }
+        else if(pomFile != null)
+        {
+            try
+            {
+                artifactContext.getArtifactInstaller().installArtifact( project.getArtifact(), pomFile);
+            }
+            catch ( ArtifactInstallationException e )
+            {
+               throw new MojoExecutionException( "NMAVEN-1000-003: Failed to install artifact file", e );
             }
         }
         else

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=539709&r1=539708&r2=539709
==============================================================================
--- 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 Sat May 19 00:47:30 2007
@@ -26,6 +26,7 @@
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.dotnet.artifact.ArtifactContext;
 import org.apache.maven.dotnet.artifact.ArtifactType;
+import org.apache.maven.dotnet.plugin.compile.ComponentInitializerMojo;
 import org.apache.maven.model.Dependency;
 
 import java.io.File;
@@ -49,13 +50,11 @@
 
     /**
      * @parameter expression="${settings.localRepository}"
-     * @required
      */
     private File localRepository;
 
     /**
      * @parameter expression="${project.file}"
-     * @required
      * @readonly
      */
     private File pomFile;
@@ -73,7 +72,15 @@
     public void execute()
         throws MojoExecutionException
     {
-        Artifact artifact = project.getArtifact();
+        long startTime = System.currentTimeMillis();
+
+        if ( localRepository == null )
+        {
+            localRepository = new File( System.getProperty( "user.home" ), ".m2/repository" );
+        }
+        artifactContext.init( project, project.getRemoteArtifactRepositories(), localRepository );
+
+        Artifact artifact = project.getArtifact();       
         try
         {
             artifactContext.getArtifactInstaller().installArtifact( artifact, pomFile );
@@ -84,7 +91,10 @@
         }
 
         //To allow executables to be runnable from the repo
-        if ( artifact.getType().equals( ArtifactType.EXE.getArtifactTypeName() ) )
+        if ( artifact.getType().equals( ArtifactType.EXE.getPackagingType() ) ||
+            artifact.getType().equals( ArtifactType.NETPLUGIN.getPackagingType() ) ||
+            artifact.getType().equals( ArtifactType.VISUAL_STUDIO_ADDIN.getPackagingType() ) ||
+            artifact.getType().equals( ArtifactType.SHARP_DEVELOP_ADDIN.getPackagingType() ))
         {
             List<Dependency> dependencies = project.getDependencies();
             try
@@ -96,25 +106,7 @@
                 throw new MojoExecutionException( "NMAVEN-1001-002: Failed to install artifact file", e );
             }
         }
-
-        //For the IDE: If we see a dll with same name as netmodule, copy dll to the local repo.
-        /*
-        File linkedFile =
-            new File( artifact.getFile().getParent() + File.separatorChar + artifact.getArtifactId() + ".dll" );
-        if ( linkedFile.exists() && artifact.getType().equals( ArtifactType.MODULE.getArtifactTypeName() ) )
-        {
-            try
-            {
-                artifactContext.getArtifactInstaller().installFileWithNoPom( artifact.getGroupId(),
-                                                                             artifact.getArtifactId(),
-                                                                             artifact.getVersion(), linkedFile );
-            }
-            catch ( org.apache.maven.artifact.installer.ArtifactInstallationException e )
-            {
-                throw new MojoExecutionException( "NMAVEN-1001-001: Failed to install artifact file", e );
-            }
-        }
-        */
-
+        long endTime = System.currentTimeMillis();
+        getLog().info( "Mojo Execution Time = " + ( endTime - startTime ) );
     }
 }

Modified: incubator/nmaven/trunk/plugins/maven-install-plugin/src/main/java/org/apache/maven/dotnet/plugin/install/TargetModuleInstallerMojo.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-install-plugin/src/main/java/org/apache/maven/dotnet/plugin/install/TargetModuleInstallerMojo.java?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/plugins/maven-install-plugin/src/main/java/org/apache/maven/dotnet/plugin/install/TargetModuleInstallerMojo.java (original)
+++ incubator/nmaven/trunk/plugins/maven-install-plugin/src/main/java/org/apache/maven/dotnet/plugin/install/TargetModuleInstallerMojo.java Sat May 19 00:47:30 2007
@@ -46,7 +46,6 @@
 
     /**
      * @parameter expression="${settings.localRepository}"
-     * @required
      */
     private File localRepository;
 
@@ -67,6 +66,13 @@
     public void execute()
         throws MojoExecutionException
     {
+        long startTime = System.currentTimeMillis();
+
+        if(localRepository == null)
+        {
+            localRepository = new File(System.getProperty("user.home"), ".m2/repository");
+        }
+
         try
         {
             nmavenRegistry.createRepositoryRegistry();
@@ -77,7 +83,7 @@
                 "NMAVEN-1002-001: Failed to create the repository registry for this plugin", e );
         }
 
-        artifactContext.init( project, localRepository );
+        artifactContext.init( project, project.getRemoteArtifactRepositories(), localRepository );
         try
         {
             artifactContext.getArtifactInstaller().installNetModulesToTargetDirectory( project.getArtifact() );
@@ -86,5 +92,7 @@
         {
             throw new MojoExecutionException( "NMAVEN-1002-000: Failed to install artifacts into target directory", e );
         }
+        long endTime = System.currentTimeMillis();
+        getLog().info( "Mojo Execution Time = " + (endTime - startTime));        
     }
 }

Modified: incubator/nmaven/trunk/plugins/maven-link-plugin/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-link-plugin/pom.xml?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/plugins/maven-link-plugin/pom.xml (original)
+++ incubator/nmaven/trunk/plugins/maven-link-plugin/pom.xml Sat May 19 00:47:30 2007
@@ -1,3 +1,21 @@
+<?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">
   <parent>
@@ -12,9 +30,8 @@
   <version>0.14-SNAPSHOT</version>
   <name>maven-link-plugin</name>
   <description>
-    Maven Plugin for .NET
+    Maven Plugin for .NET: Uses AssemblyLinker utility for linking, embedding and adding resources to an assembly.
   </description>
-
   <distributionManagement>
     <site>
       <id>nmaven-apache-site</id>

Modified: incubator/nmaven/trunk/plugins/maven-link-plugin/src/main/java/org/apache/maven/dotnet/plugin/link/LinkerMojo.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-link-plugin/src/main/java/org/apache/maven/dotnet/plugin/link/LinkerMojo.java?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/plugins/maven-link-plugin/src/main/java/org/apache/maven/dotnet/plugin/link/LinkerMojo.java (original)
+++ incubator/nmaven/trunk/plugins/maven-link-plugin/src/main/java/org/apache/maven/dotnet/plugin/link/LinkerMojo.java Sat May 19 00:47:30 2007
@@ -77,7 +77,7 @@
 
         try
         {
-            netExecutableFactory.getNetExecutableFor( vendor, frameworkVersion, profile, project, getCommands(),
+            netExecutableFactory.getNetExecutableFor( vendor, frameworkVersion, profile, getCommands(),
                                                       null ).execute();
         }
         catch ( ExecutionException e )

Modified: incubator/nmaven/trunk/plugins/maven-resgen-plugin/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-resgen-plugin/pom.xml?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/plugins/maven-resgen-plugin/pom.xml (original)
+++ incubator/nmaven/trunk/plugins/maven-resgen-plugin/pom.xml Sat May 19 00:47:30 2007
@@ -1,3 +1,21 @@
+<?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">
   <parent>
@@ -12,7 +30,7 @@
   <version>0.14-SNAPSHOT</version>
   <name>maven-resgen-plugin</name>
   <description>
-    Maven Plugin for .NET
+    Maven Plugin for .NET: Generates assembly resources
   </description>
   <build>
     <plugins>

Modified: incubator/nmaven/trunk/plugins/maven-resgen-plugin/src/main/java/org/apache/maven/dotnet/plugin/resgen/ResourceGeneratorMojo.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-resgen-plugin/src/main/java/org/apache/maven/dotnet/plugin/resgen/ResourceGeneratorMojo.java?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/plugins/maven-resgen-plugin/src/main/java/org/apache/maven/dotnet/plugin/resgen/ResourceGeneratorMojo.java (original)
+++ incubator/nmaven/trunk/plugins/maven-resgen-plugin/src/main/java/org/apache/maven/dotnet/plugin/resgen/ResourceGeneratorMojo.java Sat May 19 00:47:30 2007
@@ -46,9 +46,8 @@
 
     /**
      * @parameter expression="${settings.localRepository}"
-     * @required
      */
-    private String localRepository;
+    private File localRepository;
 
     /**
      * The maven project.
@@ -107,8 +106,22 @@
             return;
         }
 
-        File sourceDirectory = new File(
-            project.getBuild().getDirectory() + File.separator + "assembly-resources" + File.separator + "resgen" );
+        if ( localRepository == null )
+        {
+            localRepository = new File( System.getProperty( "user.home" ), ".m2/repository" );
+        }
+
+        /*
+        * We should do this check at a lower level (to keep consistent behavior with the nmaven-settings.xml)
+        * but we do not currently support the execution of specific plugins based on vendor info.
+        */
+        if ( vendor != null && vendor.equals( "DotGNU" ) )
+        {
+            getLog().info( "NMAVEN-1501-005: Unsupported Plugin" );
+            return;
+        }
+
+        File sourceDirectory = new File( project.getBuild().getDirectory(), "/assembly-resources/resgen" );
         if ( !sourceDirectory.exists() )
         {
             return;
@@ -138,8 +151,8 @@
             }
             vendorInfo.setFrameworkVersion( frameworkVersion );
             vendorInfo.setVendorVersion( vendorVersion );
-            netExecutableFactory.getNetExecutableFromRepository( "NMaven.Plugin", "NMaven.Plugin.Resx", vendorInfo,
-                                                                 project, localRepository, commands ).execute();
+            netExecutableFactory.getNetExecutableFromRepository( "NMaven.Plugins", "NMaven.Plugin.Resx", vendorInfo,
+                                                                 localRepository, commands, false ).execute();
         }
         catch ( PlatformUnsupportedException e )
         {
@@ -156,7 +169,7 @@
 
         try
         {
-            netExecutableFactory.getNetExecutableFor( vendor, frameworkVersion, "RESGEN", project, getCommands(),
+            netExecutableFactory.getNetExecutableFor( vendor, frameworkVersion, "RESGEN", getCommands(),
                                                       netHome ).execute();
         }
         catch ( ExecutionException e )

Modified: incubator/nmaven/trunk/plugins/maven-resolver-plugin/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-resolver-plugin/pom.xml?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/plugins/maven-resolver-plugin/pom.xml (original)
+++ incubator/nmaven/trunk/plugins/maven-resolver-plugin/pom.xml Sat May 19 00:47:30 2007
@@ -1,18 +1,37 @@
-<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">
-    <parent>
-        <groupId>org.apache.maven.dotnet.plugins</groupId>
-        <version>0.14-SNAPSHOT</version>
-        <artifactId>maven-dotnet-plugins</artifactId>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
+<?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">
+  <parent>
     <groupId>org.apache.maven.dotnet.plugins</groupId>
-    <artifactId>maven-resolver-plugin</artifactId>
-    <packaging>maven-plugin</packaging>
     <version>0.14-SNAPSHOT</version>
-    <name>maven-resolver-plugin</name>
-    <description>
-        Maven Plugin for .NET
-    </description>
+    <artifactId>maven-dotnet-plugins</artifactId>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.maven.dotnet.plugins</groupId>
+  <artifactId>maven-resolver-plugin</artifactId>
+  <packaging>maven-plugin</packaging>
+  <version>0.14-SNAPSHOT</version>
+  <name>maven-resolver-plugin</name>
+  <description>
+    Maven Plugin for .NET
+  </description>
   <distributionManagement>
     <site>
       <id>nmaven-apache-site</id>

Modified: incubator/nmaven/trunk/plugins/maven-resolver-plugin/src/main/java/org/apache/maven/dotnet/plugin/resolver/NetDependency.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-resolver-plugin/src/main/java/org/apache/maven/dotnet/plugin/resolver/NetDependency.java?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/plugins/maven-resolver-plugin/src/main/java/org/apache/maven/dotnet/plugin/resolver/NetDependency.java (original)
+++ incubator/nmaven/trunk/plugins/maven-resolver-plugin/src/main/java/org/apache/maven/dotnet/plugin/resolver/NetDependency.java Sat May 19 00:47:30 2007
@@ -18,6 +18,11 @@
  */
 package org.apache.maven.dotnet.plugin.resolver;
 
+/**
+ * Provides access to net dependency information.
+ *
+ * @author Shane Isbell
+ */
 public class NetDependency
 {
 
@@ -28,6 +33,18 @@
     private String groupId;
 
     private String type;
+
+    private  boolean isGacInstall;
+
+    public boolean isGacInstall()
+    {
+        return isGacInstall;
+    }
+
+    public void setGacInstall( boolean gacInstall )
+    {
+        isGacInstall = gacInstall;
+    }
 
     public String getVersion()
     {

Modified: incubator/nmaven/trunk/plugins/maven-resolver-plugin/src/main/java/org/apache/maven/dotnet/plugin/resolver/NetDependencyResolverMojo.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-resolver-plugin/src/main/java/org/apache/maven/dotnet/plugin/resolver/NetDependencyResolverMojo.java?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/plugins/maven-resolver-plugin/src/main/java/org/apache/maven/dotnet/plugin/resolver/NetDependencyResolverMojo.java (original)
+++ incubator/nmaven/trunk/plugins/maven-resolver-plugin/src/main/java/org/apache/maven/dotnet/plugin/resolver/NetDependencyResolverMojo.java Sat May 19 00:47:30 2007
@@ -23,9 +23,10 @@
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.model.Dependency;
 import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.installer.ArtifactInstaller;
+import org.apache.maven.artifact.installer.ArtifactInstallationException;
 import org.apache.maven.artifact.resolver.ArtifactResolutionException;
 import org.apache.maven.artifact.resolver.ArtifactNotFoundException;
-import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.dotnet.registry.RepositoryRegistry;
 
 import java.io.File;
@@ -36,7 +37,11 @@
 import org.apache.maven.dotnet.artifact.AssemblyResolver;
 import org.apache.maven.dotnet.artifact.NetDependenciesRepository;
 import org.apache.maven.dotnet.artifact.NetDependencyMatchPolicy;
+import org.apache.maven.dotnet.artifact.ArtifactContext;
 import org.apache.maven.dotnet.model.netdependency.NetDependency;
+import org.apache.maven.dotnet.executable.NetExecutable;
+import org.apache.maven.dotnet.executable.ExecutionException;
+import org.apache.maven.dotnet.PlatformUnsupportedException;
 
 /**
  * @author Shane Isbell
@@ -56,8 +61,6 @@
 
     /**
      * @parameter expression="${settings.localRepository}"
-     * @required
-     * @readonly
      */
     private String localRepository;
 
@@ -74,6 +77,18 @@
     private NetDependency[] netDependencies;
 
     /**
+     * The Vendor for the executable.
+     *
+     * @parameter expression="${vendor}"
+     */
+    private String vendor;
+
+    /**
+     * @parameter expression = "${frameworkVersion}"
+     */
+    private String frameworkVersion;
+
+    /**
      * @component
      */
     private AssemblyResolver assemblyResolver;
@@ -81,21 +96,38 @@
     /**
      * @component
      */
-    private ArtifactFactory artifactFactory;
+    private org.apache.maven.dotnet.NMavenRepositoryRegistry nmavenRegistry;
 
     /**
      * @component
      */
-    private org.apache.maven.dotnet.NMavenRepositoryRegistry nmavenRegistry;
+    private org.apache.maven.dotnet.executable.NetExecutableFactory netExecutableFactory;
+
+    /**
+     * @component
+     */
+    private ArtifactInstaller artifactInstaller;
+
+    /**
+     * @component
+     */
+    private ArtifactContext artifactContext;
 
     public void execute()
         throws MojoExecutionException
     {
+        long startTime = System.currentTimeMillis();
+
         if ( System.getProperty( "bootstrap" ) != null )
         {
             return;
         }
 
+        if ( localRepository == null )
+        {
+            localRepository = new File( System.getProperty( "user.home" ), ".m2/repository" ).getAbsolutePath();
+        }
+
         String profile = System.getProperty( "dependencyProfile" );
 
         RepositoryRegistry repositoryRegistry;
@@ -125,53 +157,91 @@
             dependencies.add( dependency );
         }
 
-        NetDependenciesRepository repository =
-            (NetDependenciesRepository) repositoryRegistry.find( "net-dependencies" );
-        List<NetDependencyMatchPolicy> matchPolicies = new ArrayList<NetDependencyMatchPolicy>();
-        matchPolicies.add( new ProfileMatchPolicy( profile ) );
-        dependencies.addAll( repository.getDependenciesFor( matchPolicies ) );
-        getLog().info( "NMAVEN-1600-001: Found net dependencies: Number = " + dependencies.size() );
-
+        artifactContext.init( project, project.getRemoteArtifactRepositories(), new File( localRepository ) );
         try
         {
-            assemblyResolver.resolveTransitivelyFor( project, project.getArtifact(), dependencies, pomFile,
-                                                     localRepository, false );
+            artifactContext.getArtifactInstaller().resolveAndInstallNetDependenciesForProfile( profile,
+                                                                                               new ArrayList<Dependency>() );
         }
         catch ( ArtifactResolutionException e )
         {
-            throw new MojoExecutionException( "NMAVEN-1600-002: Unable to resolve assemblies", e );
+            throw new MojoExecutionException( "NMAVEN-1600-003: Unable to resolve assemblies", e );
         }
         catch ( ArtifactNotFoundException e )
         {
             throw new MojoExecutionException( "NMAVEN-1600-003: Unable to resolve assemblies", e );
         }
+        catch ( ArtifactInstallationException e )
+        {
+            throw new MojoExecutionException( "NMAVEN-1600-003: Unable to resolve assemblies", e );
+        }
+
+        //Do GAC Install, if needed
+        //TODO: Add in the dependencies from the MOJO config
+        NetDependenciesRepository repository =
+            (NetDependenciesRepository) repositoryRegistry.find( "net-dependencies" );
+        getLog().info( "NMAVEN-1600-001: Found net dependencies: Number = " + dependencies.size() );
+
+        List<NetDependencyMatchPolicy> gacInstallPolicies = new ArrayList<NetDependencyMatchPolicy>();
+        gacInstallPolicies.add( new GacMatchPolicy( true ) );
+        List<Dependency> gacInstallDependencies = repository.getDependenciesFor( gacInstallPolicies );
+        for ( Dependency dependency : gacInstallDependencies )
+        {
+            List<Artifact> artifacts = artifactContext.getArtifactsFor( dependency.getGroupId(),
+                                                                        dependency.getArtifactId(),
+                                                                        dependency.getVersion(), dependency.getType() );
+            try
+            {
+                NetExecutable netExecutable = netExecutableFactory.getNetExecutableFor( vendor, frameworkVersion,
+                                                                                        "GACUTIL",
+                                                                                        getGacInstallCommandsFor(
+                                                                                            artifacts.get( 0 ) ),
+                                                                                        null );
+                netExecutable.execute();
+                getLog().info( "NMAVEN-1600-004: Installed Assembly into GAC: Assembly = " +
+                    artifacts.get( 0 ).getFile().getAbsolutePath() + ",  Vendor = " +
+                    netExecutable.getVendor().getVendorName() );
+            }
+            catch ( ExecutionException e )
+            {
+                throw new MojoExecutionException( "NMAVEN-1600-005: Unable to execute gacutil: Vendor " + vendor +
+                    ", frameworkVersion = " + frameworkVersion + ", Profile = " + profile, e );
+            }
+            catch ( PlatformUnsupportedException e )
+            {
+                throw new MojoExecutionException( "NMAVEN-1600-006: Platform Unsupported: Vendor " + vendor +
+                    ", frameworkVersion = " + frameworkVersion + ", Profile = " + profile, e );
+            }
+        }
+
+        long endTime = System.currentTimeMillis();
+        getLog().info( "Mojo Execution Time = " + ( endTime - startTime ) );
+    }
+
+    public List<String> getGacInstallCommandsFor( Artifact artifact )
+        throws MojoExecutionException
+    {
+        List<String> commands = new ArrayList<String>();
+        commands.add( "/nologo" );
+        commands.add( "/i" );
+        commands.add( artifact.getFile().getAbsolutePath() );
+        return commands;
     }
 
-    private class ProfileMatchPolicy
+    private class GacMatchPolicy
         implements NetDependencyMatchPolicy
     {
 
-        private String profile;
+        private boolean isGacInstall;
 
-        public ProfileMatchPolicy( String profile )
+        public GacMatchPolicy( boolean isGacInstall )
         {
-            this.profile = profile;
+            this.isGacInstall = isGacInstall;
         }
 
         public boolean match( NetDependency netDependency )
         {
-            //If no profile is specified in net-dependencies.xml, it matches
-            if ( netDependency.getProfile() == null || netDependency.getProfile().trim().equals( "" ) )
-            {
-                return true;
-            }
-
-            if ( profile == null )
-            {
-                return false;
-            }
-
-            return profile.equals( netDependency.getProfile() );
+            return netDependency.isIsGacInstall() == isGacInstall;
         }
     }
 }

Modified: incubator/nmaven/trunk/plugins/maven-test-plugin/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-test-plugin/pom.xml?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/plugins/maven-test-plugin/pom.xml (original)
+++ incubator/nmaven/trunk/plugins/maven-test-plugin/pom.xml Sat May 19 00:47:30 2007
@@ -1,18 +1,37 @@
-<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">
-    <parent>
-        <groupId>org.apache.maven.dotnet.plugins</groupId>
-        <version>0.14-SNAPSHOT</version>
-        <artifactId>maven-dotnet-plugins</artifactId>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
+<?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">
+  <parent>
     <groupId>org.apache.maven.dotnet.plugins</groupId>
-    <artifactId>maven-test-plugin</artifactId>
-    <packaging>maven-plugin</packaging>
     <version>0.14-SNAPSHOT</version>
-    <name>maven-test-plugin</name>
-    <description>
-        Maven Plugin for .NET
-    </description>
+    <artifactId>maven-dotnet-plugins</artifactId>
+  </parent>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.maven.dotnet.plugins</groupId>
+  <artifactId>maven-test-plugin</artifactId>
+  <packaging>maven-plugin</packaging>
+  <version>0.14-SNAPSHOT</version>
+  <name>maven-test-plugin</name>
+  <description>
+    Maven Plugin for .NET
+  </description>
   <distributionManagement>
     <site>
       <id>nmaven-apache-site</id>

Modified: incubator/nmaven/trunk/plugins/maven-test-plugin/src/main/java/org/apache/maven/dotnet/plugin/test/TesterMojo.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-test-plugin/src/main/java/org/apache/maven/dotnet/plugin/test/TesterMojo.java?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/plugins/maven-test-plugin/src/main/java/org/apache/maven/dotnet/plugin/test/TesterMojo.java (original)
+++ incubator/nmaven/trunk/plugins/maven-test-plugin/src/main/java/org/apache/maven/dotnet/plugin/test/TesterMojo.java Sat May 19 00:47:30 2007
@@ -22,6 +22,10 @@
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.project.MavenProject;
 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.repository.ArtifactRepository;
+import org.apache.maven.artifact.repository.DefaultArtifactRepository;
 import org.codehaus.plexus.util.FileUtils;
 
 import java.util.ArrayList;
@@ -33,6 +37,8 @@
 import org.apache.maven.dotnet.executable.ExecutionException;
 import org.apache.maven.dotnet.vendor.Vendor;
 import org.apache.maven.dotnet.executable.CommandExecutor;
+import org.apache.maven.dotnet.artifact.AssemblyRepositoryLayout;
+import org.apache.maven.dotnet.artifact.AssemblyResolver;
 
 
 /**
@@ -91,6 +97,17 @@
      */
     private String testAssemblyPath;
 
+    /**
+     * @component
+     */
+    private AssemblyResolver assemblyResolver;
+
+    /**
+     * @parameter expression="${settings.localRepository}"
+     * @readonly
+     */
+    private String localRepository;
+
 
     public String getExecutableFor( Vendor vendor, String home )
     {
@@ -103,6 +120,11 @@
     {
         String finalName = project.getBuild().getFinalName();
         List<String> commands = new ArrayList<String>();
+        if(testAssemblyPath.startsWith( "/"))//nunit-console thinks *nix file format /home/user/ is an option due to / and fails.
+        {
+            testAssemblyPath = "/" + testAssemblyPath;            
+        }
+
         commands.add( testAssemblyPath + File.separator + project.getArtifactId() + "-test.dll" );
         commands.add( "/xml:" + reportsDirectory + File.separator + "TEST-" + finalName + ".xml" );
 
@@ -135,10 +157,33 @@
             return;
         }
 
+        ArtifactRepository localArtifactRepository =
+            new DefaultArtifactRepository( "local", "file://" + localRepository, new AssemblyRepositoryLayout() );
+        try
+        {
+            assemblyResolver.resolveTransitivelyFor( project, project.getArtifact(), project.getDependencies(),
+                                                     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 );
+        }
+
         List<Artifact> nunitLibs = new ArrayList<Artifact>();
         Set<Artifact> artifacts = project.getDependencyArtifacts();
+
         for ( Artifact artifact : artifacts )
         {
+            if(artifact.getType().startsWith( "gac"))
+            {
+                continue;
+            }
+
             if ( artifact.getGroupId().equals( "NUnit" ) )
             {
                 nunitLibs.add( artifact );
@@ -151,7 +196,7 @@
                 }
                 catch ( IOException e )
                 {
-                    throw new MojoExecutionException( "NMAVEN-1100-002", e );
+                    throw new MojoExecutionException( "NMAVEN-1100-002: Artifact = " + artifact.toString(), e );
                 }
             }
         }
@@ -206,7 +251,6 @@
         List<String> commands = getCommandsFor( null );
         getLog().debug( "NMAVEN-1100-008: " + commands.toString() );
         CommandExecutor commandExecutor = CommandExecutor.Factory.createDefaultCommmandExecutor();
-        //commandExecutor.setLog(getLog());
         try
         {
             commandExecutor.executeCommand( getExecutableFor( null, null ), commands );

Modified: incubator/nmaven/trunk/plugins/maven-vstudio-plugin/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-vstudio-plugin/pom.xml?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/plugins/maven-vstudio-plugin/pom.xml (original)
+++ incubator/nmaven/trunk/plugins/maven-vstudio-plugin/pom.xml Sat May 19 00:47:30 2007
@@ -1,4 +1,21 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?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>
   <parent>
     <groupId>org.apache.maven.dotnet.plugins</groupId>

Modified: incubator/nmaven/trunk/plugins/maven-webapp-plugin/src/main/java/org/apache/maven/dotnet/plugin/webapp/NetAchiverMojo.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-webapp-plugin/src/main/java/org/apache/maven/dotnet/plugin/webapp/NetAchiverMojo.java?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/plugins/maven-webapp-plugin/src/main/java/org/apache/maven/dotnet/plugin/webapp/NetAchiverMojo.java (original)
+++ incubator/nmaven/trunk/plugins/maven-webapp-plugin/src/main/java/org/apache/maven/dotnet/plugin/webapp/NetAchiverMojo.java Sat May 19 00:47:30 2007
@@ -80,8 +80,6 @@
      */
     protected ArtifactMetadataSource src;
 
-    private List excludes;
-
     public void execute()
         throws MojoExecutionException
     {

Modified: incubator/nmaven/trunk/plugins/maven-wsdl-plugin/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-wsdl-plugin/pom.xml?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/plugins/maven-wsdl-plugin/pom.xml (original)
+++ incubator/nmaven/trunk/plugins/maven-wsdl-plugin/pom.xml Sat May 19 00:47:30 2007
@@ -1,3 +1,21 @@
+<?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">
   <parent>
@@ -14,15 +32,6 @@
   <description>
     Maven Plugin for .NET
   </description>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.maven.shared</groupId>
-      <artifactId>maven-plugin-testing-harness</artifactId>
-      <version>1.0-beta-1</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
   <distributionManagement>
     <site>
       <id>nmaven-apache-site</id>

Modified: incubator/nmaven/trunk/plugins/maven-xsd-plugin/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-xsd-plugin/pom.xml?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/plugins/maven-xsd-plugin/pom.xml (original)
+++ incubator/nmaven/trunk/plugins/maven-xsd-plugin/pom.xml Sat May 19 00:47:30 2007
@@ -1,3 +1,21 @@
+<?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">
   <parent>

Modified: incubator/nmaven/trunk/plugins/maven-xsd-plugin/src/main/java/org/apache/maven/dotnet/plugin/xsd/XmlToXsdGeneratorMojo.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-xsd-plugin/src/main/java/org/apache/maven/dotnet/plugin/xsd/XmlToXsdGeneratorMojo.java?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/plugins/maven-xsd-plugin/src/main/java/org/apache/maven/dotnet/plugin/xsd/XmlToXsdGeneratorMojo.java (original)
+++ incubator/nmaven/trunk/plugins/maven-xsd-plugin/src/main/java/org/apache/maven/dotnet/plugin/xsd/XmlToXsdGeneratorMojo.java Sat May 19 00:47:30 2007
@@ -117,7 +117,7 @@
         FileUtils.mkdir( outputDirectory );
         try
         {
-            netExecutableFactory.getNetExecutableFor( vendor, frameworkVersion, profile, project, getCommands(),
+            netExecutableFactory.getNetExecutableFor( vendor, frameworkVersion, profile, getCommands(),
                                                       netHome ).execute();
         }
         catch ( ExecutionException e )

Modified: incubator/nmaven/trunk/plugins/maven-xsd-plugin/src/main/java/org/apache/maven/dotnet/plugin/xsd/XsdGeneratorMojo.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-xsd-plugin/src/main/java/org/apache/maven/dotnet/plugin/xsd/XsdGeneratorMojo.java?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/plugins/maven-xsd-plugin/src/main/java/org/apache/maven/dotnet/plugin/xsd/XsdGeneratorMojo.java (original)
+++ incubator/nmaven/trunk/plugins/maven-xsd-plugin/src/main/java/org/apache/maven/dotnet/plugin/xsd/XsdGeneratorMojo.java Sat May 19 00:47:30 2007
@@ -178,7 +178,7 @@
         FileUtils.mkdir( outputDirectory );
         try
         {
-            netExecutableFactory.getNetExecutableFor( vendor, frameworkVersion, profile, project, getCommands(),
+            netExecutableFactory.getNetExecutableFor( vendor, frameworkVersion, profile, getCommands(),
                                                       netHome ).execute();
         }
         catch ( ExecutionException e )

Modified: incubator/nmaven/trunk/plugins/maven-xsp-plugin/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-xsp-plugin/pom.xml?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/plugins/maven-xsp-plugin/pom.xml (original)
+++ incubator/nmaven/trunk/plugins/maven-xsp-plugin/pom.xml Sat May 19 00:47:30 2007
@@ -1,3 +1,21 @@
+<?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">
   <parent>

Modified: incubator/nmaven/trunk/plugins/maven-xsp-plugin/src/main/java/org/apache/maven/dotnet/plugin/xsp/XspStarterMojo.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-xsp-plugin/src/main/java/org/apache/maven/dotnet/plugin/xsp/XspStarterMojo.java?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/plugins/maven-xsp-plugin/src/main/java/org/apache/maven/dotnet/plugin/xsp/XspStarterMojo.java (original)
+++ incubator/nmaven/trunk/plugins/maven-xsp-plugin/src/main/java/org/apache/maven/dotnet/plugin/xsp/XspStarterMojo.java Sat May 19 00:47:30 2007
@@ -74,7 +74,7 @@
         {
             Runnable executable = (Runnable) netExecutableFactory.getNetExecutableFor( Vendor.MONO.getVendorName(),
                                                                                        frameworkVersion, "XSP:START",
-                                                                                       project, new ArrayList<String>(),
+                                                                                       new ArrayList<String>(),
                                                                                        netHome );
             Thread thread = new Thread( executable );
             getPluginContext().put( "xspThread", thread);

Modified: incubator/nmaven/trunk/plugins/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/pom.xml?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/plugins/pom.xml (original)
+++ incubator/nmaven/trunk/plugins/pom.xml Sat May 19 00:47:30 2007
@@ -1,5 +1,27 @@
-<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">
+<?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">
+  <parent>
+    <groupId>org.apache.maven.dotnet</groupId>
+    <version>0.14-SNAPSHOT</version>
+    <artifactId>dotnet-project</artifactId>
+  </parent>
   <modelVersion>4.0.0</modelVersion>
   <groupId>org.apache.maven.dotnet.plugins</groupId>
   <artifactId>maven-dotnet-plugins</artifactId>
@@ -10,16 +32,16 @@
     <module>maven-compile-plugin</module>
     <module>maven-install-plugin</module>
     <module>maven-link-plugin</module>
+    <module>maven-mojo-generator-plugin</module>
     <module>maven-resgen-plugin</module>
     <module>maven-resolver-plugin</module>
-    <module>maven-settings-plugin</module>
-    <module>maven-solution-plugin</module>
     <module>maven-test-plugin</module>
-    <module>maven-vstudio-plugin</module>
+    <module>maven-vsinstaller-plugin</module>    
     <module>maven-webapp-plugin</module>
     <module>maven-xsd-plugin</module>
     <module>maven-xsp-plugin</module>
-    <module>maven-wsdl-plugin</module>
+    <module>maven-wsdl-plugin</module> 
+    <module>maven-deploy-plugin</module>
   </modules>
   <dependencies>
     <dependency>
@@ -37,6 +59,11 @@
       <artifactId>dotnet-artifact</artifactId>
       <version>0.14-SNAPSHOT</version>
     </dependency>
+    <dependency>
+      <groupId>org.apache.maven.dotnet</groupId>
+      <artifactId>dotnet-plugin</artifactId>
+      <version>0.14-SNAPSHOT</version>
+    </dependency>
   </dependencies>
   <build>
     <pluginManagement>
@@ -62,6 +89,14 @@
           <target>1.5</target>
         </configuration>
       </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <configuration>
+          <reportFormat>plain</reportFormat>
+        </configuration>
+      </plugin>
+
       <!--
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
@@ -80,4 +115,4 @@
       -->
     </plugins>
   </build>
-</project>
\ No newline at end of file
+</project>

Modified: incubator/nmaven/trunk/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/pom.xml?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/pom.xml (original)
+++ incubator/nmaven/trunk/pom.xml Sat May 19 00:47:30 2007
@@ -1,12 +1,53 @@
-<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>
-    <artifactId>dotnet</artifactId>
-    <packaging>pom</packaging>
-    <version>0.14-SNAPSHOT</version>
-    <name>dotnet</name>
-    <modules>
-        <module>components</module>
-        <module>plugins</module>
-    </modules>
+<?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>org.apache.maven.dotnet</groupId>
+  <artifactId>dotnet-project</artifactId>
+  <packaging>pom</packaging>
+  <version>0.14-SNAPSHOT</version>
+  <name>dotnet</name>
+  <modules>
+    <module>components</module>
+    <module>plugins</module>
+  </modules>
+  <repositories>
+    <repository>
+      <id>apache.org</id>
+      <name>Maven Snapshots</name>
+      <url>http://people.apache.org/repo/m2-snapshot-repository</url>
+      <releases>
+        <enabled>false</enabled>
+      </releases>
+      <snapshots>
+        <enabled>true</enabled>
+      </snapshots>
+    </repository>
+  </repositories>
+  <distributionManagement>
+    <snapshotRepository>
+      <uniqueVersion>true</uniqueVersion>
+      <id>snapshot repo</id>
+      <name>snapshot repo</name>
+      <url>file://${deploy.directory}</url>
+      <layout>default</layout>
+    </snapshotRepository>
+  </distributionManagement>
 </project>

Modified: incubator/nmaven/trunk/site/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/site/pom.xml?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/site/pom.xml (original)
+++ incubator/nmaven/trunk/site/pom.xml Sat May 19 00:47:30 2007
@@ -35,7 +35,7 @@
     <url>https://svn.apache.org/repos/asf/incubator/nmaven/</url>
     <connection>scm:svn:https://svn.apache.org/repos/asf/incubator/nmaven/</connection>
     <developerConnection>
-      scm:svn:https://svn.apache.org/repos/asf/incubator/nmaven/</developerConnection>
+      scm:svn:https://svn.apache.org/repos/asf/incubator/nmaven/trunk</developerConnection>
     <tag>REL_0_14_SNAPSHOT</tag>
   </scm>
   <organization>
@@ -46,14 +46,12 @@
     <system>JIRA Bugtracking</system>
     <url>http://jira.codehaus.org/browse/NMAVEN</url>
   </issueManagement>
-
   <licenses>
     <license>
       <name>Apache 2.0</name>
       <url>LICENSE.txt</url>
     </license>
   </licenses>
-
   <developers>
     <developer>
       <name>Brett Porter</name>

Modified: incubator/nmaven/trunk/site/src/site/apt/adding-executables.apt
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/site/src/site/apt/adding-executables.apt?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/site/src/site/apt/adding-executables.apt (original)
+++ incubator/nmaven/trunk/site/src/site/apt/adding-executables.apt Sat May 19 00:47:30 2007
@@ -7,22 +7,28 @@
  [[1]] An executable plugin that exists in a predetermined place on the file system. These are typically executables
  that are part of the .NET framework or part of some other 3rd party program.
 
- [[2]] An executable plugin that is resolved from a Maven repo. The NMaven .NET plugins, nmaven-utility-rex and nmaven-utility-settings
+ [[2]] An executable plugin that is resolved from a Maven repo. The NMaven .NET plugins NMaven.Plugin.Resx and NMaven.Plugin.Settings
  fall into this category.
 
  []
 
  How you handle each case is slightly different. In the first case, where the executable is already installed on the
  file system, you add support for the executable by adding an entry
- in the {{{components/dotnet-model/executable-plugins/executable-plugin.html}executable-plugins.xml}} file. Take the example below where XSD is part of the .NET framework.
+ in the {{{components/dotnet-model/executable-plugins/executable-plugin.html}executable-plugins.xml}} file. Take the
+ example below where XSD is part of the .NET framework.
  The MS:XSD:SCHEMA entry uses a standard DefaultNetExecutable implementation. The <<executable>>
  tag denotes the command as it is executed from the commandline, in this case xsd.  The <<commandFilter>> gives a list
  of command options that the plugin will accept from the invoking AbstractMojo implementation.
 
- NMaven will look at the <<vendor>> and <<framework>> to see if the xsd executable exists within the framework's install root.
- If it does, then it constructs the absolute path. If it does not find the file, it will execute without a path (so
+ NMaven will look at the <<vendor>> and <<frameworkVersion>> to see if the xsd executable exists within the framework's install
+ or SDK root for either Microsoft of Mono, depending on which vendor you are using to build. If the executable does exist in one of
+ these locations, then it constructs the absolute path. In the xsd case, on windows NMaven may find the xsd file at:
+ C:\Program Files\Microsoft.NET\SDK\v2.0\Bin or C:\Program Files\Mono-1.2.3.1\bin.
+ If NMaven does not find the file, it will execute without a path (so
  in this case you will need to make sure that the executable exists within the system path).
 
+ Sample executable plugins entry:
+
 +----+
 
  <executablePlugins>
@@ -78,6 +84,120 @@
 
 +----+
 
+* Adding an executable plugin that exists in a predetermined place
+
+ To create an executable plugin that exists in a predetermined place, do the following:
+
+ [[1]] Create your module directory
+
+ [[2]] From the root of your module directory, type:
+
++----+
+mvn archetype:create
+  -DgroupId=[your project's group id]
+  -DartifactId=[your project's artifact id]
+  -DarchetypeArtifactId=maven-archetype-netexecutable
++----+
+
+ [[3]] Make sure to add an entry in the net-executables.xml file, located within the dotnet-core module. Replace each
+  param: ${vendor}, ${exe}, .. with the appropriate values.
+
++----+
+  <executablePlugin>
+    <identifier>${ID}</identifier>
+    <pluginClass>org.apache.maven.dotnet.executable.impl.DefaultNetExecutable</pluginClass>
+    <vendor>${vendor}</vendor>
+    <executable>${exe}</executable>
+    <profile>${profile}</profile>
+    <frameworkVersions>
+      <frameworkVersion>2.0.50727</frameworkVersion>
+      <frameworkVersion>1.1.4322</frameworkVersion>
+    </frameworkVersions>
+    <platforms>
+      <platform>
+        <operatingSystem>Windows</operatingSystem>
+      </platform>
+    </platforms>
+  </executablePlugin>
++----+
+
+ [[4]]  Add profile <<ADD_PROFILE>> to the meta-data of the profile field of this class. This profile name should match
+  the ${profile} within the net-executables.xml.
+
+ [[5]] Add any special commands to the getCommands method.
+
+ [[6]]  Recompile the dotnet-core component.
+
+ [[7]]  Rename this class and install this Mojo component.
+
++----+
+public class NetExecutableMojo
+    extends AbstractMojo
+{
+    /**
+     * @component
+     */
+    private org.apache.maven.dotnet.executable.NetExecutableFactory netExecutableFactory;
+
+    /**
+     * The maven project.
+     *
+     * @parameter expression="${project}"
+     * @required
+     */
+    private MavenProject project;
+
+    /**
+     * The Vendor for the executable.
+     *
+     * @parameter expression="${vendor}"
+     */
+    private String vendor;
+
+    /**
+     * @parameter expression = "${frameworkVersion}"
+     */
+    private String frameworkVersion;
+
+    /**
+     * The profile that the executable should use.
+     *
+     * @parameter expression = "${profile}" default-value = "<<ADD_PROFILE>>"
+     */
+    private String profile;
+
+    public void execute()
+        throws MojoExecutionException
+    {
+        try
+        {
+            netExecutableFactory.getNetExecutableFor( vendor, frameworkVersion,
+                profile, getCommands(), null ).execute();
+        }
+        catch ( ExecutionException e )
+        {
+            throw new MojoExecutionException( "NMAVEN-xxx-000: Unable to execute: Vendor " + vendor +
+                ", frameworkVersion = " + frameworkVersion + ", Profile = " + profile, e );
+        }
+        catch ( PlatformUnsupportedException e )
+        {
+            throw new MojoExecutionException( "NMAVEN-xxx-001: Platform Unsupported: Vendor " + vendor +
+                ", frameworkVersion = " + frameworkVersion + ", Profile = " + profile, e );
+        }
+    }
+
+    public List<String> getCommands()
+        throws MojoExecutionException
+    {
+        List<String> commands = new ArrayList<String>();
+        //<<ADD COMMANDS HERE>>
+        return commands;
+    }
+}
++----+
+
+* Creating an executable plugin that is resolved from a Maven repo
+
  In the second case, where the executable is not already installed, you add an entry within the net-dependencies.xml file.
  This file tells NMaven how to resolve the executable from a Maven repository.
 
@@ -106,8 +226,8 @@
   you should use the NetExecutableFactory.getNetExecutableFor method within the Mojo's execute method.
 
 +----+
-             netExecutableFactory.getNetExecutableFor(vendor, frameworkVersion, profile,
-                    project, getCommands(), null).execute();
+  netExecutableFactory.getNetExecutableFor(vendor, frameworkVersion, profile,
+    project, getCommands(), null).execute();
 +----+
 
 
@@ -115,6 +235,8 @@
   you should use the NetExecutableFactory.getNetExecutableFromRepository method within the Mojo's execute method.
 
 +----+
-              netExecutableFactory.getNetExecutableFromRepository("NMaven.Utility.ResX", "resx",
-                    vendorInfo, project, localRepository, commands).execute();
+  netExecutableFactory.getNetExecutableFromRepository("NMaven.Plugin.ResX", "resx",
+    vendorInfo, project, localRepository, commands).execute();
 +----+
+
+

Modified: incubator/nmaven/trunk/site/src/site/apt/features.apt
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/site/src/site/apt/features.apt?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/site/src/site/apt/features.apt (original)
+++ incubator/nmaven/trunk/site/src/site/apt/features.apt Sat May 19 00:47:30 2007
@@ -10,9 +10,9 @@
 
  * NUnit support
 
- * Resource generation and embedding
+ * Writing Maven Plugins in .NET
 
- * Autmomatic Generation of AssemblyInfo.* based on language and contents of the pom.
+ * Resource generation and embedding
 
  * Web Application Packaging and Deployment
 

Modified: incubator/nmaven/trunk/site/src/site/apt/getting-started.apt
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/site/src/site/apt/getting-started.apt?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/site/src/site/apt/getting-started.apt (original)
+++ incubator/nmaven/trunk/site/src/site/apt/getting-started.apt Sat May 19 00:47:30 2007
@@ -28,13 +28,23 @@
 
   [[1]] {{{ http://java.sun.com/javase/downloads/index_jdk5.jsp} JDK 5.0 Update x}}
 
-  [[2]] {{{http://msdn2.microsoft.com/en-us/netframework/default.aspx} Microsoft .NET Framework}} (1.1+)
-  OR {{{http://www.mono-project.com} Mono}} (1.1.13+ for Windows and 1.1.18+ for Linux)
+  [[2]] {{{http://msdn2.microsoft.com/en-us/netframework/default.aspx} Microsoft .NET Framework}} (2.0+)
+  OR {{{http://www.mono-project.com} Mono}} (1.1.13+ for Windows and 1.1.18+ for Linux). Note that the 2.0+ framework
+  (either MONO or Microsoft) is required to run NMaven but you can still target 1.1 for your builds provided that the 1.1 version
+  is installed.
 
   [[3]] Subversion client 1.3+ (although 1.4 will soon be required). Click here for
  {{{ http://subversion.tigris.org/servlets/ProjectDocumentView?documentID=35379&showInfo=true} Windows Subversion Client}}.
 
-  [[4]] {{{http://nunit.org/index.php?p=download} NUnit 2.2+}}
+  [[4]] {{{http://nunit.org/index.php?p=download} NUnit 2.2+}}.
+
+  [[5]] {{{http://maven.apache.org/download.html} Maven 2.0.5 or higher}}
+
+  [[]]
+
+  If you are planning on using NMaven with Visual Studio 2005 you will also need VS installed
+  prior to building NMaven. Since NMaven does not directly use any Sharp Develop APIs (yet), you do not need Sharp Develop
+  installed prior to a build.
 
 ** Bootstrap Build
 
@@ -54,13 +64,15 @@
    [[c]] If using Mono on Windows, both the csc executable and the nunit-console executable are located within the same path:
    typically something like "C:\Program Files\Mono-1.1.18\bin"
 
-  [[3]] Execute bootstrap-build.bat (or bootstrap-build.sh) from the nmaven directory.
+  [[3]] Execute bootstrap-build.bat (or bootstrap-build.sh) from the nmaven directory. If you want to compile with
+  Visual Studio 2005 support execute: bootstrap-build.bat -DVisualStudio2005
 
  During step (1), you may receive an error similar to the following:
 
 +----+
 
- svn: This client is too old to work with working copy 'nmaven-utility-resx\src\main\csharp'; please get a newer Subversion client
+ svn: This client is too old to work with working copy 'nmaven-utility-resx\src\main\csharp';
+ please get a newer Subversion client
 +----+
 
  In this case will need to upgrade to subversion 1.4 or higher.
@@ -120,11 +132,14 @@
 *-------------------------+--------------------------------------------+
 
  Since the pom version is mapped to the assembly manifest, you MUST follow the 0.0.0.0 version convention specified by
- Microsoft (or the build will fail).
+ Microsoft (or the build will fail). You may, however, optionally add -SNAPSHOT to the version. Valid versions would include
+ 1.3.4 or 1.2-SNAPSHOT. 1.2-RC1 is invalid because NMaven would not recognize the RC1 identifier. The SNAPSHOT
+ within the version will not be included within the file name, but rather is contained both within the InformationalVersion attribute of the
+ AssemblyInfo class and within the pom.xml file.
 
 * {Unit Testing with NUnit}
 
- Add the org.nunit dependency to your pom.xml (as shown below). You
+ Add the NUnit dependency to your pom.xml (as shown below). You
  will only need to add the nmaven-test-plugin to the pom under the following circumstances:
 
   [[1]] If you do not add the nunit bin to your path;
@@ -146,19 +161,16 @@
 	        <type>module</type>
             <version>2.0.0.0</version>
         </dependency>
-
         <dependency>
           <groupId>NUnit</groupId>
-          <artifactId>nunit.framework</artifactId>
+          <artifactId>NUnit.Framework</artifactId>
           <version>2.2.8.0</version>
           <type>library</type>
         </dependency>
     </dependencies>
-
     <build>
         <sourceDirectory>src/main/csharp</sourceDirectory>
         <testSourceDirectory>src/test/csharp</testSourceDirectory>
-
         <plugins>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
@@ -218,17 +230,16 @@
         <artifactId>maven-compile-plugin</artifactId>
         <extensions>true</extensions>
         <configuration>
-            <language>C_SHARP</language>
-            <vendor>MONO</vendor>
             <frameworkVersion>1.1.4322</frameworkVersion>
-            <testLanguage>VB</testLanguage>
-            <testVendor>MICROSOFT</testVendor>
             <testFrameworkVersion>1.1.4322</testFrameworkVersion>
         </configuration>
     </plugin>
 </plugins>
 
 +----+
+
+ You also have the option of changing changing the framework version by modifying the default setup within the nmaven-settings.xml file. See
+ {{{getting-started.html#Using NMaven Settings File}Using NMaven Settings File}}.
 
  To disable the NUnit tests, add the system property -Dmaven.test.skip=true to the command line. You can also disable
  tests by adding \<skipTests>true\</skipTests> to the configuration above.

Modified: incubator/nmaven/trunk/site/src/site/apt/index.apt
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/site/src/site/apt/index.apt?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/site/src/site/apt/index.apt (original)
+++ incubator/nmaven/trunk/site/src/site/apt/index.apt Sat May 19 00:47:30 2007
@@ -5,7 +5,7 @@
  leverages Maven (and its plugin architecture) for the build
  lifecycle, making it a small, compiler-plugin-framework on top of the larger Maven build-framework.
 
-RoadMap
+Road Map
 
  The primary goal of NMaven is to provide a common Maven build environment across .NET compilers (C#, VB),
  vendors (Microsoft, Novell, DotGNU) and platforms (Windows, Linux). Specific, near-term goals include:
@@ -17,8 +17,6 @@
  * Support for Classifiers
 
  * IDE Support: Visual Studio and SharpDevelop
-
- * .NET Plugin Support (for writing Maven plugins in .NET).
 
 Reporting Bugs/Requesting Features
 

Modified: incubator/nmaven/trunk/site/src/site/site.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/site/src/site/site.xml?view=diff&rev=539709&r1=539708&r2=539709
==============================================================================
--- incubator/nmaven/trunk/site/src/site/site.xml (original)
+++ incubator/nmaven/trunk/site/src/site/site.xml Sat May 19 00:47:30 2007
@@ -19,7 +19,12 @@
       <item name="Plugins" href="/plugins/index.html"/>
       <item name="Configuration" href="environment-configuration.html"/>
     </menu>
+    <menu name="IDE Integration">
+      <item name="Visual Studio" href="/ide/visual-studio.html"/>
+      <item name="Sharp Develop" href="/ide/sharp-develop.html"/>
+    </menu>
     <menu name="Developer Documentation">
+      <item name="Writing .NET Mojos" href="net-plugins.html"/>
       <item name="Adding Compilers" href="adding-plugins.html"/>
       <item name="Adding Executables" href="adding-executables.html"/>
       <item name="JavaDocs" href="apidocs/index.html"/>



Mime
View raw message