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() );