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