You are viewing a plain text version of this content. The canonical link for it is here.
Posted to npanday-commits@incubator.apache.org by br...@apache.org on 2014/03/20 07:54:25 UTC

svn commit: r1579555 - in /incubator/npanday/trunk: dotnet/assemblies/NPanday.Plugin/src/main/csharp/ plugins/netplugins/NPanday.Plugin.Msbuild/javabinding/src/main/java/NPanday/Plugin/Msbuild/ plugins/netplugins/NPanday.Plugin.Msbuild/src/main/csharp/...

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;