Author: sisbell
Date: Fri Dec 28 14:14:57 2007
New Revision: 607346

URL: http://svn.apache.org/viewvc?rev=607346&view=rev
Log:
Compiler context now supports artifact scope. Fixed modules to only be used for 
direct dependencies. Disabled support for GAC dependencies (working on fix for 
this).

Added:
    
incubator/nmaven/trunk/components/maven-dotnet-compiler/src/test/java/org/apache/maven/dotnet/compiler/impl/DummyArtifactHandler.java
   (with props)
    
incubator/nmaven/trunk/components/maven-dotnet-core/src/main/java/org/apache/maven/dotnet/ArtifactScope.java
   (with props)
Modified:
    
incubator/nmaven/trunk/components/maven-dotnet-compiler/src/main/java/org/apache/maven/dotnet/compiler/DotnetCompilerContext.java
    
incubator/nmaven/trunk/components/maven-dotnet-compiler/src/main/java/org/apache/maven/dotnet/compiler/impl/DotnetCompilerContextImpl.java
    
incubator/nmaven/trunk/components/maven-dotnet-compiler/src/test/java/org/apache/maven/dotnet/compiler/impl/DotnetCompilerContextImplTest.java
    
incubator/nmaven/trunk/components/maven-dotnet-core/src/main/java/org/apache/maven/dotnet/ArtifactType.java
    
incubator/nmaven/trunk/components/maven-dotnet-extensions/src/main/java/org/apache/maven/dotnet/extensions/compiler/CSharpClassCompiler.java
    
incubator/nmaven/trunk/plugins/maven-compiler-plugin/src/main/resources/META-INF/plexus/components.xml

Modified: 
incubator/nmaven/trunk/components/maven-dotnet-compiler/src/main/java/org/apache/maven/dotnet/compiler/DotnetCompilerContext.java
URL: 
http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/maven-dotnet-compiler/src/main/java/org/apache/maven/dotnet/compiler/DotnetCompilerContext.java?rev=607346&r1=607345&r2=607346&view=diff
==============================================================================
--- 
incubator/nmaven/trunk/components/maven-dotnet-compiler/src/main/java/org/apache/maven/dotnet/compiler/DotnetCompilerContext.java
 (original)
+++ 
incubator/nmaven/trunk/components/maven-dotnet-compiler/src/main/java/org/apache/maven/dotnet/compiler/DotnetCompilerContext.java
 Fri Dec 28 14:14:57 2007
@@ -19,11 +19,13 @@
 package org.apache.maven.dotnet.compiler;
 
 import org.apache.maven.artifact.Artifact;
+import org.apache.maven.dotnet.ArtifactScope;
 
 import java.io.File;
 import java.util.Set;
 
-public interface DotnetCompilerContext extends CompilerContext
+public interface DotnetCompilerContext
+    extends CompilerContext
 {
     /**
      * Role used to register component implementations with the container.
@@ -52,14 +54,7 @@
      *
      * @return a list of library (dll) dependencies of the class files.
      */
-    Set<Artifact> getLibraryDependencies();
-
-    /**
-     * Returns a list of module (netmodule) dependencies of the class files.
-     *
-     * @return a list of module (netmodule) dependencies of the class files.
-     */
-    Set<Artifact> getModuleDependencies();
+    Set<Artifact> getLibraryDependenciesFor( ArtifactScope artifactScope );
 
     /**
      * Returns a list of resources that the compiler should link to the 
compiled assembly
@@ -89,5 +84,5 @@
      * @return a list of win32 resources.
      */
     Set<File> getWin32Resources();
-    
+
 }

Modified: 
incubator/nmaven/trunk/components/maven-dotnet-compiler/src/main/java/org/apache/maven/dotnet/compiler/impl/DotnetCompilerContextImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/maven-dotnet-compiler/src/main/java/org/apache/maven/dotnet/compiler/impl/DotnetCompilerContextImpl.java?rev=607346&r1=607345&r2=607346&view=diff
==============================================================================
--- 
incubator/nmaven/trunk/components/maven-dotnet-compiler/src/main/java/org/apache/maven/dotnet/compiler/impl/DotnetCompilerContextImpl.java
 (original)
+++ 
incubator/nmaven/trunk/components/maven-dotnet-compiler/src/main/java/org/apache/maven/dotnet/compiler/impl/DotnetCompilerContextImpl.java
 Fri Dec 28 14:14:57 2007
@@ -26,6 +26,9 @@
 import java.util.HashSet;
 import java.util.Set;
 import java.util.Enumeration;
+import java.util.Map;
+import java.util.List;
+import java.util.HashMap;
 import java.net.URL;
 
 import org.apache.maven.artifact.Artifact;
@@ -38,6 +41,7 @@
 import org.apache.maven.dotnet.InitializationException;
 import org.apache.maven.dotnet.BuildDirectories;
 import org.apache.maven.dotnet.ArtifactType;
+import org.apache.maven.dotnet.ArtifactScope;
 import org.apache.maven.dotnet.compiler.CompilerAnnotation;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.plexus.logging.Logger;
@@ -55,7 +59,7 @@
 
     private DotnetCompilerConfig netCompilerConfig;
 
-    private Set<Artifact> libraryDependencies;
+    private Map<ArtifactScope, Set<Artifact>> libraryArtifactDependencyMap;
 
     private Set<Artifact> moduleDependencies;
 
@@ -85,17 +89,12 @@
 
     public Set<Artifact> getDirectModuleDependencies()
     {
-        return null;
-    }
-
-    public Set<Artifact> getLibraryDependencies()
-    {
-        return libraryDependencies;
+        return moduleDependencies;
     }
 
-    public Set<Artifact> getModuleDependencies()
+    public Set<Artifact> getLibraryDependenciesFor( ArtifactScope 
artifactScope )
     {
-        return moduleDependencies;
+        return libraryArtifactDependencyMap.get( artifactScope );
     }
 
     public Set<File> getLinkedResources()
@@ -161,9 +160,46 @@
         this.netCompilerConfig = (DotnetCompilerConfig) compilerConfig;
         netCompilerConfig.verifyCompilerConfig();
 
-        libraryDependencies = new HashSet<Artifact>();
+        HashSet<Artifact> compileLibraryDependencies = new HashSet<Artifact>();
+        HashSet<Artifact> systemLibraryDependencies = new HashSet<Artifact>();
+        HashSet<Artifact>  providedLibraryDependencies = new 
HashSet<Artifact>();
+        HashSet<Artifact> testLibraryDependencies = new HashSet<Artifact>();
+        HashSet<Artifact> runtimeLibraryDependencies = new HashSet<Artifact>();
+
+        libraryArtifactDependencyMap = new HashMap<ArtifactScope, 
Set<Artifact>>();
+        libraryArtifactDependencyMap.put( ArtifactScope.COMPILE, 
compileLibraryDependencies );
+        libraryArtifactDependencyMap.put( ArtifactScope.SYSTEM, 
systemLibraryDependencies );
+        libraryArtifactDependencyMap.put( ArtifactScope.PROVIDED, 
providedLibraryDependencies );
+        libraryArtifactDependencyMap.put( ArtifactScope.TEST, 
testLibraryDependencies );
+        libraryArtifactDependencyMap.put( ArtifactScope.RUNTIME, 
runtimeLibraryDependencies );
+
         moduleDependencies = new HashSet<Artifact>();
 
+        //Module dependencies non-transitive
+        Set<Artifact> directDependentArtifacts = 
project.getDependencyArtifacts();
+        if ( directDependentArtifacts != null )
+        {
+            for ( Artifact artifact : directDependentArtifacts )
+            {
+                String type = artifact.getType();
+                if ( type.equals( ArtifactType.MODULE.getPackagingType() ) )
+                {
+                    if ( !ArtifactScope.COMPILE.isMatchByString( 
artifact.getScope() ) )
+                    {
+                        throw new InitializationException(
+                            "Module must be of compile scope: Scope = " + 
artifact.getScope() );
+                    }
+                    moduleDependencies.add( artifact );
+                }
+            }
+        }
+
+        addLibraryArtifactsToTarget( project.getCompileArtifacts(), 
compileLibraryDependencies );
+        addLibraryArtifactsToTarget( project.getTestArtifacts(), 
testLibraryDependencies );
+        addLibraryArtifactsToTarget( project.getRuntimeArtifacts(), 
runtimeLibraryDependencies );
+/*
+        List<Artifact> providedArtifacts = project.getSystemArtifacts();
+
         Set<Artifact> dependentArtifacts = project.getArtifacts();
 
         if ( dependentArtifacts != null )
@@ -171,22 +207,14 @@
             for ( Artifact dependentArtifact : dependentArtifacts )
             {
                 String type = dependentArtifact.getType();
-                if ( type.equals( ArtifactType.MODULE.getPackagingType() ) )
-                {
-                    moduleDependencies.add( dependentArtifact );
-                }
-                else if ( type.equals( ArtifactType.LIBRARY.getPackagingType() 
) ||
-                    type.equals( ArtifactType.EXE.getPackagingType() ) )
-                {
-                    libraryDependencies.add( dependentArtifact );
-                }
-                else if ( type.startsWith( "dotnet:gac" ) )
+                String scope = dependentArtifact.getScope();
+                if ( type.startsWith( "dotnet:gac" ) )
                 {
                     if ( StringUtils.isEmpty( 
dependentArtifact.getClassifier() ) )
                     {
                         throw new IllegalArgumentException( "classifier" );
                     }
-                    if ( type.equals( "dotnet:gac_generic" ) )
+                    if ( type.equals( 
ArtifactType.GAC_GENERIC.getPackagingType() ) )
                     {
                         String gacRoot = null;
                         if ( netCompilerConfig.getVendor().equals( 
Vendor.MICROSOFT ) &&
@@ -211,21 +239,21 @@
                             libraryDependencies.add( dependentArtifact );
                         }
                     }
-                    else if ( type.equals( "dotnet:gac" ) )
+                    else if ( type.equals( ArtifactType.GAC.getPackagingType() 
) )
                     {
                         String gacRoot = ( 
netCompilerConfig.getVendor().equals( Vendor.NOVELL ) ) ? getGacRootForMono()
                             : replaceFileSeparator( System.getenv( 
"SystemRoot" ) + "\\assembly\\GAC\\" );
                         setArtifactGacFile( gacRoot, dependentArtifact );
                         libraryDependencies.add( dependentArtifact );
                     }
-                    else if ( type.equals( "dotnet:gac_32" ) )
+                    else if ( type.equals( 
ArtifactType.GAC_32.getPackagingType() ) )
                     {
                         String gacRoot = ( 
netCompilerConfig.getVendor().equals( Vendor.NOVELL ) ) ? getGacRootForMono()
                             : replaceFileSeparator( System.getenv( 
"SystemRoot" ) + "\\assembly\\GAC_32\\" );
                         setArtifactGacFile( gacRoot, dependentArtifact );
                         libraryDependencies.add( dependentArtifact );
                     }
-                    else if ( type.equals( "dotnet:gac_msil" ) )
+                    else if ( type.equals( 
ArtifactType.GAC_MSIL.getPackagingType() ) )
                     {
                         String gacRoot = ( 
netCompilerConfig.getVendor().equals( Vendor.NOVELL ) ) ? getGacRootForMono()
                             : replaceFileSeparator( System.getenv( 
"SystemRoot" ) + "\\assembly\\GAC_MSIL\\" );
@@ -234,8 +262,9 @@
                     }
                 }
             }//end for loop
-        }
 
+        }
+          */
         Enumeration<URL> resources =
             this.getClass().getClassLoader().getResources( 
"/META-INF/nmaven/annotation-resources.txt" );
 
@@ -302,6 +331,29 @@
             if ( icons.length == 1 )
             {
                 win32icon = icons[0];
+            }
+        }
+    }
+
+    private void addLibraryArtifactsToTarget( List<Artifact> sourceArtifacts, 
Set<Artifact> targetArtifacts )
+        throws InitializationException
+    {
+        if ( sourceArtifacts == null )
+        {
+            return;
+        }
+
+        for ( Artifact artifact : sourceArtifacts )
+        {
+            String type = artifact.getType();
+            if ( ArtifactType.LIBRARY.isMatchByString( type ) || 
ArtifactType.EXE.isMatchByString( type ) ||
+                ArtifactType.WINEXE.isMatchByString( type ) )
+            {
+                targetArtifacts.add( artifact );
+            }
+            else if ( type.startsWith( "dotnet:gac" ) )
+            {
+                throw new InitializationException( "Gac dependency scope must 
be specified as provided or system" );
             }
         }
     }

Modified: 
incubator/nmaven/trunk/components/maven-dotnet-compiler/src/test/java/org/apache/maven/dotnet/compiler/impl/DotnetCompilerContextImplTest.java
URL: 
http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/maven-dotnet-compiler/src/test/java/org/apache/maven/dotnet/compiler/impl/DotnetCompilerContextImplTest.java?rev=607346&r1=607345&r2=607346&view=diff
==============================================================================
--- 
incubator/nmaven/trunk/components/maven-dotnet-compiler/src/test/java/org/apache/maven/dotnet/compiler/impl/DotnetCompilerContextImplTest.java
 (original)
+++ 
incubator/nmaven/trunk/components/maven-dotnet-compiler/src/test/java/org/apache/maven/dotnet/compiler/impl/DotnetCompilerContextImplTest.java
 Fri Dec 28 14:14:57 2007
@@ -18,6 +18,7 @@
 import org.apache.maven.dotnet.ProgrammingLanguage;
 import org.apache.maven.dotnet.Vendor;
 import org.apache.maven.dotnet.InitializationException;
+import org.apache.maven.dotnet.ArtifactScope;
 import org.apache.maven.dotnet.compiler.ClassCompiler;
 
 import org.junit.Test;
@@ -25,7 +26,6 @@
 import org.hamcrest.BaseMatcher;
 import org.hamcrest.CoreMatchers;
 import static org.junit.Assert.*;
-import org.codehaus.plexus.util.FileUtils;
 
 public class DotnetCompilerContextImplTest
 {
@@ -56,7 +56,7 @@
         MavenProject project = new MavenProject();
 
         Set<Artifact> dependencyArtifacts = new HashSet<Artifact>();
-        project.setArtifacts( dependencyArtifacts );
+        project.setDependencyArtifacts( dependencyArtifacts );
         Artifact artifact = new DefaultArtifact( "groupId", "artifactId", 
VersionRange.createFromVersion( "1.0" ),
                                                  "compile", "dotnet:module", 
null, new DefaultArtifactHandler( "dotnet:module" ),
                                                  false );
@@ -69,7 +69,7 @@
         ctx.turnOffCompilerExistsCheck();
         ctx.init( project, getDefaultDotnetCompilerConfig() );
 
-        Set<Artifact> modules = ctx.getModuleDependencies();
+        Set<Artifact> modules = ctx.getDirectModuleDependencies();
         assertThat( modules.size(), equalTo( 1 ) );
     }
 
@@ -85,6 +85,7 @@
         Artifact artifact = new DefaultArtifact( "groupId", "artifactId", 
VersionRange.createFromVersion( "1.0" ),
                                                  "compile", "dotnet:library", 
null, new DefaultArtifactHandler( "dotnet:library" ),
                                                  false );
+        artifact.setArtifactHandler( new DummyArtifactHandler());
         dependencyArtifacts.add( artifact );
 
         Build build = new Build();
@@ -94,7 +95,7 @@
         ctx.turnOffCompilerExistsCheck();
         ctx.init( project, getDefaultDotnetCompilerConfig() );
 
-        Set<Artifact> libraries = ctx.getLibraryDependencies();
+        Set<Artifact> libraries = ctx.getLibraryDependenciesFor( 
ArtifactScope.COMPILE);
         assertThat( libraries.size(), equalTo( 1 ) );
     }
 
@@ -109,6 +110,7 @@
         project.setArtifacts( dependencyArtifacts );
         Artifact artifact = new DefaultArtifact( "groupId", "artifactId", 
VersionRange.createFromVersion( "1.0" ),
                                                  "compile", "dotnet:exe", 
null, new DefaultArtifactHandler( "dotnet:exe" ), false );
+        artifact.setArtifactHandler( new DummyArtifactHandler());
         dependencyArtifacts.add( artifact );
 
         Build build = new Build();
@@ -118,11 +120,11 @@
         ctx.turnOffCompilerExistsCheck();
         ctx.init( project, getDefaultDotnetCompilerConfig() );
 
-        Set<Artifact> libraries = ctx.getLibraryDependencies();
+        Set<Artifact> libraries = 
ctx.getLibraryDependenciesFor(ArtifactScope.COMPILE);
         assertThat( libraries.size(), equalTo( 1 ) );
     }
 
-    @Test
+    //@Test
     public void testInit_WithGacGenericAndMicrosoft()
         throws InitializationException, IOException
     {
@@ -145,7 +147,7 @@
 
         ctx.init( project, getDefaultDotnetCompilerConfig() );
 
-        Set<Artifact> libraries = ctx.getLibraryDependencies();
+        Set<Artifact> libraries = 
ctx.getLibraryDependenciesFor(ArtifactScope.COMPILE);
         assertThat( libraries.size(), equalTo( 1 ) );
         assertThat( ( (Artifact) libraries.toArray()[0] 
).getFile().getAbsolutePath(),
                     CoreMatchers.allOf( new BaseMatcher()
@@ -168,7 +170,7 @@
    // @Test
     public void testInit_WithGacGenericAndNovellAndPath()
         throws InitializationException, IOException
-    {
+    {                                         
         String monoRoot = Vendor.getDefaultVendorForOS().equals( Vendor.NOVELL 
) ? "/Mono" : "C:\\Program Files\\Mono";
 
         System.setProperty( "PATH", monoRoot + File.separator + "bin" );
@@ -193,7 +195,7 @@
         ctx.turnOffCompilerExistsCheck();
         ctx.init( project, compilerConfig );
 
-        Set<Artifact> libraries = ctx.getLibraryDependencies();
+        Set<Artifact> libraries = 
ctx.getLibraryDependenciesFor(ArtifactScope.COMPILE);
         assertThat( libraries.size(), equalTo( 1 ) );
         assertThat( ( (Artifact) libraries.toArray()[0] 
).getFile().getAbsolutePath(), equalTo(
             monoRoot + replaceFileSeparator( 
"\\lib\\mono\\gac\\artifactId\\1.0__dsfajkdsfajdfs\\artifactId.dll" ) ) );
@@ -226,7 +228,7 @@
         ctx.turnOffCompilerExistsCheck();
         ctx.init( project, compilerConfig );
 
-        Set<Artifact> libraries = ctx.getLibraryDependencies();
+        Set<Artifact> libraries = 
ctx.getLibraryDependenciesFor(ArtifactScope.COMPILE);
         assertThat( libraries.size(), equalTo( 1 ) );
         assertThat( ( (Artifact) libraries.toArray()[0] 
).getFile().getAbsolutePath(), equalTo(
             monoRoot + replaceFileSeparator( 
"\\lib\\mono\\gac\\artifactId\\1.0__dsfajkdsfajdfs\\artifactId.dll" ) ) );

Added: 
incubator/nmaven/trunk/components/maven-dotnet-compiler/src/test/java/org/apache/maven/dotnet/compiler/impl/DummyArtifactHandler.java
URL: 
http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/maven-dotnet-compiler/src/test/java/org/apache/maven/dotnet/compiler/impl/DummyArtifactHandler.java?rev=607346&view=auto
==============================================================================
--- 
incubator/nmaven/trunk/components/maven-dotnet-compiler/src/test/java/org/apache/maven/dotnet/compiler/impl/DummyArtifactHandler.java
 (added)
+++ 
incubator/nmaven/trunk/components/maven-dotnet-compiler/src/test/java/org/apache/maven/dotnet/compiler/impl/DummyArtifactHandler.java
 Fri Dec 28 14:14:57 2007
@@ -0,0 +1,13 @@
+package org.apache.maven.dotnet.compiler.impl;
+
+import org.apache.maven.artifact.handler.DefaultArtifactHandler;
+
+public final class DummyArtifactHandler
+    extends DefaultArtifactHandler
+{
+
+    public boolean isAddedToClasspath()
+    {
+        return true;
+    }
+}

Propchange: 
incubator/nmaven/trunk/components/maven-dotnet-compiler/src/test/java/org/apache/maven/dotnet/compiler/impl/DummyArtifactHandler.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: 
incubator/nmaven/trunk/components/maven-dotnet-core/src/main/java/org/apache/maven/dotnet/ArtifactScope.java
URL: 
http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/maven-dotnet-core/src/main/java/org/apache/maven/dotnet/ArtifactScope.java?rev=607346&view=auto
==============================================================================
--- 
incubator/nmaven/trunk/components/maven-dotnet-core/src/main/java/org/apache/maven/dotnet/ArtifactScope.java
 (added)
+++ 
incubator/nmaven/trunk/components/maven-dotnet-core/src/main/java/org/apache/maven/dotnet/ArtifactScope.java
 Fri Dec 28 14:14:57 2007
@@ -0,0 +1,35 @@
+package org.apache.maven.dotnet;
+
+public enum ArtifactScope
+{
+    COMPILE( "compile" ),
+    TEST( "test" ),
+    RUNTIME( "runtime" ),
+    PROVIDED( "provided" ),
+    SYSTEM( "system" );
+
+    private final String scope;
+
+    ArtifactScope( String scope )
+    {
+        this.scope = scope;
+    }
+
+    public boolean isMatchByString( String artifactScope )
+    {
+        if ( artifactScope == null )
+        {
+            throw new IllegalArgumentException( "artifactScope" );
+        }
+        return scope.equals( artifactScope );
+    }
+
+    public static ArtifactScope getArtifactScopeFor( String artifactScope )
+    {
+        if ( artifactScope == null )
+        {
+            throw new IllegalArgumentException( "artifactScope" );
+        }
+        return ArtifactScope.valueOf( artifactScope.toUpperCase() );
+    }
+}

Propchange: 
incubator/nmaven/trunk/components/maven-dotnet-core/src/main/java/org/apache/maven/dotnet/ArtifactScope.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: 
incubator/nmaven/trunk/components/maven-dotnet-core/src/main/java/org/apache/maven/dotnet/ArtifactType.java
URL: 
http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/maven-dotnet-core/src/main/java/org/apache/maven/dotnet/ArtifactType.java?rev=607346&r1=607345&r2=607346&view=diff
==============================================================================
--- 
incubator/nmaven/trunk/components/maven-dotnet-core/src/main/java/org/apache/maven/dotnet/ArtifactType.java
 (original)
+++ 
incubator/nmaven/trunk/components/maven-dotnet-core/src/main/java/org/apache/maven/dotnet/ArtifactType.java
 Fri Dec 28 14:14:57 2007
@@ -23,15 +23,14 @@
  */
 public enum ArtifactType
 {
-    MODULE( "dotnet:module", "module", "netmodule" ),
-    LIBRARY( "dotnet:library", "library", "dll" ),
     EXE( "dotnet:exe", "exe", "exe" ),
+    GAC( "dotnet:gac", "library", "dll" ),
+    GAC_32( "dotnet:gac_32", "library", "dll" ),
+    GAC_GENERIC( "dotnet:gac_generic", "library", "dll" ),
+    GAC_MSIL( "dotnet:gac_msil", "library", "dll" ),
+    LIBRARY( "dotnet:library", "library", "dll" ),
+    MODULE( "dotnet:module", "module", "netmodule" ),
     WINEXE( "dotnet:winexe", "winexe", "exe" ),
-    NAR( "dotnet:nar", "null", "nar" ),
-    EXECONFIG( "exe.config", "null", "exe.config" ),
-    NETPLUGIN( "netplugin", "library", "dll" ),
-    VISUAL_STUDIO_ADDIN( "visual-studio-addin", "library", "dll" ),
-    SHARP_DEVELOP_ADDIN( "sharp-develop-addin", "library", "dll" ),
     NULL( "null", "null", "null" );
 
     /**
@@ -89,6 +88,15 @@
         return targetCompileType;
     }
 
+    public boolean isMatchByString( String packaging )
+    {
+        if ( packaging == null )
+        {
+            throw new IllegalArgumentException( "packaging" );
+        }
+        return packaging.equals( packagingType );
+    }
+
     /**
      * Returns artifact type for the specified packaging name
      *
@@ -97,46 +105,16 @@
      */
     public static synchronized ArtifactType getArtifactTypeForPackagingName( 
String packagingName )
     {
-        if ( packagingName.equals( ArtifactType.MODULE.getPackagingType() ) )
-        {
-            return ArtifactType.MODULE;
-        }
-        else if ( packagingName.equals( 
ArtifactType.LIBRARY.getPackagingType() ) )
-        {
-            return ArtifactType.LIBRARY;
-        }
-        else if ( packagingName.equals( ArtifactType.EXE.getPackagingType() ) )
+        if(packagingName == null)
         {
-            return ArtifactType.EXE;
+            throw new IllegalArgumentException("packagingName");
         }
-        else if ( packagingName.equals( ArtifactType.WINEXE.getPackagingType() 
) )
+        String[] packagingNameTokens = packagingName.split( "[:]");
+        if(packagingNameTokens.length != 2 || !packagingNameTokens[0].equals( 
"dotnet"))
         {
-            return ArtifactType.WINEXE;
+            throw new IllegalArgumentException("packagingName");
         }
-        else if ( packagingName.equals( ArtifactType.NAR.getPackagingType() ) )
-        {
-            return ArtifactType.LIBRARY;
-        }
-        else if ( packagingName.equals( ArtifactType.NAR.getPackagingType() ) )
-        {
-            return ArtifactType.NAR;
-        }
-        else if ( packagingName.equals( 
ArtifactType.EXECONFIG.getPackagingType() ) )
-        {
-            return ArtifactType.EXECONFIG;
-        }
-        else if ( packagingName.equals( 
ArtifactType.NETPLUGIN.getPackagingType() ) )
-        {
-            return ArtifactType.NETPLUGIN;
-        }
-        else if ( packagingName.equals( 
ArtifactType.SHARP_DEVELOP_ADDIN.getPackagingType() ) )
-        {
-            return ArtifactType.SHARP_DEVELOP_ADDIN;
-        }
-        else if ( packagingName.equals( 
ArtifactType.VISUAL_STUDIO_ADDIN.getPackagingType() ) )
-        {
-            return ArtifactType.VISUAL_STUDIO_ADDIN;
-        }
-        return ArtifactType.NULL;
+
+        return ArtifactType.valueOf( packagingNameTokens[1].toUpperCase());
     }
 }

Modified: 
incubator/nmaven/trunk/components/maven-dotnet-extensions/src/main/java/org/apache/maven/dotnet/extensions/compiler/CSharpClassCompiler.java
URL: 
http://svn.apache.org/viewvc/incubator/nmaven/trunk/components/maven-dotnet-extensions/src/main/java/org/apache/maven/dotnet/extensions/compiler/CSharpClassCompiler.java?rev=607346&r1=607345&r2=607346&view=diff
==============================================================================
--- 
incubator/nmaven/trunk/components/maven-dotnet-extensions/src/main/java/org/apache/maven/dotnet/extensions/compiler/CSharpClassCompiler.java
 (original)
+++ 
incubator/nmaven/trunk/components/maven-dotnet-extensions/src/main/java/org/apache/maven/dotnet/extensions/compiler/CSharpClassCompiler.java
 Fri Dec 28 14:14:57 2007
@@ -35,6 +35,7 @@
 import org.apache.maven.dotnet.compiler.InvalidArtifactException;
 import org.apache.maven.dotnet.ProgrammingLanguage;
 import org.apache.maven.dotnet.Vendor;
+import org.apache.maven.dotnet.ArtifactScope;
 
 @CompilerAnnotation(programmingLanguaqe = ProgrammingLanguage.C_SHARP,
                     vendors = {Vendor.MICROSOFT, Vendor.NOVELL, Vendor.ANY},
@@ -55,7 +56,7 @@
     public List<String> getCommands()
     {
         DotnetCompilerConfig config = (DotnetCompilerConfig) 
compilerContext.getCompilerConfig();
-        Set<Artifact> references = compilerContext.getLibraryDependencies();
+        Set<Artifact> references = compilerContext.getLibraryDependenciesFor( 
ArtifactScope.COMPILE);
         Set<Artifact> modules = compilerContext.getDirectModuleDependencies();
 
         File sourceDirectory = config.getCompilerDirectory();

Modified: 
incubator/nmaven/trunk/plugins/maven-compiler-plugin/src/main/resources/META-INF/plexus/components.xml
URL: 
http://svn.apache.org/viewvc/incubator/nmaven/trunk/plugins/maven-compiler-plugin/src/main/resources/META-INF/plexus/components.xml?rev=607346&r1=607345&r2=607346&view=diff
==============================================================================
--- 
incubator/nmaven/trunk/plugins/maven-compiler-plugin/src/main/resources/META-INF/plexus/components.xml
 (original)
+++ 
incubator/nmaven/trunk/plugins/maven-compiler-plugin/src/main/resources/META-INF/plexus/components.xml
 Fri Dec 28 14:14:57 2007
@@ -102,6 +102,7 @@
       <configuration>
         <extension>dll</extension>
         <type>dotnet:library</type>
+        <addedToClasspath>true</addedToClasspath>
       </configuration>
     </component>
     <component>
@@ -111,6 +112,7 @@
       <configuration>
         <extension>exe</extension>
         <type>dotnet:exe</type>
+        <addedToClasspath>true</addedToClasspath>
       </configuration>
     </component>
     <component>
@@ -120,6 +122,7 @@
       <configuration>
         <extension>netmodule</extension>
         <type>dotnet:module</type>
+        <addedToClasspath>true</addedToClasspath>
       </configuration>
     </component>
     <component>
@@ -129,6 +132,7 @@
       <configuration>
         <extension>exe</extension>
         <type>dotnet:winexe</type>
+        <addedToClasspath>true</addedToClasspath>
       </configuration>
     </component>
     <component>


Reply via email to