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