Author: brett
Date: Thu Mar 20 07:54:24 2014
New Revision: 1579555

URL: http://svn.apache.org/r1579555
Log:
fully support configurations in MSBuild plugin

Modified:
    
incubator/npanday/trunk/dotnet/assemblies/NPanday.Plugin/src/main/csharp/AbstractMojo.cs
    
incubator/npanday/trunk/plugins/netplugins/NPanday.Plugin.Msbuild/javabinding/src/main/java/NPanday/Plugin/Msbuild/MsbuildMojo.java
    
incubator/npanday/trunk/plugins/netplugins/NPanday.Plugin.Msbuild/src/main/csharp/NPanday/Plugin/Msbuild/MsbuildMojo.cs

Modified: 
incubator/npanday/trunk/dotnet/assemblies/NPanday.Plugin/src/main/csharp/AbstractMojo.cs
URL: 
http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.Plugin/src/main/csharp/AbstractMojo.cs?rev=1579555&r1=1579554&r2=1579555&view=diff
==============================================================================
--- 
incubator/npanday/trunk/dotnet/assemblies/NPanday.Plugin/src/main/csharp/AbstractMojo.cs
 (original)
+++ 
incubator/npanday/trunk/dotnet/assemblies/NPanday.Plugin/src/main/csharp/AbstractMojo.cs
 Thu Mar 20 07:54:24 2014
@@ -50,14 +50,18 @@ namespace NPanday.Plugin
                        FieldInjectorRepository fieldInjectorRepository = new 
FieldInjectorRepository();
                        
                        while(reader.Read() == true)
-                       {       
-                               FieldInfo fieldInfo = 
GetFieldInfoFor(this.GetMojoImplementationType(), reader.Name);                 
          
-                               if(fieldInfo != null) 
-                               {
-                                       IFieldInjector fieldInjector = 
fieldInjectorRepository.getFieldInjectorFor(fieldInfo);
-                                       fieldInjector.Inject(this, fieldInfo, 
reader.ReadString() );                                                          
          
-                               }                                       
-                       }               
+                       {
+                           // skip root element
+                           if (reader.Depth > 0)
+                           {
+                    FieldInfo fieldInfo = 
GetFieldInfoFor(this.GetMojoImplementationType(), reader.Name);
+                    if(fieldInfo != null)
+                    {
+                        IFieldInjector fieldInjector = 
fieldInjectorRepository.getFieldInjectorFor(fieldInfo);
+                        fieldInjector.Inject(this, fieldInfo, 
reader.ReadString() );
+                    }
+                           }
+                       }
         }
         
        // public List<JavaClass> CreateJavaClassesForPlugin()

Modified: 
incubator/npanday/trunk/plugins/netplugins/NPanday.Plugin.Msbuild/javabinding/src/main/java/NPanday/Plugin/Msbuild/MsbuildMojo.java
URL: 
http://svn.apache.org/viewvc/incubator/npanday/trunk/plugins/netplugins/NPanday.Plugin.Msbuild/javabinding/src/main/java/NPanday/Plugin/Msbuild/MsbuildMojo.java?rev=1579555&r1=1579554&r2=1579555&view=diff
==============================================================================
--- 
incubator/npanday/trunk/plugins/netplugins/NPanday.Plugin.Msbuild/javabinding/src/main/java/NPanday/Plugin/Msbuild/MsbuildMojo.java
 (original)
+++ 
incubator/npanday/trunk/plugins/netplugins/NPanday.Plugin.Msbuild/javabinding/src/main/java/NPanday/Plugin/Msbuild/MsbuildMojo.java
 Thu Mar 20 07:54:24 2014
@@ -106,9 +106,10 @@ public class MsbuildMojo
     private File referencesDirectory;
 
     /**
-     * @parameter default-value="Debug"
+     * @parameter expression="${msbuild.configuration}" default-value="Debug"
      */
-    private String configuration;
+    @FieldAnnotation()
+    public String configuration;
 
     /**
      * @parameter 
@@ -253,8 +254,8 @@ public class MsbuildMojo
                     // Likely a project reference in MSBuild. 
                     // If the other project was not built with MSBuild, make 
sure the artifact is present where it will look for it
                     // Note: deliberately limited for now - will only work 
with reactor projects and doesn't test what are references and what are not
-                    // TODO: support other configurations, or more aligned 
MSBuild-based builds
-                    targetDir = new File( projects.get( vKey ).getBasedir(), 
"bin/Debug" );
+                    File binDir = new File( projects.get( vKey ).getBasedir(), 
"bin" );
+                    targetDir = new File( binDir, configuration );
                 }
                 File targetFile = new File( targetDir, a.getArtifactId() + "." 
+ a.getArtifactHandler().getExtension() );
     

Modified: 
incubator/npanday/trunk/plugins/netplugins/NPanday.Plugin.Msbuild/src/main/csharp/NPanday/Plugin/Msbuild/MsbuildMojo.cs
URL: 
http://svn.apache.org/viewvc/incubator/npanday/trunk/plugins/netplugins/NPanday.Plugin.Msbuild/src/main/csharp/NPanday/Plugin/Msbuild/MsbuildMojo.cs?rev=1579555&r1=1579554&r2=1579555&view=diff
==============================================================================
--- 
incubator/npanday/trunk/plugins/netplugins/NPanday.Plugin.Msbuild/src/main/csharp/NPanday/Plugin/Msbuild/MsbuildMojo.cs
 (original)
+++ 
incubator/npanday/trunk/plugins/netplugins/NPanday.Plugin.Msbuild/src/main/csharp/NPanday/Plugin/Msbuild/MsbuildMojo.cs
 Thu Mar 20 07:54:24 2014
@@ -50,6 +50,9 @@ namespace NPanday.Plugin.Msbuild
         [FieldAttribute("extraArguments", Expression = 
"${msbuild.extraArguments}", Type = "java.lang.String")]
         public string extraArguments;
 
+        [FieldAttribute("configuration", Expression = 
"${msbuild.configuration}", Type = "java.lang.String")]
+        public string configuration;
+
         public override Type GetMojoImplementationType()
         {
             return this.GetType();
@@ -81,6 +84,10 @@ namespace NPanday.Plugin.Msbuild
                 // erroneously triggers the NPANDAY-063-001 error
                 // BuildingInsideVisualStudio is required to avoid building 
project references on framework 2.0
                 string args = "/v:q /p:BuildProjectReferences=false 
/p:BuildingInsideVisualStudio=true";
+                if (!string.IsNullOrEmpty(configuration))
+                {
+                    args += " /p:Configuration=" + configuration;
+                }
                 if (!string.IsNullOrEmpty(extraArguments))
                 {
                     args += " " + extraArguments;


Reply via email to