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;
+        }
     }
 }
 


Reply via email to