Author: sisbell Date: Thu Jan 10 12:47:38 2008 New Revision: 610926 URL: http://svn.apache.org/viewvc?rev=610926&view=rev Log: Fixed bug where plugin was passing wrong working directory to nunit-console. Added back in code for copying test assemblies.
Modified: incubator/nmaven/trunk/maven-dotnet.iml incubator/nmaven/trunk/plugins/dotnet-test-plugin/pom.xml incubator/nmaven/trunk/plugins/dotnet-test-plugin/src/main/java/org/apache/maven/dotnet/plugin/nunit/DotnetTestMojo.java incubator/nmaven/trunk/plugins/maven-compiler-plugin/src/main/java/org/apache/maven/dotnet/plugin/compiler/AssemblyInfoGeneratorMojo.java incubator/nmaven/trunk/plugins/maven-compiler-plugin/src/main/java/org/apache/maven/dotnet/plugin/compiler/TestCompilerMojo.java Modified: incubator/nmaven/trunk/maven-dotnet.iml URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/maven-dotnet.iml?rev=610926&r1=610925&r2=610926&view=diff ============================================================================== --- incubator/nmaven/trunk/maven-dotnet.iml (original) +++ incubator/nmaven/trunk/maven-dotnet.iml Thu Jan 10 12:47:38 2008 @@ -12,6 +12,7 @@ <sourceFolder url="file://$MODULE_DIR$/components/maven-dotnet-core/src/main/java" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/components/maven-dotnet-extensions/src/main/java" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/core-integration-tests/src/test/java" isTestSource="false" /> + <sourceFolder url="file://$MODULE_DIR$/plugins/dotnet-test-plugin/src/main/java" isTestSource="false" /> <sourceFolder url="file://$MODULE_DIR$/plugins/maven-compiler-plugin/src/main/java" isTestSource="false" /> </content> <orderEntry type="inheritedJdk" /> Modified: incubator/nmaven/trunk/plugins/dotnet-test-plugin/pom.xml URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/dotnet-test-plugin/pom.xml?rev=610926&r1=610925&r2=610926&view=diff ============================================================================== --- incubator/nmaven/trunk/plugins/dotnet-test-plugin/pom.xml (original) +++ incubator/nmaven/trunk/plugins/dotnet-test-plugin/pom.xml Thu Jan 10 12:47:38 2008 @@ -40,7 +40,16 @@ </dependency> <dependency> <groupId>org.apache.maven</groupId> - <artifactId>maven-core</artifactId> + <artifactId>maven-project</artifactId> + </dependency> + <dependency> + <groupId>org.apache.maven</groupId> + <artifactId>maven-plugin-api</artifactId> + </dependency> + <dependency> + <groupId>org.apache.maven.dotnet</groupId> + <artifactId>maven-dotnet-core</artifactId> + <version>${pom.version}</version> </dependency> </dependencies> Modified: incubator/nmaven/trunk/plugins/dotnet-test-plugin/src/main/java/org/apache/maven/dotnet/plugin/nunit/DotnetTestMojo.java URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/dotnet-test-plugin/src/main/java/org/apache/maven/dotnet/plugin/nunit/DotnetTestMojo.java?rev=610926&r1=610925&r2=610926&view=diff ============================================================================== --- incubator/nmaven/trunk/plugins/dotnet-test-plugin/src/main/java/org/apache/maven/dotnet/plugin/nunit/DotnetTestMojo.java (original) +++ incubator/nmaven/trunk/plugins/dotnet-test-plugin/src/main/java/org/apache/maven/dotnet/plugin/nunit/DotnetTestMojo.java Thu Jan 10 12:47:38 2008 @@ -27,6 +27,7 @@ import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugin.logging.Log; import org.apache.maven.project.MavenProject; +import org.apache.maven.dotnet.BuildDirectories; import org.codehaus.plexus.util.cli.CommandLineException; import org.codehaus.plexus.util.cli.CommandLineUtils; import org.codehaus.plexus.util.cli.Commandline; @@ -80,13 +81,14 @@ } // The directory where the test artifact exists - String outputDirectory = project.getBuild().getDirectory(); + File testAssemblies = + new File( project.getBuild().getDirectory(), BuildDirectories.TEST_ASSEMBLIES.getBuildDirectoryName() ); Commandline commandline = new Commandline(); - getLog().debug( "NMaven-test: workingDirectory(" + outputDirectory + ")" ); + getLog().debug( "NMaven-test: workingDirectory(" + testAssemblies.getAbsolutePath() + ")" ); - commandline.setWorkingDirectory( outputDirectory ); + commandline.setWorkingDirectory( testAssemblies.getAbsolutePath() ); commandline.setExecutable( NUNIT_EXECUTABLE ); commandline.addArguments( getNUnitArguments() ); Modified: incubator/nmaven/trunk/plugins/maven-compiler-plugin/src/main/java/org/apache/maven/dotnet/plugin/compiler/AssemblyInfoGeneratorMojo.java URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-compiler-plugin/src/main/java/org/apache/maven/dotnet/plugin/compiler/AssemblyInfoGeneratorMojo.java?rev=610926&r1=610925&r2=610926&view=diff ============================================================================== --- incubator/nmaven/trunk/plugins/maven-compiler-plugin/src/main/java/org/apache/maven/dotnet/plugin/compiler/AssemblyInfoGeneratorMojo.java (original) +++ incubator/nmaven/trunk/plugins/maven-compiler-plugin/src/main/java/org/apache/maven/dotnet/plugin/compiler/AssemblyInfoGeneratorMojo.java Thu Jan 10 12:47:38 2008 @@ -1,3 +1,21 @@ +/* + * 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. + */ package org.apache.maven.dotnet.plugin.compiler; import org.apache.maven.plugin.AbstractMojo; @@ -38,40 +56,12 @@ private MavenProject project; /** - * The framework version to compile under: 1.1, 2.0, 3.0 - * - * @parameter expression = "${frameworkVersion}" - */ - private String frameworkVersion; - - /** * .NET Language. The default value is <code>C_SHARP</code>. Not case or white-space sensitive. * * @parameter expression="${language}" default-value = "C_SHARP" * @required */ private String language; - - /** - * The vendor for the compiler: MICROSOFT, NOVELL. Not case or white-space sensitive. - * - * @parameter expression="${vendor}" - */ - private String vendor; - - /** - * Specify a strong name key file. - * - * @parameter expression = "${keyfile}" - */ - private File keyfile; - - /** - * Specifies a strong name key container. (not currently supported) - * - * @parameter expression = "${keycontainer}" - */ - private String keycontainer; /** * Source directory containing the copied class files. Modified: incubator/nmaven/trunk/plugins/maven-compiler-plugin/src/main/java/org/apache/maven/dotnet/plugin/compiler/TestCompilerMojo.java URL: http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-compiler-plugin/src/main/java/org/apache/maven/dotnet/plugin/compiler/TestCompilerMojo.java?rev=610926&r1=610925&r2=610926&view=diff ============================================================================== --- incubator/nmaven/trunk/plugins/maven-compiler-plugin/src/main/java/org/apache/maven/dotnet/plugin/compiler/TestCompilerMojo.java (original) +++ incubator/nmaven/trunk/plugins/maven-compiler-plugin/src/main/java/org/apache/maven/dotnet/plugin/compiler/TestCompilerMojo.java Thu Jan 10 12:47:38 2008 @@ -20,26 +20,24 @@ import java.io.File; import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; -import java.util.List; +import java.util.Set; -import org.apache.maven.artifact.handler.ArtifactHandler; -import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager; import org.apache.maven.dotnet.ArtifactType; import org.apache.maven.dotnet.BuildDirectories; import org.apache.maven.dotnet.InitializationException; import org.apache.maven.dotnet.ProgrammingLanguage; import org.apache.maven.dotnet.Vendor; +import org.apache.maven.dotnet.ArtifactScope; import org.apache.maven.dotnet.compiler.DotnetCompilerConfig; import org.apache.maven.dotnet.compiler.DotnetCompilerContext; import org.apache.maven.dotnet.compiler.DotnetCompilerPlatformVersion; import org.apache.maven.dotnet.compiler.InvalidArtifactException; -import org.apache.maven.dotnet.compiler.KeyInfo; 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.artifact.Artifact; +import org.codehaus.plexus.util.FileUtils; /** * Maven Mojo for compiling Class files to the .NET Intermediate Language. @@ -151,13 +149,43 @@ { throw new MojoExecutionException( e.getMessage() ); } + + File testAssembly; try { - compilerContext.getClassCompiler().compile(); + testAssembly = compilerContext.getClassCompiler().compile(); } catch ( InvalidArtifactException e ) { throw new MojoExecutionException( e.getMessage() ); + } + + //Copy test references to target + File testAssemblies = + new File( project.getBuild().getDirectory(), BuildDirectories.TEST_ASSEMBLIES.getBuildDirectoryName() ); + + if ( !testAssemblies.exists() && !testAssemblies.mkdirs() ) + { + throw new MojoExecutionException( "Unable to create test assemblies directory: " + testAssemblies ); + } + + Set<Artifact> testDependencies = compilerContext.getLibraryDependenciesFor( ArtifactScope.TEST ); + + try + { + for ( Artifact testDependency : testDependencies ) + { + File testDependencyFile = testDependency.getFile(); + File testAssembliesFile = new File( testAssemblies, testDependencyFile.getName() ); + FileUtils.copyFile( testDependencyFile, testAssembliesFile ); + } + + File copiedTestAssembly = new File( testAssemblies, testAssembly.getName() ); + FileUtils.copyFile( testAssembly, copiedTestAssembly ); + } + catch ( IOException e ) + { + throw new MojoExecutionException( "Unable to copy all test assemblies to execution directory" ); } } }