If the project type is say dotnet:exe, this code in the AbstractCompilerMojo
is going to compile the test library also as a dotnet:exe, when it should be
compiled to a library.

        compilerConfig.setArtifactType(
            ArtifactType.valueOf( project.getPackaging().split( "[:]"
)[1].toUpperCase() ) );

Also
 keyInfo.setKeyFileUri( keyfile.toURI() );

needlessly signs the test artifact.

Specifying a single target language within the AbstractCompilerMojo a makes
it impossible to write the unit tests and main source files in different
languages.
Shane
On Jan 3, 2008 10:38 PM, <[EMAIL PROTECTED]> wrote:

> Author: eworley
> Date: Thu Jan  3 22:38:03 2008
> New Revision: 608757
>
> URL: http://svn.apache.org/viewvc?rev=608757&view=rev
> Log:
> Cleaned up the abstract compiler mojo, base classes now passing
> configuration up, this is more flexible and removes the need for extraneous
> methods to control config
>
> Modified:
>
>  
> incubator/nmaven/trunk/plugins/maven-compiler-plugin/src/main/java/org/apache/maven/dotnet/plugin/compiler/AbstractCompilerMojo.java
>
>  
> incubator/nmaven/trunk/plugins/maven-compiler-plugin/src/main/java/org/apache/maven/dotnet/plugin/compiler/CompilerMojo.java
>
>  
> incubator/nmaven/trunk/plugins/maven-compiler-plugin/src/main/java/org/apache/maven/dotnet/plugin/compiler/TestCompilerMojo.java
>
> Modified:
> incubator/nmaven/trunk/plugins/maven-compiler-plugin/src/main/java/org/apache/maven/dotnet/plugin/compiler/AbstractCompilerMojo.java
> URL:
> http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-compiler-plugin/src/main/java/org/apache/maven/dotnet/plugin/compiler/AbstractCompilerMojo.java?rev=608757&r1=608756&r2=608757&view=diff
>
> ==============================================================================
> ---
> incubator/nmaven/trunk/plugins/maven-compiler-plugin/src/main/java/org/apache/maven/dotnet/plugin/compiler/AbstractCompilerMojo.java
> (original)
> +++
> incubator/nmaven/trunk/plugins/maven-compiler-plugin/src/main/java/org/apache/maven/dotnet/plugin/compiler/AbstractCompilerMojo.java
> Thu Jan  3 22:38:03 2008
> @@ -2,8 +2,6 @@
>
>  import java.io.File;
>  import java.io.IOException;
> -import java.net.URI;
> -import java.net.URISyntaxException;
>
>  import org.apache.maven.dotnet.ArtifactType;
>  import org.apache.maven.dotnet.InitializationException;
> @@ -84,7 +82,9 @@
>      *
>      * @throws MojoExecutionException
>      */
> -    protected File compile() throws MojoExecutionException {
> +    protected File compile( DotnetCompilerConfig compilerConfig )
> +        throws MojoExecutionException
> +    {
>         String outputDir = project.getBuild().getDirectory();
>         File sourceDir =
>             new File( outputDir, getSourceDirectoryName());
> @@ -105,7 +105,7 @@
>         }
>
>         getLog().info( ".NET Vendor: " + vendor );
> -        DotnetCompilerConfig compilerConfig =
> DotnetCompilerConfig.Factory.createDefaultCompilerConfig();
> +
>         compilerConfig.setArtifactType(
>             ArtifactType.valueOf( project.getPackaging().split( "[:]"
> )[1].toUpperCase() ) );
>         compilerConfig.setCompilerPlatformVersion(
> DotnetCompilerPlatformVersion.valueFromVersion( frameworkVersion ) );
> @@ -113,14 +113,7 @@
>         KeyInfo keyInfo = KeyInfo.Factory.createDefaultKeyInfo();
>         if ( keyfile != null )
>         {
> -//            try
> -//            {
> -                keyInfo.setKeyFileUri( keyfile.toURI() );
> -//            }
> -//            catch ( URISyntaxException e )
> -//            {
> -//                throw new MojoExecutionException( e.getMessage() );
> -//            }
> +            keyInfo.setKeyFileUri( keyfile.toURI() );
>         }
>
>         keyInfo.setKeyContainerName( keycontainer );
> @@ -128,7 +121,6 @@
>
>         compilerConfig.setLocalRepository( localRepository );
>         compilerConfig.setProgrammingLanguage( ProgrammingLanguage.C_SHARP);
> -        compilerConfig.setTestCompile( isTestCompile() );
>         compilerConfig.setCompilerSourceDirectory( sourceDir );
>         compilerConfig.setVendor( vendor );
>         compilerConfig.setTargetDirectory( new File( outputDir ) );
> @@ -173,14 +165,5 @@
>      */
>     protected String getAssemblySuffix() {
>         return "";
> -    }
> -
> -    /**
> -     * Sub classes can override this to configure the compiler
> -     * for test compilation
> -     * @return <code>boolean</code> true if test compile, else false
> -     */
> -    protected boolean isTestCompile() {
> -        return false;
>     }
>  }
>
> Modified:
> incubator/nmaven/trunk/plugins/maven-compiler-plugin/src/main/java/org/apache/maven/dotnet/plugin/compiler/CompilerMojo.java
> URL:
> http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-compiler-plugin/src/main/java/org/apache/maven/dotnet/plugin/compiler/CompilerMojo.java?rev=608757&r1=608756&r2=608757&view=diff
>
> ==============================================================================
> ---
> incubator/nmaven/trunk/plugins/maven-compiler-plugin/src/main/java/org/apache/maven/dotnet/plugin/compiler/CompilerMojo.java
> (original)
> +++
> incubator/nmaven/trunk/plugins/maven-compiler-plugin/src/main/java/org/apache/maven/dotnet/plugin/compiler/CompilerMojo.java
> Thu Jan  3 22:38:03 2008
> @@ -18,7 +18,10 @@
>  */
>  package org.apache.maven.dotnet.plugin.compiler;
>
> +import java.io.File;
> +
>  import org.apache.maven.dotnet.BuildDirectories;
> +import org.apache.maven.dotnet.compiler.DotnetCompilerConfig;
>  import org.apache.maven.plugin.MojoExecutionException;
>  import org.apache.maven.plugin.MojoFailureException;
>
> @@ -42,6 +45,9 @@
>     public void execute()
>         throws MojoExecutionException, MojoFailureException
>     {
> -        project.getArtifact().setFile( compile() );
> +        DotnetCompilerConfig compilerConfig =
> DotnetCompilerConfig.Factory.createDefaultCompilerConfig();
> +
> +        File assembly = compile( compilerConfig );
> +        project.getArtifact().setFile( assembly );
>     }
>  }
>
> 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=608757&r1=608756&r2=608757&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  3 22:38:03 2008
> @@ -19,6 +19,7 @@
>  package org.apache.maven.dotnet.plugin.compiler;
>
>  import org.apache.maven.dotnet.BuildDirectories;
> +import org.apache.maven.dotnet.compiler.DotnetCompilerConfig;
>  import org.apache.maven.plugin.MojoExecutionException;
>  import org.apache.maven.plugin.MojoFailureException;
>
> @@ -43,7 +44,11 @@
>             return;
>         }
>
> -        compile();
> +        DotnetCompilerConfig compilerConfig =
> DotnetCompilerConfig.Factory.createDefaultCompilerConfig();
> +
> +        compilerConfig.setTestCompile( true );
> +
> +        compile( compilerConfig );
>     }
>
>     @Override
> @@ -56,11 +61,5 @@
>     protected String getAssemblySuffix()
>     {
>         return "-test";
> -    }
> -
> -    @Override
> -    protected boolean isTestCompile()
> -    {
> -        return true;
>     }
>  }
>
>
>

Reply via email to