Author: brett Date: Fri Aug 2 08:10:16 2013 New Revision: 1509579 URL: http://svn.apache.org/r1509579 Log: [NPANDAY-589] better detection of v4.5
Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.Utils/src/main/csharp/PomHelperUtility.cs incubator/npanday/trunk/plugins/netplugins/NPanday.Plugin.Settings/src/main/csharp/DotnetSdkLocator.cs incubator/npanday/trunk/plugins/netplugins/NPanday.Plugin.Settings/src/main/csharp/SettingsGeneratorMojo.cs Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.Utils/src/main/csharp/PomHelperUtility.cs URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.Utils/src/main/csharp/PomHelperUtility.cs?rev=1509579&r1=1509578&r2=1509579&view=diff ============================================================================== --- incubator/npanday/trunk/dotnet/assemblies/NPanday.Utils/src/main/csharp/PomHelperUtility.cs (original) +++ incubator/npanday/trunk/dotnet/assemblies/NPanday.Utils/src/main/csharp/PomHelperUtility.cs Fri Aug 2 08:10:16 2013 @@ -1831,82 +1831,6 @@ 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; - } } } Modified: incubator/npanday/trunk/plugins/netplugins/NPanday.Plugin.Settings/src/main/csharp/DotnetSdkLocator.cs URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/plugins/netplugins/NPanday.Plugin.Settings/src/main/csharp/DotnetSdkLocator.cs?rev=1509579&r1=1509578&r2=1509579&view=diff ============================================================================== --- incubator/npanday/trunk/plugins/netplugins/NPanday.Plugin.Settings/src/main/csharp/DotnetSdkLocator.cs (original) +++ incubator/npanday/trunk/plugins/netplugins/NPanday.Plugin.Settings/src/main/csharp/DotnetSdkLocator.cs Fri Aug 2 08:10:16 2013 @@ -83,16 +83,6 @@ namespace NPanday.Plugin.Settings ); } - public string Find4_5() - { - return PathUtil.FirstExisting( - // prefer 32 bit until its made explicit - registryFind(Microsoft_SDKs_Windows_80a, "WinSDK-NetFx40Tools", "InstallationFolder"), - registryFind(Microsoft_SDKs_Windows_80a, "WinSDK-NetFx40Tools-x86", "InstallationFolder"), - registryFind(Microsoft_SDKs_Windows_80a, "WinSDK-NetFx40Tools-x64", "InstallationFolder") - ); - } - private string registryFind(RegistryKey root, string valueKey) { return registryFind(root, null, valueKey); Modified: incubator/npanday/trunk/plugins/netplugins/NPanday.Plugin.Settings/src/main/csharp/SettingsGeneratorMojo.cs URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/plugins/netplugins/NPanday.Plugin.Settings/src/main/csharp/SettingsGeneratorMojo.cs?rev=1509579&r1=1509578&r2=1509579&view=diff ============================================================================== --- incubator/npanday/trunk/plugins/netplugins/NPanday.Plugin.Settings/src/main/csharp/SettingsGeneratorMojo.cs (original) +++ incubator/npanday/trunk/plugins/netplugins/NPanday.Plugin.Settings/src/main/csharp/SettingsGeneratorMojo.cs Fri Aug 2 08:10:16 2013 @@ -194,7 +194,6 @@ namespace NPanday.Plugin.Settings string sdkInstallRoot20 = sdkLocator.Find2_0(); string sdkInstallRoot35 = sdkLocator.Find3_5(); string sdkInstallRoot40 = sdkLocator.Find4_0(); - string sdkInstallRoot45 = sdkLocator.Find4_5(); if (installRoot == null) throw new ExecutionException("NPANDAY-9011-005"); @@ -290,23 +289,25 @@ namespace NPanday.Plugin.Settings vendor.frameworks = vendorFrameworks; vendors.Add(vendor); } - // SDK only - if (sdkInstallRoot45 != null && new DirectoryInfo(sdkInstallRoot45).Exists) + + foreach (string sdk in microsoftRegistryKey.GetSubKeyNames()) { - npandaySettingsVendorsVendor vendor = new npandaySettingsVendorsVendor(); - vendor.vendorName = "MICROSOFT"; - vendor.vendorVersion = "4.5"; - npandaySettingsVendorsVendorFrameworksFramework[] vendorFrameworks = new npandaySettingsVendorsVendorFrameworksFramework[1]; - npandaySettingsVendorsVendorFrameworksFramework vf = new npandaySettingsVendorsVendorFrameworksFramework(); - vf.installRoot = dirInfo40.FullName; - vf.frameworkVersion = "4.5"; - vendorFrameworks[0] = vf; - vf.sdkInstallRoot = sdkInstallRoot45; - FindAndAssignExecutablePaths(vf); - vendor.frameworks = vendorFrameworks; - vendors.Add(vendor); + if (sdk == "v4.5.50709") + { + npandaySettingsVendorsVendor vendor = new npandaySettingsVendorsVendor(); + vendor.vendorName = "MICROSOFT"; + vendor.vendorVersion = "4.5"; + npandaySettingsVendorsVendorFrameworksFramework[] vendorFrameworks = new npandaySettingsVendorsVendorFrameworksFramework[1]; + npandaySettingsVendorsVendorFrameworksFramework vf = new npandaySettingsVendorsVendorFrameworksFramework(); + vf.installRoot = dirInfo40.FullName; + vf.frameworkVersion = "4.5"; + vendorFrameworks[0] = vf; + vf.sdkInstallRoot = sdkInstallRoot40; + FindAndAssignExecutablePaths(vf); + vendor.frameworks = vendorFrameworks; + vendors.Add(vendor); + } } - return vendors.ToArray(); }