You are viewing a plain text version of this content. The canonical link for it is here.
Posted to npanday-commits@incubator.apache.org by lc...@apache.org on 2011/12/15 17:07:13 UTC

svn commit: r1214869 [9/11] - in /incubator/npanday/trunk: ./ archetypes/maven-archetype-netexecutable/src/main/resources/archetype-resources/src/main/java/ components/ components/dotnet-artifact/ components/dotnet-artifact/src/main/java/npanday/artifa...

Modified: incubator/npanday/trunk/plugins/maven-ilmerge-plugin/pom.xml
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/plugins/maven-ilmerge-plugin/pom.xml?rev=1214869&r1=1214868&r2=1214869&view=diff
==============================================================================
--- incubator/npanday/trunk/plugins/maven-ilmerge-plugin/pom.xml (original)
+++ incubator/npanday/trunk/plugins/maven-ilmerge-plugin/pom.xml Thu Dec 15 17:07:06 2011
@@ -1,39 +1,39 @@
-<?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.npanday.plugins</groupId>
-    <version>1.5.0-incubating-SNAPSHOT</version>  
-    <artifactId>maven-dotnet-plugins</artifactId> 
-  </parent>  
-  <modelVersion>4.0.0</modelVersion>  
-  <artifactId>maven-ilmerge-plugin</artifactId>  
-  <packaging>maven-plugin</packaging>  
-  <name>NPanday :: ILMerge Maven Plugin</name>  
-  <description>Maven Plugin for .NET: Merges assemblies</description>
-  <dependencies>
-    <dependency>
-      <groupId>org.codehaus.plexus</groupId>
-      <artifactId>plexus-utils</artifactId>
-      <version>${plexus.utils.version}</version>
-    </dependency>
-  </dependencies>
-</project>
+<?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.npanday.plugins</groupId>
+    <version>1.5.0-incubating-SNAPSHOT</version>  
+    <artifactId>maven-dotnet-plugins</artifactId> 
+  </parent>  
+  <modelVersion>4.0.0</modelVersion>  
+  <artifactId>maven-ilmerge-plugin</artifactId>  
+  <packaging>maven-plugin</packaging>  
+  <name>NPanday :: ILMerge Maven Plugin</name>  
+  <description>Maven Plugin for .NET: Merges assemblies</description>
+  <dependencies>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-utils</artifactId>
+      <version>${plexus.utils.version}</version>
+    </dependency>
+  </dependencies>
+</project>

Modified: incubator/npanday/trunk/plugins/maven-ilmerge-plugin/src/main/java/npanday/plugin/ilmerge/AssemblyMerger.java
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/plugins/maven-ilmerge-plugin/src/main/java/npanday/plugin/ilmerge/AssemblyMerger.java?rev=1214869&r1=1214868&r2=1214869&view=diff
==============================================================================
--- incubator/npanday/trunk/plugins/maven-ilmerge-plugin/src/main/java/npanday/plugin/ilmerge/AssemblyMerger.java (original)
+++ incubator/npanday/trunk/plugins/maven-ilmerge-plugin/src/main/java/npanday/plugin/ilmerge/AssemblyMerger.java Thu Dec 15 17:07:06 2011
@@ -18,38 +18,34 @@
  */
 package npanday.plugin.ilmerge;
 
-import java.io.File;
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
 import npanday.ArtifactType;
-import npanday.ArtifactTypeHelper;
 import npanday.PlatformUnsupportedException;
+import npanday.executable.ExecutableRequirement;
 import npanday.executable.ExecutionException;
-import npanday.executable.compiler.KeyInfo;
-import npanday.executable.compiler.CompilerCapability;
 import npanday.executable.compiler.CompilerConfig;
 import npanday.executable.compiler.CompilerExecutable;
 import npanday.executable.compiler.CompilerRequirement;
+import npanday.executable.compiler.KeyInfo;
 import npanday.vendor.Vendor;
-import npanday.vendor.VendorFactory;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
-import org.codehaus.plexus.util.DirectoryScanner;
 import org.codehaus.plexus.util.FileUtils;
 
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.LinkedHashSet;
+import java.util.List;
+import java.util.Set;
+
 
 /**
  * Merges assemblies into unified assembly.
@@ -232,10 +228,9 @@ public class AssemblyMerger extends Abst
             // determine how to set /lib:[assemblyPath]
             CompilerExecutable compilerExecutable = netExecutableFactory.getCompilerExecutableFor(getCompilerRequirement(),
                     getCompilerConfig(),
-                    project,
-                    profileAssemblyPath);
+                    project);
 
-            String assemblyPath = compilerExecutable.getAssemblyPath();
+            File assemblyPath = compilerExecutable.getAssemblyPath();
             if ( assemblyPath == null )
             {
                  throw new MojoExecutionException( "NPANDAY-1501-007: Unable to determine assembly path, perhaps missing profileAssemblyPath?" );
@@ -341,7 +336,7 @@ public class AssemblyMerger extends Abst
             }
 
             List commands = new ArrayList();
-            commands.add("/lib:" + assemblyPath);
+            commands.add("/lib:" + assemblyPath.toString());
 
             for ( String searchDirectoryPath : searchDirectoryPaths )
             {
@@ -386,8 +381,7 @@ public class AssemblyMerger extends Abst
             }
 
             outputDirectory.mkdirs();
-            netExecutableFactory.getNetExecutableFor( vendor, frameworkVersion, executable, commands,
-                                                      netHome ).execute();
+            netExecutableFactory.getNetExecutableFor( new ExecutableRequirement( vendor, null, frameworkVersion, executable ), commands, netHome ).execute();
 
             if ( mergedArtifactTempDirectory != null )
             {
@@ -461,34 +455,14 @@ public class AssemblyMerger extends Abst
 
     protected CompilerRequirement getCompilerRequirement() throws MojoExecutionException
     {
-         //Requirement
-        CompilerRequirement compilerRequirement = CompilerRequirement.Factory.createDefaultCompilerRequirement();
-        compilerRequirement.setLanguage( language );
-        compilerRequirement.setFrameworkVersion( frameworkVersion );
-        compilerRequirement.setProfile( profile );
-        compilerRequirement.setVendorVersion( vendorVersion );
-        try
-        {
-            if ( vendor != null )
-            {
-                compilerRequirement.setVendor( VendorFactory.createVendorFromName( vendor ) );
-            }
-        }
-        catch ( PlatformUnsupportedException e )
-        {
-            throw new MojoExecutionException( "NPANDAY-900-001: Unknown Vendor: Vendor = " + vendor, e );
-        }
-
-        return compilerRequirement;
-
-
+        return new CompilerRequirement(vendor, vendorVersion, frameworkVersion, profile, language);
     }
 
     protected CompilerConfig getCompilerConfig()  throws MojoExecutionException
     {
 
           //Config
-        CompilerConfig compilerConfig = (CompilerConfig) CompilerConfig.Factory.createDefaultExecutableConfig();
+        CompilerConfig compilerConfig = new CompilerConfig();
         compilerConfig.setLocalRepository( localRepository );
 
 
@@ -517,6 +491,9 @@ public class AssemblyMerger extends Abst
         }
         compilerConfig.setArtifactType( artifactType );
 
+        if (profileAssemblyPath != null){
+            compilerConfig.setAssemblyPath( profileAssemblyPath );
+        }
 
         return compilerConfig;
     }

Added: incubator/npanday/trunk/plugins/maven-ilmerge-plugin/src/main/resources/META-INF/npanday/executable-plugins.xml
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/plugins/maven-ilmerge-plugin/src/main/resources/META-INF/npanday/executable-plugins.xml?rev=1214869&view=auto
==============================================================================
--- incubator/npanday/trunk/plugins/maven-ilmerge-plugin/src/main/resources/META-INF/npanday/executable-plugins.xml (added)
+++ incubator/npanday/trunk/plugins/maven-ilmerge-plugin/src/main/resources/META-INF/npanday/executable-plugins.xml Thu Dec 15 17:07:06 2011
@@ -0,0 +1,83 @@
+<!--
+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.
+-->
+<executablePlugins>
+   <executablePlugin>
+    <identifier>MS:ILMERGE</identifier>
+    <pluginClass>npanday.executable.impl.DefaultNetExecutable</pluginClass>
+    <vendor>MICROSOFT</vendor>
+    <executable>ILMerge</executable>
+    <profile>ILMERGE</profile>
+    <frameworkVersions>
+      <frameworkVersion>4.0</frameworkVersion>
+      <frameworkVersion>3.5</frameworkVersion>
+      <frameworkVersion>2.0.50727</frameworkVersion>
+    </frameworkVersions>
+    <platforms>
+      <platform>
+        <operatingSystem>Windows</operatingSystem>
+      </platform>
+    </platforms>
+  </executablePlugin>
+  <executablePlugin>
+    <identifier>MS:ILREPACK</identifier>
+    <pluginClass>npanday.executable.impl.DefaultNetExecutable</pluginClass>
+    <vendor>MICROSOFT</vendor>
+    <executable>ILRepack</executable>
+    <profile>ILREPACK</profile>
+    <frameworkVersions>
+      <frameworkVersion>4.0</frameworkVersion>
+      <frameworkVersion>3.5</frameworkVersion>
+      <frameworkVersion>2.0.50727</frameworkVersion>
+    </frameworkVersions>
+    <platforms>
+      <platform>
+        <operatingSystem>Windows</operatingSystem>
+      </platform>
+    </platforms>
+  </executablePlugin>
+  <executablePlugin>
+    <identifier>MONO:ILREPACK</identifier>
+    <pluginClass>npanday.executable.impl.DefaultNetExecutable</pluginClass>
+    <vendor>MONO</vendor>
+    <executable>ILRepack</executable>
+    <profile>ILREPACK</profile>
+    <frameworkVersions>
+      <frameworkVersion>4.0</frameworkVersion>
+      <frameworkVersion>3.5</frameworkVersion>
+      <frameworkVersion>2.0.50727</frameworkVersion>
+    </frameworkVersions>
+    <platforms>
+      <platform>
+        <operatingSystem>Windows</operatingSystem>
+      </platform>
+      <platform>
+        <operatingSystem>Mac OS X</operatingSystem>
+      </platform>
+      <platform>
+        <operatingSystem>Linux</operatingSystem>
+      </platform>
+      <platform>
+        <operatingSystem>Solaris</operatingSystem>
+      </platform>
+      <platform>
+        <operatingSystem>FreeBSD</operatingSystem>
+      </platform>
+    </platforms>
+  </executablePlugin>
+</executablePlugins>

Modified: incubator/npanday/trunk/plugins/maven-install-plugin/src/main/java/npanday/plugin/install/FileInstallerMojo.java
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/plugins/maven-install-plugin/src/main/java/npanday/plugin/install/FileInstallerMojo.java?rev=1214869&r1=1214868&r2=1214869&view=diff
==============================================================================
--- incubator/npanday/trunk/plugins/maven-install-plugin/src/main/java/npanday/plugin/install/FileInstallerMojo.java (original)
+++ incubator/npanday/trunk/plugins/maven-install-plugin/src/main/java/npanday/plugin/install/FileInstallerMojo.java Thu Dec 15 17:07:06 2011
@@ -18,19 +18,18 @@
  */
 package npanday.plugin.install;
 
+import npanday.artifact.ArtifactContext;
+import npanday.dao.ProjectDao;
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.factory.ArtifactFactory;
+import org.apache.maven.artifact.installer.ArtifactInstallationException;
+import org.apache.maven.artifact.resolver.ArtifactResolver;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.project.MavenProject;
 
 import java.io.File;
 
-import npanday.artifact.ArtifactContext;
-import npanday.dao.ProjectDao;
-import org.apache.maven.artifact.installer.ArtifactInstallationException;
-import org.apache.maven.artifact.resolver.ArtifactResolver;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.factory.ArtifactFactory;
-
 /**
  * Installs assembly file into the local repository
  *
@@ -99,11 +98,6 @@ public class FileInstallerMojo
     private ArtifactContext artifactContext;
 
     /**
-     * @component
-     */
-    private npanday.NPandayRepositoryRegistry npandayRegistry;
-
-    /**
      * The artifact factory component, which is used for creating artifacts.
      *
      * @component

Modified: incubator/npanday/trunk/plugins/maven-install-plugin/src/main/java/npanday/plugin/install/InstallerMojo.java
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/plugins/maven-install-plugin/src/main/java/npanday/plugin/install/InstallerMojo.java?rev=1214869&r1=1214868&r2=1214869&view=diff
==============================================================================
--- incubator/npanday/trunk/plugins/maven-install-plugin/src/main/java/npanday/plugin/install/InstallerMojo.java (original)
+++ incubator/npanday/trunk/plugins/maven-install-plugin/src/main/java/npanday/plugin/install/InstallerMojo.java Thu Dec 15 17:07:06 2011
@@ -19,26 +19,30 @@
 package npanday.plugin.install;
 
 import npanday.PathUtil;
+import npanday.ArtifactType;
+import npanday.ArtifactTypeHelper;
+import npanday.PlatformUnsupportedException;
+import npanday.artifact.ApplicationConfig;
+import npanday.artifact.ArtifactContext;
+import npanday.dao.Project;
+import npanday.dao.ProjectDao;
 import npanday.dao.ProjectDaoException;
-import org.apache.maven.plugin.AbstractMojo;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.artifact.installer.ArtifactInstallationException;
+import npanday.dao.ProjectDependency;
+import npanday.executable.ExecutableRequirement;
+import npanday.executable.ExecutionException;
+import npanday.executable.NetExecutable;
 import org.apache.maven.artifact.factory.ArtifactFactory;
+import org.apache.maven.artifact.installer.ArtifactInstallationException;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.resolver.ArtifactResolver;
-import npanday.artifact.ArtifactContext;
-import npanday.executable.NetExecutable;
-import npanday.executable.ExecutionException;
-import npanday.PlatformUnsupportedException;
-import npanday.dao.Project;
-import npanday.dao.ProjectDependency;
-import npanday.dao.ProjectDao;
 import org.apache.maven.model.Dependency;
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.project.MavenProject;
 
 import java.io.File;
-import java.util.List;
 import java.util.ArrayList;
+import java.util.List;
 
 /**
  * Installs assembly into the local repository
@@ -144,9 +148,8 @@ public class InstallerMojo
             {
                 try
                 {
-                    NetExecutable netExecutable = netExecutableFactory.getNetExecutableFor( vendor, frameworkVersion,
-                                                                                            profile, getCommands(),
-                                                                                            null );
+                    NetExecutable netExecutable = netExecutableFactory.getNetExecutableFor(
+                        new ExecutableRequirement( vendor, null, frameworkVersion, profile ), getCommands(), null );
                     netExecutable.execute();
                     getLog().info( "NPANDAY-xxx-003: Installed Assembly into GAC: Assembly = " +
                         project.getArtifact().getFile() + ",  Vendor = " + netExecutable.getVendor().getVendorName() );

Modified: incubator/npanday/trunk/plugins/maven-link-plugin/src/main/java/npanday/plugin/link/LinkerMojo.java
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/plugins/maven-link-plugin/src/main/java/npanday/plugin/link/LinkerMojo.java?rev=1214869&r1=1214868&r2=1214869&view=diff
==============================================================================
--- incubator/npanday/trunk/plugins/maven-link-plugin/src/main/java/npanday/plugin/link/LinkerMojo.java (original)
+++ incubator/npanday/trunk/plugins/maven-link-plugin/src/main/java/npanday/plugin/link/LinkerMojo.java Thu Dec 15 17:07:06 2011
@@ -19,15 +19,16 @@
 
 package npanday.plugin.link;
 
+import npanday.PlatformUnsupportedException;
+import npanday.executable.ExecutableRequirement;
+import npanday.executable.ExecutionException;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
-import npanday.executable.ExecutionException;
-import npanday.PlatformUnsupportedException;
 import org.apache.maven.project.MavenProject;
 
 import java.io.File;
-import java.util.List;
 import java.util.ArrayList;
+import java.util.List;
 
 /**
  * Link modules into assemblies. 
@@ -97,8 +98,9 @@ public class LinkerMojo
 
         try
         {
-            netExecutableFactory.getNetExecutableFor( vendor, frameworkVersion, profile, getCommands(),
-                                                      null ).execute();
+            netExecutableFactory.getNetExecutableFor(
+                new ExecutableRequirement( vendor, null, frameworkVersion, profile ), getCommands(), null )
+                .execute();
         }
         catch ( ExecutionException e )
         {

Added: incubator/npanday/trunk/plugins/maven-link-plugin/src/main/resources/META-INF/npanday/executable-plugins.xml
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/plugins/maven-link-plugin/src/main/resources/META-INF/npanday/executable-plugins.xml?rev=1214869&view=auto
==============================================================================
--- incubator/npanday/trunk/plugins/maven-link-plugin/src/main/resources/META-INF/npanday/executable-plugins.xml (added)
+++ incubator/npanday/trunk/plugins/maven-link-plugin/src/main/resources/META-INF/npanday/executable-plugins.xml Thu Dec 15 17:07:06 2011
@@ -0,0 +1,68 @@
+<!--
+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.
+-->
+<executablePlugins>
+  <executablePlugin>
+    <identifier>MS:AL</identifier>
+    <pluginClass>npanday.executable.impl.DefaultNetExecutable</pluginClass>
+    <vendor>MICROSOFT</vendor>
+    <executable>al</executable>
+    <profile>AL</profile>
+    <frameworkVersions>
+      <frameworkVersion>4.0</frameworkVersion>
+      <frameworkVersion>3.5</frameworkVersion>
+      <frameworkVersion>2.0.50727</frameworkVersion>
+      <frameworkVersion>1.1.4322</frameworkVersion>
+    </frameworkVersions>
+    <platforms>
+      <platform>
+        <operatingSystem>Windows</operatingSystem>
+      </platform>
+    </platforms>
+  </executablePlugin>
+  <executablePlugin>
+    <identifier>MONO:AL</identifier>
+    <pluginClass>npanday.executable.impl.DefaultNetExecutable</pluginClass>
+    <vendor>MONO</vendor>
+    <executable>al</executable>
+    <profile>AL</profile>
+    <frameworkVersions>
+      <frameworkVersion>4.0</frameworkVersion>
+      <frameworkVersion>3.5</frameworkVersion>
+      <frameworkVersion>2.0.50727</frameworkVersion>
+      <frameworkVersion>1.1.4322</frameworkVersion>
+    </frameworkVersions>
+    <platforms>
+      <platform>
+        <operatingSystem>Windows</operatingSystem>
+      </platform>
+      <platform>
+        <operatingSystem>Mac OS X</operatingSystem>
+      </platform>
+      <platform>
+        <operatingSystem>Linux</operatingSystem>
+      </platform>
+      <platform>
+        <operatingSystem>Solaris</operatingSystem>
+      </platform>
+      <platform>
+        <operatingSystem>FreeBSD</operatingSystem>
+      </platform>
+    </platforms>
+  </executablePlugin>
+</executablePlugins>

Modified: incubator/npanday/trunk/plugins/maven-mojo-generator-plugin/src/main/java/npanday/plugin/generator/MojoGeneratorMojo.java
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/plugins/maven-mojo-generator-plugin/src/main/java/npanday/plugin/generator/MojoGeneratorMojo.java?rev=1214869&r1=1214868&r2=1214869&view=diff
==============================================================================
--- incubator/npanday/trunk/plugins/maven-mojo-generator-plugin/src/main/java/npanday/plugin/generator/MojoGeneratorMojo.java (original)
+++ incubator/npanday/trunk/plugins/maven-mojo-generator-plugin/src/main/java/npanday/plugin/generator/MojoGeneratorMojo.java Thu Dec 15 17:07:06 2011
@@ -20,18 +20,16 @@ package npanday.plugin.generator;
 
 import npanday.PathUtil;
 import npanday.artifact.ArtifactContext;
+import npanday.PlatformUnsupportedException;
+import npanday.executable.ExecutionException;
+import npanday.vendor.VendorRequirement;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.project.MavenProject;
 
 import java.io.File;
-import java.util.List;
 import java.util.ArrayList;
-
-import npanday.PlatformUnsupportedException;
-import npanday.executable.ExecutionException;
-import npanday.vendor.VendorFactory;
-import npanday.vendor.VendorInfo;
+import java.util.List;
 
 /**
  * Generates Java Bindings for .NET Mojos.
@@ -113,13 +111,8 @@ public class MojoGeneratorMojo
         try
         {    
             List<String> commands = new ArrayList<String>();
-            VendorInfo vendorInfo = VendorInfo.Factory.createDefaultVendorInfo();
-            if ( vendor != null )
-            {
-                vendorInfo.setVendor( VendorFactory.createVendorFromName( vendor ) );
-            }
-            vendorInfo.setFrameworkVersion( frameworkVersion );
-            vendorInfo.setVendorVersion( vendorVersion );
+            VendorRequirement vendorRequirement = new VendorRequirement( vendor, vendorVersion, frameworkVersion );
+
             File targetDir = PathUtil.getPrivateApplicationBaseDirectory( project );
             File targetAssemblyFile =
                 new File( targetDir, project.getArtifactId() + ".dll" );
@@ -129,7 +122,7 @@ public class MojoGeneratorMojo
             commands.add( "artifactId=" + project.getArtifactId() );
             commands.add( "artifactVersion=" + project.getVersion());
             netExecutableFactory.getNetExecutableFromRepository( "org.apache.npanday.plugins", "NPanday.Plugin.MojoGenerator",
-                                                                 vendorInfo, localRepository, commands,
+                                                                 vendorRequirement, localRepository, commands,
                                                                  true, targetDir ).execute();
         }
         catch ( PlatformUnsupportedException e )

Modified: incubator/npanday/trunk/plugins/maven-resgen-plugin/src/main/java/npanday/plugin/resgen/ExistingResxGenerator.java
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/plugins/maven-resgen-plugin/src/main/java/npanday/plugin/resgen/ExistingResxGenerator.java?rev=1214869&r1=1214868&r2=1214869&view=diff
==============================================================================
--- incubator/npanday/trunk/plugins/maven-resgen-plugin/src/main/java/npanday/plugin/resgen/ExistingResxGenerator.java (original)
+++ incubator/npanday/trunk/plugins/maven-resgen-plugin/src/main/java/npanday/plugin/resgen/ExistingResxGenerator.java Thu Dec 15 17:07:06 2011
@@ -18,11 +18,8 @@
  */
 package npanday.plugin.resgen;
 
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
 import npanday.PlatformUnsupportedException;
+import npanday.executable.ExecutableRequirement;
 import npanday.executable.ExecutionException;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
@@ -31,6 +28,10 @@ import org.apache.maven.project.MavenPro
 import org.codehaus.plexus.util.DirectoryScanner;
 import org.codehaus.plexus.util.FileUtils;
 
+import java.io.File;
+import java.util.ArrayList;
+import java.util.List;
+
 
 /**
  * Generates existing resx to .resource (binary)
@@ -114,8 +115,9 @@ public class ExistingResxGenerator exten
             	File file = new File(project.getBuild().getSourceDirectory() + File.separator + embeddedResource.getSourceFile());
             	if(!file.exists()) continue;
                 commands = getCommands(file.getAbsoluteFile(), resourceDirectory, embeddedResource.getName());
-                netExecutableFactory.getNetExecutableFor( vendor, frameworkVersion, "RESGEN",commands ,
-                                                      netHome ).execute();
+                netExecutableFactory.getNetExecutableFor(
+                    new ExecutableRequirement( vendor, null, frameworkVersion, "RESGEN" ), commands, netHome )
+                    .execute();
             }
           
             if(embeddedResources == null)
@@ -131,8 +133,10 @@ public class ExistingResxGenerator exten
             	  name = project.getArtifactId() + "." + name.substring(0, name.lastIndexOf('.'));
 
             	  commands = getCommands(file.getAbsoluteFile(), resourceDirectory, name);
-            	  netExecutableFactory.getNetExecutableFor( vendor, frameworkVersion, "RESGEN",commands ,
-                         netHome ).execute();
+                   netExecutableFactory.getNetExecutableFor(
+                       new ExecutableRequirement( vendor, null, frameworkVersion, "RESGEN" ), commands,
+                                                             netHome )
+                       .execute();
               }
             }
         }

Modified: incubator/npanday/trunk/plugins/maven-resgen-plugin/src/main/java/npanday/plugin/resgen/ResourceGeneratorMojo.java
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/plugins/maven-resgen-plugin/src/main/java/npanday/plugin/resgen/ResourceGeneratorMojo.java?rev=1214869&r1=1214868&r2=1214869&view=diff
==============================================================================
--- incubator/npanday/trunk/plugins/maven-resgen-plugin/src/main/java/npanday/plugin/resgen/ResourceGeneratorMojo.java (original)
+++ incubator/npanday/trunk/plugins/maven-resgen-plugin/src/main/java/npanday/plugin/resgen/ResourceGeneratorMojo.java Thu Dec 15 17:07:06 2011
@@ -18,20 +18,14 @@
  */
 package npanday.plugin.resgen;
 
+import npanday.artifact.ArtifactContext;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.util.FileUtils;
-import npanday.executable.ExecutionException;
-import npanday.PlatformUnsupportedException;
-import npanday.vendor.VendorInfo;
-import npanday.vendor.VendorFactory;
-import npanday.artifact.ArtifactContext;
 
+import java.io.File;
 import java.util.ArrayList;
 import java.util.List;
-import java.io.File;
-import java.io.IOException;
 
 /**
  * Generates resources
@@ -92,11 +86,6 @@ public class ResourceGeneratorMojo
      */
     private npanday.executable.NetExecutableFactory netExecutableFactory;
 
-    /**
-     * @component
-     */
-    private npanday.NPandayRepositoryRegistry npandayRegistry;
-
     public void execute()
         throws MojoExecutionException
     {

Added: incubator/npanday/trunk/plugins/maven-resgen-plugin/src/main/resources/META-INF/npanday/executable-plugins.xml
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/plugins/maven-resgen-plugin/src/main/resources/META-INF/npanday/executable-plugins.xml?rev=1214869&view=auto
==============================================================================
--- incubator/npanday/trunk/plugins/maven-resgen-plugin/src/main/resources/META-INF/npanday/executable-plugins.xml (added)
+++ incubator/npanday/trunk/plugins/maven-resgen-plugin/src/main/resources/META-INF/npanday/executable-plugins.xml Thu Dec 15 17:07:06 2011
@@ -0,0 +1,68 @@
+<!--
+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.
+-->
+<executablePlugins>
+  <executablePlugin>
+    <identifier>MS:RESGEN</identifier>
+    <pluginClass>npanday.executable.impl.DefaultNetExecutable</pluginClass>
+    <vendor>MICROSOFT</vendor>
+    <executable>resgen</executable>
+    <profile>RESGEN</profile>
+    <frameworkVersions>
+      <frameworkVersion>4.0</frameworkVersion>
+      <frameworkVersion>3.5</frameworkVersion>
+      <frameworkVersion>2.0.50727</frameworkVersion>
+      <frameworkVersion>1.1.4322</frameworkVersion>
+    </frameworkVersions>
+    <platforms>
+      <platform>
+        <operatingSystem>Windows</operatingSystem>
+      </platform>
+    </platforms>
+  </executablePlugin>
+   <executablePlugin>
+    <identifier>MONO:RESGEN</identifier>
+    <pluginClass>npanday.executable.impl.DefaultNetExecutable</pluginClass>
+    <vendor>MONO</vendor>
+    <executable>resgen</executable>
+    <profile>RESGEN</profile>
+    <frameworkVersions>
+      <frameworkVersion>4.0</frameworkVersion>
+      <frameworkVersion>3.5</frameworkVersion>
+      <frameworkVersion>2.0.50727</frameworkVersion>
+      <frameworkVersion>1.1.4322</frameworkVersion>
+    </frameworkVersions>
+    <platforms>
+      <platform>
+        <operatingSystem>Windows</operatingSystem>
+      </platform>
+      <platform>
+        <operatingSystem>Mac OS X</operatingSystem>
+      </platform>
+      <platform>
+        <operatingSystem>Linux</operatingSystem>
+      </platform>
+      <platform>
+        <operatingSystem>Solaris</operatingSystem>
+      </platform>
+      <platform>
+        <operatingSystem>FreeBSD</operatingSystem>
+      </platform>
+    </platforms>
+  </executablePlugin>
+</executablePlugins>

Modified: incubator/npanday/trunk/plugins/maven-resolver-plugin/src/main/java/npanday/plugin/resolver/NetDependencyResolverMojo.java
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/plugins/maven-resolver-plugin/src/main/java/npanday/plugin/resolver/NetDependencyResolverMojo.java?rev=1214869&r1=1214868&r2=1214869&view=diff
==============================================================================
--- incubator/npanday/trunk/plugins/maven-resolver-plugin/src/main/java/npanday/plugin/resolver/NetDependencyResolverMojo.java (original)
+++ incubator/npanday/trunk/plugins/maven-resolver-plugin/src/main/java/npanday/plugin/resolver/NetDependencyResolverMojo.java Thu Dec 15 17:07:06 2011
@@ -19,27 +19,26 @@
 package npanday.plugin.resolver;
 
 import npanday.artifact.ArtifactInstaller;
+import npanday.PlatformUnsupportedException;
+import npanday.artifact.ArtifactContext;
 import npanday.artifact.NPandayArtifactResolutionException;
-import npanday.registry.NPandayRepositoryException;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.AbstractMojo;
-import org.apache.maven.model.Dependency;
-import org.apache.maven.artifact.Artifact;
+import npanday.artifact.NetDependenciesRepository;
+import npanday.artifact.NetDependencyMatchPolicy;
+import npanday.executable.ExecutableRequirement;
+import npanday.executable.ExecutionException;
+import npanday.executable.NetExecutable;
+import npanday.model.netdependency.NetDependency;
 import npanday.registry.RepositoryRegistry;
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.model.Dependency;
+import org.apache.maven.plugin.AbstractMojo;
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.project.MavenProject;
 
 import java.io.File;
 import java.io.IOException;
-import java.util.List;
 import java.util.ArrayList;
-
-import npanday.artifact.NetDependenciesRepository;
-import npanday.artifact.NetDependencyMatchPolicy;
-import npanday.artifact.ArtifactContext;
-import npanday.model.netdependency.NetDependency;
-import npanday.executable.NetExecutable;
-import npanday.executable.ExecutionException;
-import npanday.PlatformUnsupportedException;
+import java.util.List;
 
 /**
  * @author Shane Isbell
@@ -97,7 +96,7 @@ public class NetDependencyResolverMojo
     /**
      * @component
      */
-    private npanday.NPandayRepositoryRegistry npandayRegistry;
+    private RepositoryRegistry repositoryRegistry;
 
     /**
      * @component
@@ -109,7 +108,9 @@ public class NetDependencyResolverMojo
      */
     private ArtifactContext artifactContext;
 
-    /** @parameter default-value="false" */
+    /**
+     * @parameter default-value="false"
+     */
     private boolean skip;
 
     public void execute()
@@ -124,22 +125,6 @@ public class NetDependencyResolverMojo
 
         String profile = System.getProperty( "dependencyProfile" );
 
-        RepositoryRegistry repositoryRegistry;
-        try
-        {
-            repositoryRegistry = npandayRegistry.createRepositoryRegistry();
-        }
-        catch ( IOException e )
-        {
-            throw new MojoExecutionException(
-                "NPANDAY-1600-000: Failed to create the repository registry for this plugin", e );
-        }
-        catch( NPandayRepositoryException e )
-        {
-            throw new MojoExecutionException(
-                "NPANDAY-1600-007: Failed to create the repository registry for this plugin", e );
-        }
-
         if ( netDependencies == null )
         {
             netDependencies = new NetDependency[0];
@@ -189,31 +174,30 @@ public class NetDependencyResolverMojo
             List<Dependency> gacInstallDependencies = repository.getDependenciesFor( gacInstallPolicies );
             for ( Dependency dependency : gacInstallDependencies )
             {
-                List<Artifact> artifacts = artifactContext.getArtifactsFor( dependency.getGroupId(),
-                                                                            dependency.getArtifactId(),
-                                                                            dependency.getVersion(),
-                                                                            dependency.getType() );
+                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 netExecutable = netExecutableFactory.getNetExecutableFor(
+                        new ExecutableRequirement( vendor, null, frameworkVersion, "GACUTIL" ),
+                        getGacInstallCommandsFor( artifacts.get( 0 ) ), null );
                     netExecutable.execute();
-                    getLog().info( "NPANDAY-1600-004: Installed Assembly into GAC: Assembly = " +
-                        artifacts.get( 0 ).getFile().getAbsolutePath() + ",  Vendor = " +
-                        netExecutable.getVendor().getVendorName() );
+                    getLog().info( "NPANDAY-1600-004: Installed Assembly into GAC: Assembly = "
+                                       + artifacts.get( 0 ).getFile().getAbsolutePath() + ",  Vendor = "
+                                       + netExecutable.getVendor().getVendorName() );
                 }
                 catch ( ExecutionException e )
                 {
-                    throw new MojoExecutionException( "NPANDAY-1600-005: Unable to execute gacutil: Vendor " + vendor +
-                        ", frameworkVersion = " + frameworkVersion + ", Profile = " + profile, e );
+                    throw new MojoExecutionException(
+                        "NPANDAY-1600-005: Unable to execute gacutil: Vendor " + vendor + ", frameworkVersion = "
+                            + frameworkVersion + ", Profile = " + profile, e );
                 }
                 catch ( PlatformUnsupportedException e )
                 {
-                    throw new MojoExecutionException( "NPANDAY-1600-006: Platform Unsupported: Vendor " + vendor +
-                        ", frameworkVersion = " + frameworkVersion + ", Profile = " + profile, e );
+                    throw new MojoExecutionException(
+                        "NPANDAY-1600-006: Platform Unsupported: Vendor " + vendor + ", frameworkVersion = "
+                            + frameworkVersion + ", Profile = " + profile, e );
                 }
             }
         }

Modified: incubator/npanday/trunk/plugins/maven-test-plugin/src/main/java/npanday/plugin/test/TesterMojo.java
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/plugins/maven-test-plugin/src/main/java/npanday/plugin/test/TesterMojo.java?rev=1214869&r1=1214868&r2=1214869&view=diff
==============================================================================
--- incubator/npanday/trunk/plugins/maven-test-plugin/src/main/java/npanday/plugin/test/TesterMojo.java (original)
+++ incubator/npanday/trunk/plugins/maven-test-plugin/src/main/java/npanday/plugin/test/TesterMojo.java Thu Dec 15 17:07:06 2011
@@ -24,6 +24,7 @@ import npanday.PlatformUnsupportedExcept
 import npanday.artifact.AssemblyResolver;
 import npanday.artifact.NPandayArtifactResolutionException;
 import npanday.executable.CommandExecutor;
+import npanday.executable.ExecutableRequirement;
 import npanday.executable.ExecutionException;
 import npanday.executable.NetExecutable;
 import npanday.executable.NetExecutableFactory;
@@ -31,6 +32,7 @@ import npanday.vendor.IllegalStateExcept
 import npanday.vendor.StateMachineProcessor;
 import npanday.vendor.Vendor;
 import npanday.vendor.VendorInfo;
+import npanday.vendor.VendorRequirement;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
@@ -155,7 +157,7 @@ extends AbstractMojo
     protected boolean integrationTest;
 
     /**
-     * @component role="npanday.vendor.StateMachineProcessor"
+     * @component
      */
     private StateMachineProcessor processor;
 
@@ -385,20 +387,20 @@ extends AbstractMojo
 
         FileUtils.mkdir( reportsDirectory );
 
-        VendorInfo vendorInfo = VendorInfo.Factory.createDefaultVendorInfo();
-        getLog().debug( "NPANDAY-1100-014.1: Vendor info:" + vendorInfo );        
-        vendorInfo.setVendorVersion( "" );
-        vendorInfo.setFrameworkVersion( executionFrameworkVersion );
-        getLog().debug( "NPANDAY-1100-014.2: Vendor info:" + vendorInfo );        
-
+        VendorRequirement vendorRequirement = new VendorRequirement( (Vendor)null, null, executionFrameworkVersion );
+        getLog().debug( "NPANDAY-1100-014.2: Vendor info:" + vendorRequirement );
+        VendorInfo vendorInfo;
         try
         {
-            getLog().debug( "NPANDAY-1100-015: Processor type:" + processor );        
-            processor.process( vendorInfo );
+            vendorInfo = processor.process( vendorRequirement );
         }
         catch ( IllegalStateException e )
         {
-            throw new MojoExecutionException( e.getMessage(), e );
+            throw new MojoExecutionException( "NPANDAY-1100-016: Error on determining the vendor info", e );
+        }
+        catch ( PlatformUnsupportedException e )
+        {
+            throw new MojoExecutionException( "NPANDAY-1100-017: Error on determining the vendor info", e );
         }
         //List<String> commands = getCommandsFor( vendorInfo.getVendor() );
         getLog().debug( "NPANDAY-1100-014.3: Vendor info:" + vendorInfo );
@@ -418,7 +420,9 @@ extends AbstractMojo
                 Vendor vendor = vendorInfo.getVendor();
                 String vendorName = vendor.getVendorName();
 
-                NetExecutable executable = netExecutableFactory.getNetExecutableFor( vendorName, executionFrameworkVersion, executableName, commands, executableHome );
+                NetExecutable executable = netExecutableFactory.getNetExecutableFor(
+                    new ExecutableRequirement( vendorName, null, executionFrameworkVersion, executableName), commands, executableHome );
+
                 executable.execute();
             }
             catch (PlatformUnsupportedException pue)

Added: incubator/npanday/trunk/plugins/maven-test-plugin/src/main/resources/META-INF/npanday/executable-plugins.xml
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/plugins/maven-test-plugin/src/main/resources/META-INF/npanday/executable-plugins.xml?rev=1214869&view=auto
==============================================================================
--- incubator/npanday/trunk/plugins/maven-test-plugin/src/main/resources/META-INF/npanday/executable-plugins.xml (added)
+++ incubator/npanday/trunk/plugins/maven-test-plugin/src/main/resources/META-INF/npanday/executable-plugins.xml Thu Dec 15 17:07:06 2011
@@ -0,0 +1,112 @@
+<!--
+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.
+-->
+<executablePlugins>
+  <executablePlugin>
+    <identifier>nunit-console</identifier>
+    <pluginClass>npanday.executable.impl.DefaultNetExecutable</pluginClass>
+    <vendor>MICROSOFT</vendor>
+    <executable>nunit-console</executable>
+    <profile>nunit-console</profile>
+    <frameworkVersions>
+      <frameworkVersion>4.0</frameworkVersion>
+      <frameworkVersion>3.5</frameworkVersion>
+      <frameworkVersion>2.0.50727</frameworkVersion>
+    </frameworkVersions>
+    <platforms>
+      <platform>
+        <operatingSystem>Windows</operatingSystem>
+      </platform>
+    </platforms>
+  </executablePlugin>
+  <executablePlugin>
+    <identifier>nunit-console-x86</identifier>
+    <pluginClass>npanday.executable.impl.DefaultNetExecutable</pluginClass>
+    <vendor>MICROSOFT</vendor>
+    <executable>nunit-console-x86</executable>
+    <profile>nunit-console-x86</profile>
+    <frameworkVersions>
+      <frameworkVersion>4.0</frameworkVersion>
+      <frameworkVersion>3.5</frameworkVersion>
+      <frameworkVersion>2.0.50727</frameworkVersion>
+    </frameworkVersions>
+    <platforms>
+      <platform>
+        <operatingSystem>Windows</operatingSystem>
+      </platform>
+    </platforms>
+  </executablePlugin>
+  <executablePlugin>
+    <identifier>nunit-console</identifier>
+    <pluginClass>npanday.executable.impl.DefaultNetExecutable</pluginClass>
+    <vendor>MONO</vendor>
+    <executable>nunit-console</executable>
+    <profile>nunit-console</profile>
+    <frameworkVersions>
+      <frameworkVersion>4.0</frameworkVersion>
+      <frameworkVersion>3.5</frameworkVersion>
+      <frameworkVersion>2.0.50727</frameworkVersion>
+    </frameworkVersions>
+    <platforms>
+      <platform>
+        <operatingSystem>Windows</operatingSystem>
+      </platform>
+      <platform>      
+        <operatingSystem>Mac OS X</operatingSystem>
+      </platform>
+      <platform>
+        <operatingSystem>Linux</operatingSystem>
+      </platform>
+      <platform>
+        <operatingSystem>Solaris</operatingSystem>
+      </platform>
+      <platform>
+        <operatingSystem>FreeBSD</operatingSystem>
+      </platform>
+    </platforms>
+  </executablePlugin>
+  <executablePlugin>
+    <identifier>nunit-console2</identifier>
+    <pluginClass>npanday.executable.impl.DefaultNetExecutable</pluginClass>
+    <vendor>MONO</vendor>
+    <executable>nunit-console2</executable>
+    <profile>nunit-console2</profile>
+    <frameworkVersions>
+      <frameworkVersion>4.0</frameworkVersion>
+      <frameworkVersion>3.5</frameworkVersion>
+      <frameworkVersion>2.0.50727</frameworkVersion>
+    </frameworkVersions>
+    <platforms>
+      <platform>
+        <operatingSystem>Windows</operatingSystem>
+      </platform>
+      <platform>      
+        <operatingSystem>Mac OS X</operatingSystem>
+      </platform>
+      <platform>
+        <operatingSystem>Linux</operatingSystem>
+      </platform>
+      <platform>
+        <operatingSystem>Solaris</operatingSystem>
+      </platform>
+      <platform>
+        <operatingSystem>FreeBSD</operatingSystem>
+      </platform>
+    </platforms>
+  </executablePlugin>
+</executablePlugins>

Modified: incubator/npanday/trunk/plugins/maven-vsinstaller-plugin/src/main/java/npanday/plugin/vsinstaller/VsInstallerMojo.java
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/plugins/maven-vsinstaller-plugin/src/main/java/npanday/plugin/vsinstaller/VsInstallerMojo.java?rev=1214869&r1=1214868&r2=1214869&view=diff
==============================================================================
--- incubator/npanday/trunk/plugins/maven-vsinstaller-plugin/src/main/java/npanday/plugin/vsinstaller/VsInstallerMojo.java (original)
+++ incubator/npanday/trunk/plugins/maven-vsinstaller-plugin/src/main/java/npanday/plugin/vsinstaller/VsInstallerMojo.java Thu Dec 15 17:07:06 2011
@@ -25,12 +25,16 @@ import npanday.artifact.ArtifactInstalle
 import npanday.artifact.NPandayArtifactResolutionException;
 import npanday.artifact.NetDependenciesRepository;
 import npanday.artifact.NetDependencyMatchPolicy;
+import npanday.executable.ExecutableRequirement;
 import npanday.executable.ExecutionException;
 import npanday.executable.NetExecutable;
 import npanday.model.netdependency.NetDependency;
-import npanday.registry.NPandayRepositoryException;
 import npanday.registry.RepositoryRegistry;
 import npanday.vendor.Vendor;
+import org.apache.commons.io.FileUtils;
+import org.apache.commons.io.filefilter.FileFileFilter;
+import org.apache.commons.io.filefilter.FileFilterUtils;
+import org.apache.commons.io.filefilter.IOFileFilter;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.handler.ArtifactHandler;
 import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager;
@@ -40,10 +44,9 @@ import org.apache.maven.plugin.MojoExecu
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.settings.Settings;
-import org.apache.commons.io.filefilter.*;
-import org.apache.commons.io.FileUtils;
 import org.codehaus.plexus.util.IOUtil;
 
+import javax.swing.filechooser.FileSystemView;
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
@@ -52,7 +55,6 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import javax.swing.filechooser.FileSystemView;
 
 /**
  * Installs Visual Studio 2005 addin.
@@ -98,7 +100,7 @@ public class VsInstallerMojo
      *
      * @component
      */
-    private npanday.NPandayRepositoryRegistry npandayRegistry;
+    private RepositoryRegistry repositoryRegistry;
 
     /**
      * Provides services to obtain executables.
@@ -130,22 +132,6 @@ public class VsInstallerMojo
             logs.mkdir();
         }
 
-        RepositoryRegistry repositoryRegistry;
-        try
-        {
-            repositoryRegistry = npandayRegistry.createRepositoryRegistry();
-        }
-        catch ( IOException e )
-        {
-            throw new MojoExecutionException(
-                "NPANDAY-1600-000: Failed to create the repository registry for this plugin", e );
-        }
-        catch( NPandayRepositoryException e )
-        {
-            throw new MojoExecutionException(
-                "NPANDAY-1600-007: Failed to create the repository registry for this plugin", e );
-        }
-
         NetDependenciesRepository netRepository = (NetDependenciesRepository) repositoryRegistry.find(
             "net-dependencies" );
 
@@ -188,8 +174,8 @@ public class VsInstallerMojo
             try
             {
                 NetExecutable netExecutable = netExecutableFactory.getNetExecutableFor(
-                    Vendor.MICROSOFT.getVendorName(), "2.0.50727", "GACUTIL", getGacInstallCommandsFor( artifacts.get(
-                        0 ) ), null );
+                    new ExecutableRequirement( Vendor.MICROSOFT.getVendorName(), null, "2.0.50727", "GACUTIL"),
+                    getGacInstallCommandsFor( artifacts.get( 0 ) ), null );
                 netExecutable.execute();
                 getLog().info( "NPANDAY-1600-004: Installed Assembly into GAC: Assembly = " + artifacts.get(
                     0 ).getFile().getAbsolutePath() + ",  Vendor = " + netExecutable.getVendor().getVendorName() );