You are viewing a plain text version of this content. The canonical link for it is here.
Posted to nmaven-commits@incubator.apache.org by si...@apache.org on 2008/02/28 23:17:30 UTC
svn commit: r632163 - in /incubator/nmaven/trunk:
components/maven-dotnet-core-it-runner/
components/maven-dotnet-extensions/src/main/java/org/apache/maven/dotnet/extensions/toolchain/
core-integration-tests/src/test/resources/MavenITmng-0000-CSharpCom...
Author: sisbell
Date: Thu Feb 28 15:17:26 2008
New Revision: 632163
URL: http://svn.apache.org/viewvc?rev=632163&view=rev
Log:
More complete toolchain implementation.
Added:
incubator/nmaven/trunk/components/maven-dotnet-extensions/src/main/java/org/apache/maven/dotnet/extensions/toolchain/ConfigurationTag.java
incubator/nmaven/trunk/components/maven-dotnet-extensions/src/main/java/org/apache/maven/dotnet/extensions/toolchain/ProvidesTag.java
Modified:
incubator/nmaven/trunk/components/maven-dotnet-core-it-runner/pom.xml
incubator/nmaven/trunk/components/maven-dotnet-extensions/src/main/java/org/apache/maven/dotnet/extensions/toolchain/DotnetToolchain.java
incubator/nmaven/trunk/components/maven-dotnet-extensions/src/main/java/org/apache/maven/dotnet/extensions/toolchain/DotnetToolchainFactory.java
incubator/nmaven/trunk/core-integration-tests/src/test/resources/MavenITmng-0000-CSharpCompileLibrary/pom.xml
incubator/nmaven/trunk/plugins/maven-dotnet-compiler-plugin/src/main/java/org/apache/maven/dotnet/plugin/compiler/CompilerMojo.java
incubator/nmaven/trunk/plugins/maven-dotnet-compiler-plugin/src/main/resources/META-INF/plexus/components.xml
Modified: incubator/nmaven/trunk/components/maven-dotnet-core-it-runner/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/maven-dotnet-core-it-runner/pom.xml?rev=632163&r1=632162&r2=632163&view=diff
==============================================================================
--- incubator/nmaven/trunk/components/maven-dotnet-core-it-runner/pom.xml (original)
+++ incubator/nmaven/trunk/components/maven-dotnet-core-it-runner/pom.xml Thu Feb 28 15:17:26 2008
@@ -70,6 +70,11 @@
<artifactId>maven-dotnet-test-plugin</artifactId>
<version>${pom.version}</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-toolchains-plugin</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ </dependency>
</dependencies>
<repositories>
<repository>
Added: incubator/nmaven/trunk/components/maven-dotnet-extensions/src/main/java/org/apache/maven/dotnet/extensions/toolchain/ConfigurationTag.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/maven-dotnet-extensions/src/main/java/org/apache/maven/dotnet/extensions/toolchain/ConfigurationTag.java?rev=632163&view=auto
==============================================================================
--- incubator/nmaven/trunk/components/maven-dotnet-extensions/src/main/java/org/apache/maven/dotnet/extensions/toolchain/ConfigurationTag.java (added)
+++ incubator/nmaven/trunk/components/maven-dotnet-extensions/src/main/java/org/apache/maven/dotnet/extensions/toolchain/ConfigurationTag.java Thu Feb 28 15:17:26 2008
@@ -0,0 +1,20 @@
+package org.apache.maven.dotnet.extensions.toolchain;
+
+public enum ConfigurationTag
+{
+ CSharpCompiler("csharpCompiler"),
+ NUnitConsole("nunitConsole");
+
+ private String tagName;
+
+ ConfigurationTag(String tagName)
+ {
+ this.tagName = tagName;
+ }
+
+ public String getTagName()
+ {
+ return tagName;
+ }
+
+}
Modified: incubator/nmaven/trunk/components/maven-dotnet-extensions/src/main/java/org/apache/maven/dotnet/extensions/toolchain/DotnetToolchain.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/maven-dotnet-extensions/src/main/java/org/apache/maven/dotnet/extensions/toolchain/DotnetToolchain.java?rev=632163&r1=632162&r2=632163&view=diff
==============================================================================
--- incubator/nmaven/trunk/components/maven-dotnet-extensions/src/main/java/org/apache/maven/dotnet/extensions/toolchain/DotnetToolchain.java (original)
+++ incubator/nmaven/trunk/components/maven-dotnet-extensions/src/main/java/org/apache/maven/dotnet/extensions/toolchain/DotnetToolchain.java Thu Feb 28 15:17:26 2008
@@ -3,22 +3,59 @@
import org.apache.maven.toolchain.DefaultToolchain;
import org.apache.maven.toolchain.model.ToolchainModel;
import org.codehaus.plexus.logging.Logger;
+import org.codehaus.plexus.util.xml.Xpp3Dom;
+
+import java.util.List;
+import java.util.Arrays;
public final class DotnetToolchain
extends DefaultToolchain
{
+ private String csharpCompiler;
+
+ private String nunitConsole;
+
public DotnetToolchain( ToolchainModel model, Logger logger )
{
- super(model, logger);
+ this( model, null, logger );
}
public DotnetToolchain( ToolchainModel model, String type, Logger logger )
{
- super(model, type, logger);
+ super( model, type, logger );
+ Xpp3Dom dom = (Xpp3Dom) model.getConfiguration();
+ List<Xpp3Dom> configurations = Arrays.asList( dom.getChildren() );
+ for ( Xpp3Dom configuration : configurations )
+ {
+ String key = configuration.getName();
+ String value = configuration.getValue();
+ if ( ConfigurationTag.CSharpCompiler.getTagName().equals( key ) )
+ {
+ this.csharpCompiler = value;
+ }
+ else if(ConfigurationTag.NUnitConsole.getTagName().equals( key ))
+ {
+ this.nunitConsole = value;
+ }
+ }
}
public String findTool( String toolName )
{
+ if ( toolName == null || toolName.isEmpty() )
+ {
+ throw new IllegalArgumentException( "toolName" );
+ }
+
+ if ( toolName.equals( ConfigurationTag.CSharpCompiler.getTagName() ) )
+ {
+ return csharpCompiler;
+ }
+ else if(toolName.equals( ConfigurationTag.NUnitConsole.getTagName() ))
+ {
+ return nunitConsole;
+ }
return null;
}
+
}
Modified: incubator/nmaven/trunk/components/maven-dotnet-extensions/src/main/java/org/apache/maven/dotnet/extensions/toolchain/DotnetToolchainFactory.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/maven-dotnet-extensions/src/main/java/org/apache/maven/dotnet/extensions/toolchain/DotnetToolchainFactory.java?rev=632163&r1=632162&r2=632163&view=diff
==============================================================================
--- incubator/nmaven/trunk/components/maven-dotnet-extensions/src/main/java/org/apache/maven/dotnet/extensions/toolchain/DotnetToolchainFactory.java (original)
+++ incubator/nmaven/trunk/components/maven-dotnet-extensions/src/main/java/org/apache/maven/dotnet/extensions/toolchain/DotnetToolchainFactory.java Thu Feb 28 15:17:26 2008
@@ -3,29 +3,59 @@
import org.apache.maven.toolchain.ToolchainFactory;
import org.apache.maven.toolchain.ToolchainPrivate;
import org.apache.maven.toolchain.MisconfiguredToolchainException;
+import org.apache.maven.toolchain.RequirementMatcherFactory;
import org.apache.maven.toolchain.model.ToolchainModel;
import org.codehaus.plexus.logging.LogEnabled;
import org.codehaus.plexus.logging.Logger;
+import org.codehaus.plexus.util.xml.Xpp3Dom;
-public final class DotnetToolchainFactory implements ToolchainFactory, LogEnabled
+import java.util.Arrays;
+import java.util.List;
+
+public final class DotnetToolchainFactory
+ implements ToolchainFactory, LogEnabled
{
private Logger logger;
public ToolchainPrivate createToolchain( ToolchainModel model )
throws MisconfiguredToolchainException
{
- if(model == null)
+ if ( model == null )
{
- return null;
+ throw new MisconfiguredToolchainException("Toolchain model is null");
}
- DotnetToolchain dotnetToolchain = new DotnetToolchain(model, logger);
- return dotnetToolchain;
+ DotnetToolchain dotnetToolchain = new DotnetToolchain( model, logger );
+
+ Xpp3Dom dom = (Xpp3Dom) model.getProvides();
+ List<Xpp3Dom> provides = Arrays.asList(dom.getChildren());
+
+ for(Xpp3Dom provide: provides)
+ {
+ String key = provide.getName();
+ String value = provide.getValue();
+ if ( value == null )
+ {
+ throw new MisconfiguredToolchainException(
+ "Provides token '" + key + "' doesn't have any value configured." );
+ }
+ else if ( ProvidesTag.FrameworkVersion.getTagName().equals( key ) ||
+ ProvidesTag.VendorVersion.getTagName().equals( key ) )
+ {
+ dotnetToolchain.addProvideToken( key, RequirementMatcherFactory.createVersionMatcher( value ) );
+ }
+ else
+ {
+ dotnetToolchain.addProvideToken( key, RequirementMatcherFactory.createExactMatcher( value ) );
+ }
+ }
+ return dotnetToolchain;
}
public ToolchainPrivate createDefaultToolchain()
{
return null;
+ // return new DotnetToolchain(new ToolchainModel(), logger);
}
public void enableLogging( Logger logger )
Added: incubator/nmaven/trunk/components/maven-dotnet-extensions/src/main/java/org/apache/maven/dotnet/extensions/toolchain/ProvidesTag.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/maven-dotnet-extensions/src/main/java/org/apache/maven/dotnet/extensions/toolchain/ProvidesTag.java?rev=632163&view=auto
==============================================================================
--- incubator/nmaven/trunk/components/maven-dotnet-extensions/src/main/java/org/apache/maven/dotnet/extensions/toolchain/ProvidesTag.java (added)
+++ incubator/nmaven/trunk/components/maven-dotnet-extensions/src/main/java/org/apache/maven/dotnet/extensions/toolchain/ProvidesTag.java Thu Feb 28 15:17:26 2008
@@ -0,0 +1,21 @@
+package org.apache.maven.dotnet.extensions.toolchain;
+
+public enum ProvidesTag
+{
+ FrameworkVersion( "frameworkVersion" ),
+ Vendor( "vendor" ),
+ VendorVersion( "vendorVersion" ),
+ Id( "id" );
+
+ private String tagName;
+
+ ProvidesTag( String tagName )
+ {
+ this.tagName = tagName;
+ }
+
+ public String getTagName()
+ {
+ return tagName;
+ }
+}
Modified: incubator/nmaven/trunk/core-integration-tests/src/test/resources/MavenITmng-0000-CSharpCompileLibrary/pom.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/core-integration-tests/src/test/resources/MavenITmng-0000-CSharpCompileLibrary/pom.xml?rev=632163&r1=632162&r2=632163&view=diff
==============================================================================
--- incubator/nmaven/trunk/core-integration-tests/src/test/resources/MavenITmng-0000-CSharpCompileLibrary/pom.xml (original)
+++ incubator/nmaven/trunk/core-integration-tests/src/test/resources/MavenITmng-0000-CSharpCompileLibrary/pom.xml Thu Feb 28 15:17:26 2008
@@ -32,6 +32,5 @@
<artifactId>maven-dotnet-compiler-plugin</artifactId>
<extensions>true</extensions>
</plugin>
- </plugins>
</build>
</project>
Modified: incubator/nmaven/trunk/plugins/maven-dotnet-compiler-plugin/src/main/java/org/apache/maven/dotnet/plugin/compiler/CompilerMojo.java
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-dotnet-compiler-plugin/src/main/java/org/apache/maven/dotnet/plugin/compiler/CompilerMojo.java?rev=632163&r1=632162&r2=632163&view=diff
==============================================================================
--- incubator/nmaven/trunk/plugins/maven-dotnet-compiler-plugin/src/main/java/org/apache/maven/dotnet/plugin/compiler/CompilerMojo.java (original)
+++ incubator/nmaven/trunk/plugins/maven-dotnet-compiler-plugin/src/main/java/org/apache/maven/dotnet/plugin/compiler/CompilerMojo.java Thu Feb 28 15:17:26 2008
@@ -31,12 +31,10 @@
import org.apache.maven.dotnet.BuildDirectories;
import org.apache.maven.dotnet.ArtifactType;
import org.apache.maven.dotnet.InitializationException;
-import org.apache.maven.dotnet.extensions.toolchain.DotnetToolchain;
import org.apache.maven.project.MavenProject;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.toolchain.ToolchainManager;
-import org.apache.maven.toolchain.ToolchainManagerPrivate;
-import org.apache.maven.toolchain.MisconfiguredToolchainException;
+import org.apache.maven.toolchain.Toolchain;
import java.io.File;
import java.io.IOException;
@@ -121,14 +119,14 @@
public void execute()
throws MojoExecutionException, MojoFailureException
{
- DotnetToolchain dotnetToolchain =
- (DotnetToolchain) toolchainManager.getToolchainFromBuildContext( "toolchain-dotnet", mavenSession );
+ Toolchain dotnetToolchain =
+ toolchainManager.getToolchainFromBuildContext( "dotnet", mavenSession );
if ( dotnetToolchain == null )
{
this.getLog().info( "Could not find dotnet toolchain." );
}
-
+
File sourceDir =
new File( project.getBuild().getDirectory(), BuildDirectories.BUILD_SOURCES.getBuildDirectoryName() );
Modified: incubator/nmaven/trunk/plugins/maven-dotnet-compiler-plugin/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-dotnet-compiler-plugin/src/main/resources/META-INF/plexus/components.xml?rev=632163&r1=632162&r2=632163&view=diff
==============================================================================
--- incubator/nmaven/trunk/plugins/maven-dotnet-compiler-plugin/src/main/resources/META-INF/plexus/components.xml (original)
+++ incubator/nmaven/trunk/plugins/maven-dotnet-compiler-plugin/src/main/resources/META-INF/plexus/components.xml Thu Feb 28 15:17:26 2008
@@ -27,9 +27,6 @@
</implementation>
<configuration>
<phases>
- <validate>
- org.apache.maven.plugins:maven-toolchains-plugin:toolchain
- </validate>
<generate-sources>
org.apache.maven.dotnet.plugins:maven-dotnet-compiler-plugin:generate-assembly-info
</generate-sources>
@@ -170,7 +167,7 @@
<phases>
<generate-sources>
org.apache.maven.dotnet.plugins:maven-dotnet-compiler-plugin:generate-assembly-info
- </generate-sources>
+ </generate-sources>
<process-sources>
org.apache.maven.dotnet.plugins:maven-dotnet-compiler-plugin:process-sources
</process-sources>
@@ -292,5 +289,10 @@
<role>org.apache.maven.dotnet.compiler.DotnetCompilerContext</role>
<implementation>org.apache.maven.dotnet.compiler.impl.DotnetCompilerContextImpl</implementation>
</component>
+ <component>
+ <role>org.apache.maven.toolchain.ToolchainFactory</role>
+ <role-hint>dotnet</role-hint>
+ <implementation>org.apache.maven.dotnet.extensions.toolchain.DotnetToolchainFactory</implementation>
+ </component>
</components>
</component-set>