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 jo...@apache.org on 2011/05/27 07:27:13 UTC

svn commit: r1128182 - in /incubator/npanday/trunk/dotnet/assemblies: NPanday.ProjectImporter/Engine/src/main/csharp/NPanday/ProjectImporter/Converter/Algorithms/ NPanday.Utils/src/main/csharp/NPanday/Utils/

Author: jocaba
Date: Fri May 27 07:27:13 2011
New Revision: 1128182

URL: http://svn.apache.org/viewvc?rev=1128182&view=rev
Log:
[NPANDAY-425] Msbuild Plugin does not have frameworkVersion configuration

Added configuration frameworkversion for msbuild plugin, although this will still be moved to be a java code later on.

Modified:
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/NPanday/ProjectImporter/Converter/Algorithms/NormalPomConverter.cs
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/NPanday/ProjectImporter/Converter/Algorithms/WebWithVbOrCsProjectFilePomConverter.cs
    incubator/npanday/trunk/dotnet/assemblies/NPanday.Utils/src/main/csharp/NPanday/Utils/PomHelperUtility.cs

Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/NPanday/ProjectImporter/Converter/Algorithms/NormalPomConverter.cs
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/NPanday/ProjectImporter/Converter/Algorithms/NormalPomConverter.cs?rev=1128182&r1=1128181&r2=1128182&view=diff
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/NPanday/ProjectImporter/Converter/Algorithms/NormalPomConverter.cs (original)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/NPanday/ProjectImporter/Converter/Algorithms/NormalPomConverter.cs Fri May 27 07:27:13 2011
@@ -119,6 +119,7 @@ namespace NPanday.ProjectImporter.Conver
                     {
                         Plugin msBuildPlugin = AddPlugin("org.apache.npanday.plugins", "NPanday.Plugin.Msbuild.JavaBinding", null, false);
                         AddPluginExecution(msBuildPlugin, "compile", "validate");
+                        AddPluginConfiguration(msBuildPlugin, "frameworkVersion", ProjectDigest.TargetFramework);
                         msBuildPluginAdded = true;
                     }                    
 

Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/NPanday/ProjectImporter/Converter/Algorithms/WebWithVbOrCsProjectFilePomConverter.cs
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/NPanday/ProjectImporter/Converter/Algorithms/WebWithVbOrCsProjectFilePomConverter.cs?rev=1128182&r1=1128181&r2=1128182&view=diff
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/NPanday/ProjectImporter/Converter/Algorithms/WebWithVbOrCsProjectFilePomConverter.cs (original)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/NPanday/ProjectImporter/Converter/Algorithms/WebWithVbOrCsProjectFilePomConverter.cs Fri May 27 07:27:13 2011
@@ -77,6 +77,15 @@ namespace NPanday.ProjectImporter.Conver
             Plugin aspxPlugin = AddPlugin("org.apache.npanday.plugins", "maven-aspx-plugin");
             if (!string.IsNullOrEmpty(projectDigest.TargetFramework))
                 AddPluginConfiguration(aspxPlugin, "frameworkVersion", projectDigest.TargetFramework);
+                
+            // add msbuild plugin config in pom if there's a maven-resgen-plugin but no msbuild config 
+            // generates resources in target/bin folder
+            if (( FindPlugin("npanday.plugin", "maven-resgen-plugin") != null  && FindPlugin("npanday.plugin", "NPanday.Plugin.Msbuild.JavaBinding") == null) || ( FindPlugin("org.apache.npanday.plugins", "maven-resgen-plugin") != null  && FindPlugin("org.apache.npanday.plugins", "NPanday.Plugin.Msbuild.JavaBinding") == null)) 
+            {
+                Plugin msBuildPlugin = AddPlugin("org.apache.npanday.plugins", "NPanday.Plugin.Msbuild.JavaBinding");
+                AddPluginExecution(msBuildPlugin, "compile", "validate");
+                AddPluginConfiguration(msBuildPlugin, "frameworkVersion", ProjectDigest.TargetFramework);
+            }    
 
             if (writePom)
             {

Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.Utils/src/main/csharp/NPanday/Utils/PomHelperUtility.cs
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.Utils/src/main/csharp/NPanday/Utils/PomHelperUtility.cs?rev=1128182&r1=1128181&r2=1128182&view=diff
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.Utils/src/main/csharp/NPanday/Utils/PomHelperUtility.cs (original)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.Utils/src/main/csharp/NPanday/Utils/PomHelperUtility.cs Fri May 27 07:27:13 2011
@@ -1851,6 +1851,82 @@ namespace NPanday.Utils
             }
             return exists;
         }
+        
+        //Gets the frameworkVersion of a given project and plugin
+        public static string GetFrameworkVersion(NPanday.Model.Pom.Model mavenProject, string pluginName)
+        {
+            XmlElement frameworkConfig = null;
+            String frameworkVersion = string.Empty;
+
+            //Loop through the plugins to locate the ms build plugin and get it's frameworkVersion
+            if (mavenProject.build.plugins != null)
+            {
+                foreach (NPanday.Model.Pom.Plugin item in mavenProject.build.plugins)
+                {
+                    if (item.artifactId.Equals(pluginName) && item.configuration != null)
+                    {
+                        foreach (XmlElement el in item.configuration.Any)
+                        {
+                            if ("frameworkVersion".Equals(el.Name))
+                            {
+                                frameworkConfig = el;
+                                frameworkVersion = frameworkConfig.InnerText;
+                            }
+                        }
+                    }
+                }
+            }
+
+            //We need to cast the 3.0 frameworkVersion to 3.5 because 3.0 is not a complete working path
+            if (frameworkVersion.Equals("3.0"))
+            {
+                frameworkVersion = "3.5";
+            }
+            
+            //Set to default value of 2.0.50727 framework if no frameworkVersion configured
+            if ("".Equals(frameworkVersion) || null == frameworkVersion)
+            {
+                frameworkVersion = "2.0.50727";
+            }
+
+            return frameworkVersion;
+        }
+
+        //Reading the npanday-settings.xml file to get the sdkInstallRoot
+        public static string GetSdkInstallRoot(String npandaySettings, string frameworkVersion)
+        {
+           String userHomePath = (Environment.OSVersion.Platform == PlatformID.Unix ||
+            Environment.OSVersion.Platform == PlatformID.MacOSX)
+? Environment.GetEnvironmentVariable("HOME")
+: Environment.ExpandEnvironmentVariables("%HOMEDRIVE%%HOMEPATH%");
+            
+            userHomePath += "/.m2/npanday-settings.xml";
+
+            if (File.Exists(userHomePath))
+            {
+                npandaySettings = userHomePath;
+            }
+            else
+            {
+                //Use the USERPROFILE for machines without  homedrive homepath env var setup
+                npandaySettings = Environment.GetEnvironmentVariable("USERPROFILE") + "/.m2/npanday-settings.xml";
+            }
+            
+            XmlDocument doc = new XmlDocument();
+            doc.Load(npandaySettings);
+
+            string frameworkPath = string.Empty;
+
+            foreach (XmlElement elem in doc.SelectNodes("npandaySettings/vendors/vendor/frameworks/framework"))
+            {
+                if (frameworkVersion.Equals(elem.SelectSingleNode("frameworkVersion").InnerXml))
+                {
+                    frameworkPath = elem.SelectSingleNode("installRoot").InnerXml;
+                }
+
+            }
+            return frameworkPath;
+        }
     }
 }
 



Re: svn commit: r1128182 - in /incubator/npanday/trunk/dotnet/assemblies: NPanday.ProjectImporter/Engine/src/main/csharp/NPanday/ProjectImporter/Converter/Algorithms/ NPanday.Utils/src/main/csharp/NPanday/Utils/

Posted by Brett Porter <br...@apache.org>.
Joe,

Did you mean to re-add this? It was deliberately removed in r1041711.

- Brett

On 27/05/2011, at 5:27 PM, jocaba@apache.org wrote:

> Author: jocaba
> Date: Fri May 27 07:27:13 2011
> New Revision: 1128182
> 
> URL: http://svn.apache.org/viewvc?rev=1128182&view=rev
> Log:
> [NPANDAY-425] Msbuild Plugin does not have frameworkVersion configuration
> 
> Added configuration frameworkversion for msbuild plugin, although this will still be moved to be a java code later on.
> 
> Modified:
>    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/NPanday/ProjectImporter/Converter/Algorithms/NormalPomConverter.cs
>    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/NPanday/ProjectImporter/Converter/Algorithms/WebWithVbOrCsProjectFilePomConverter.cs
>    incubator/npanday/trunk/dotnet/assemblies/NPanday.Utils/src/main/csharp/NPanday/Utils/PomHelperUtility.cs
> 
> 
> Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/NPanday/ProjectImporter/Converter/Algorithms/WebWithVbOrCsProjectFilePomConverter.cs
> URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/NPanday/ProjectImporter/Converter/Algorithms/WebWithVbOrCsProjectFilePomConverter.cs?rev=1128182&r1=1128181&r2=1128182&view=diff
> ==============================================================================
> --- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/NPanday/ProjectImporter/Converter/Algorithms/WebWithVbOrCsProjectFilePomConverter.cs (original)
> +++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/NPanday/ProjectImporter/Converter/Algorithms/WebWithVbOrCsProjectFilePomConverter.cs Fri May 27 07:27:13 2011
> @@ -77,6 +77,15 @@ namespace NPanday.ProjectImporter.Conver
>             Plugin aspxPlugin = AddPlugin("org.apache.npanday.plugins", "maven-aspx-plugin");
>             if (!string.IsNullOrEmpty(projectDigest.TargetFramework))
>                 AddPluginConfiguration(aspxPlugin, "frameworkVersion", projectDigest.TargetFramework);
> +                
> +            // add msbuild plugin config in pom if there's a maven-resgen-plugin but no msbuild config 
> +            // generates resources in target/bin folder
> +            if (( FindPlugin("npanday.plugin", "maven-resgen-plugin") != null  && FindPlugin("npanday.plugin", "NPanday.Plugin.Msbuild.JavaBinding") == null) || ( FindPlugin("org.apache.npanday.plugins", "maven-resgen-plugin") != null  && FindPlugin("org.apache.npanday.plugins", "NPanday.Plugin.Msbuild.JavaBinding") == null)) 
> +            {
> +                Plugin msBuildPlugin = AddPlugin("org.apache.npanday.plugins", "NPanday.Plugin.Msbuild.JavaBinding");
> +                AddPluginExecution(msBuildPlugin, "compile", "validate");
> +                AddPluginConfiguration(msBuildPlugin, "frameworkVersion", ProjectDigest.TargetFramework);
> +            }    
> 
>             if (writePom)
>             {

--
Brett Porter
brett@apache.org
http://brettporter.wordpress.com/
http://au.linkedin.com/in/brettporter