Author: brett Date: Sat Mar 2 01:12:08 2013 New Revision: 1451803 URL: http://svn.apache.org/r1451803 Log: [NPANDAY-578] add support for target framework directory
Added via a property so that the build system can easily override. Using system paths are certainly not ideal, but this may encourage users to more easily load the artifacts into a suitable repository rather than the effective system path of the GAC. In addition, the property paves the way to be able to set that at build time from NPanday's Maven plugins using a similar resolution technique. Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AbstractPomConverter.cs incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Algorithms/NormalProjectDigestAlgorithm.cs incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Model/ProjectDigest.cs incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/MvcApplication1/MvcApplication1/pom.test incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/NPANDAY-445-NET40GAC/NPANDAY-445-NET40GAC/pom.test incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/NPANDAY_571/WorkerRole1/pom.test incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/SilverlightApplication1/SilverlightApplication1.Web/pom.test incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/SilverlightApplication5/SilverlightApplication5.Web/pom.test incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WpfApplication1/WpfApplication1/pom.test Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AbstractPomConverter.cs URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AbstractPomConverter.cs?rev=1451803&r1=1451802&r2=1451803&view=diff ============================================================================== --- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AbstractPomConverter.cs (original) +++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AbstractPomConverter.cs Sat Mar 2 01:12:08 2013 @@ -74,6 +74,7 @@ namespace NPanday.ProjectImporter.Conver protected NPanday.Model.Pom.Model model; private static List<Artifact.Artifact> testingArtifacts; + private Dictionary<string, string> TargetFrameworkDirectories; public NPanday.Model.Pom.Model Model { @@ -756,6 +757,7 @@ namespace NPanday.ProjectImporter.Conver // NPanday uses the following order: // - Files from artifact repository // - The hintpath (step 3 above) + // - The target framework directories (step 4 above) // - The GAC (step 7 above) Dependency refDependency; @@ -767,6 +769,10 @@ namespace NPanday.ProjectImporter.Conver if (refDependency == null) refDependency = ResolveDependencyFromHintPath(reference); + // resolve from target framework directories + if (refDependency == null) + refDependency = ResolveDependencyFromTargetFrameworkDirectories(reference); + // resolve from GAC if (refDependency == null) refDependency = ResolveDependencyFromGAC(reference); @@ -777,6 +783,153 @@ namespace NPanday.ProjectImporter.Conver return refDependency; } + private Dependency ResolveDependencyFromTargetFrameworkDirectories(Reference reference) + { + Dictionary<string,string> directories = GetTargetFrameworkDirectories(); + + foreach (KeyValuePair<string,string> entry in directories) + { + string directory = entry.Value; + string path = Path.Combine(directory, reference.Name + ".dll"); + if (File.Exists(path)) + { + string var = "npanday." + entry.Key; + AddProperty(var, directory); + Dependency refDependency = CreateDependencyFromSystemPath(reference, "${" + var + "}/" + reference.Name + ".dll"); + log.DebugFormat("Resolved {0} from target framework directories: {1}:{2}:{3}", + reference.Name, refDependency.groupId, refDependency.artifactId, refDependency.version); + return refDependency; + } + } + return null; + } + + private void AddProperty(string var, string value) + { + if (model.properties == null) + model.properties = new ModelProperties(); + + List<XmlElement> elems = new List<XmlElement>(); + if (model.properties.Any != null) + { + foreach (XmlElement e in model.properties.Any) + { + Console.WriteLine(e.ToString()); + if (e.Name == var) + { + if (e.InnerText != value) + throw new Exception("Inconsistent property: " + var + " replacing " + e.Value + " with " + value); + else + return; + } + else + { + elems.Add(e); + } + } + } + + XmlDocument xmlDocument = new XmlDocument(); + + XmlElement elem = xmlDocument.CreateElement(var, @"http://maven.apache.org/POM/4.0.0"); + elem.InnerText = value; + elems.Add(elem); + + model.properties.Any = elems.ToArray(); + } + + protected Dictionary<string, string> GetTargetFrameworkDirectories() + { + if (TargetFrameworkDirectories == null) + { + // TODO: add support for Silverlight + // TODO: add support for WinFX, which adds: $(CLR_REF_PATH) and $(WinFXAssemblyDirectory) (constructed by an MSBuild task) + // TODO: add support for CompactFramework, which overwrites with the output of the GetDeviceFrameworkPath MSBuild task + + Dictionary<string, string> targetFrameworkDirectories = new Dictionary<string, string>(); + + if (projectDigest.TargetFramework == "4.0") + AddTargetFrameworkDirectory(targetFrameworkDirectories, "GetPathToDotNetFramework", "Version40", "Framework40"); + else if (projectDigest.TargetFramework == "3.5") + AddTargetFrameworkDirectory(targetFrameworkDirectories, "GetPathToDotNetFramework", "Version35", "Framework35"); + else if (projectDigest.TargetFramework == "3.5" || projectDigest.TargetFramework == "3.0") + AddTargetFrameworkDirectory(targetFrameworkDirectories, "GetPathToDotNetFramework", "Version30", "Framework30"); + else if (projectDigest.TargetFramework == "3.5" || projectDigest.TargetFramework == "3.0" || projectDigest.TargetFramework == "2.0") + AddTargetFrameworkDirectory(targetFrameworkDirectories, "GetPathToDotNetFramework", "Version20", "Framework20"); + else if (projectDigest.TargetFramework == "1.1") + AddTargetFrameworkDirectory(targetFrameworkDirectories, "GetPathToDotNetFramework", "Version11", "Framework11"); + else + log.WarnFormat("Unsupported framework version for determining target framework directories: {0}", projectDigest.TargetFramework); + + // Add SDK directory + if (projectDigest.TargetFramework == "4.0") + AddTargetFrameworkDirectory(targetFrameworkDirectories, "GetPathToDotNetFrameworkSdk", "Version40", "FrameworkSdk40"); + else if (projectDigest.TargetFramework == "3.5") + AddTargetFrameworkDirectory(targetFrameworkDirectories, "GetPathToDotNetFrameworkSdk", "Version35", "FrameworkSdk35"); + else if (projectDigest.TargetFramework == "3.0") + AddTargetFrameworkDirectory(targetFrameworkDirectories, "GetPathToDotNetFrameworkSdk", "Version30", "FrameworkSdk30"); + else if (projectDigest.TargetFramework == "2.0") + AddTargetFrameworkDirectory(targetFrameworkDirectories, "GetPathToDotNetFrameworkSdk", "Version20", "FrameworkSdk20"); + else if (projectDigest.TargetFramework == "1.1") + AddTargetFrameworkDirectory(targetFrameworkDirectories, "GetPathToDotNetFrameworkSdk", "Version11", "FrameworkSdk11"); + + log.InfoFormat("Target framework directories: {0}", string.Join(",", new List<string>(targetFrameworkDirectories.Values).ToArray())); + TargetFrameworkDirectories = targetFrameworkDirectories; + } + return TargetFrameworkDirectories; + } + + private void AddTargetFrameworkDirectory(Dictionary<string, string> directories, string method, string version, string key) + { + // If the VS requirement moves up to a newer .NET requirement, we can just do: + // ToolLocationHelper.GetPathToDotNetFramework(TargetDotNetFrameworkVersion.Version40); + // However, when targetting an earlier version we end up with Microsoft.Build.Utilities and Microsoft.Build.Utilities.v4.0 + // in the list of assemblies, and there's no guarantee the types will be loaded from the right one + + // Iterate over loaded assemblies to find ToolLocationHelper + Type helperType = null; + Type versionType = null; + foreach (System.Reflection.Assembly a in AppDomain.CurrentDomain.GetAssemblies()) + { + if (a.GetName().Name.StartsWith("Microsoft.Build.Utilities")) + { + foreach (Type t in a.GetExportedTypes()) + { + if (t.Name == "ToolLocationHelper") + { + helperType = t; + } + else if (t.Name == "TargetDotNetFrameworkVersion") + { + versionType = t; + } + } + } + } + + if (helperType == null) + { + log.Error("Unable to find ToolLocationHelper type"); + } + else if (versionType == null) + { + log.Error("Unable to find TargetDotNetFrameworkVersion type"); + } + else + { + log.DebugFormat("Using ToolLocationHelper from {0}; TargetDotNetFrameworkVersion from {1}", + helperType.Assembly.GetName(), versionType.Assembly.GetName()); + + string value = (string)helperType.InvokeMember(method, + System.Reflection.BindingFlags.InvokeMethod, System.Type.DefaultBinder, "", + new object[] { Enum.Parse(versionType, version) }); + + log.DebugFormat("Adding target directory {0} = {1}", key, value); + if (value == "" || value == null) throw new Exception("key bad: " + key + "; " + helperType.Assembly.GetName() + ", " + versionType.Assembly.GetName()); + directories.Add(key, value); + } + } + private Dependency ResolveDependencyFromLocalRepository(Reference reference) { Artifact.Artifact artifact = GetArtifact(reference); @@ -818,14 +971,7 @@ namespace NPanday.ProjectImporter.Conver { WarnNonPortableReference(reference.HintFullPath); - Dependency refDependency = new Dependency(); - refDependency.artifactId = reference.Name; - refDependency.groupId = reference.Name; - refDependency.version = reference.Version ?? "1.0.0.0"; - refDependency.type = "dotnet-library"; - refDependency.scope = "system"; - refDependency.systemPath = reference.HintFullPath; - return refDependency; + return CreateDependencyFromSystemPath(reference, reference.HintFullPath); } else { @@ -855,6 +1001,18 @@ namespace NPanday.ProjectImporter.Conver return null; } + private static Dependency CreateDependencyFromSystemPath(Reference reference, string path) + { + Dependency refDependency = new Dependency(); + refDependency.artifactId = reference.Name; + refDependency.groupId = reference.Name; + refDependency.version = reference.Version ?? "1.0.0.0"; + refDependency.type = "dotnet-library"; + refDependency.scope = "system"; + refDependency.systemPath = path; + return refDependency; + } + private Dependency ResolveDependencyFromGAC(Reference reference) { List<string> refs = GacUtility.GetInstance().GetAssemblyInfo(reference.Name, reference.Version, projectDigest.Platform); Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Algorithms/NormalProjectDigestAlgorithm.cs URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Algorithms/NormalProjectDigestAlgorithm.cs?rev=1451803&r1=1451802&r2=1451803&view=diff ============================================================================== --- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Algorithms/NormalProjectDigestAlgorithm.cs (original) +++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Algorithms/NormalProjectDigestAlgorithm.cs Sat Mar 2 01:12:08 2013 @@ -656,6 +656,10 @@ namespace NPanday.ProjectImporter.Digest { projectDigest.SchemaVersion = buildProperty.Value; } + else if ("TargetFrameworkIdentifier".Equals(buildProperty.Name, StringComparison.OrdinalIgnoreCase)) + { + projectDigest.TargetFrameworkIdentifier = buildProperty.Value; + } else if ("TargetFrameworkVersion".Equals(buildProperty.Name, StringComparison.OrdinalIgnoreCase)) { // changed the version to the more specific version Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Model/ProjectDigest.cs URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Model/ProjectDigest.cs?rev=1451803&r1=1451802&r2=1451803&view=diff ============================================================================== --- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Model/ProjectDigest.cs (original) +++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Model/ProjectDigest.cs Sat Mar 2 01:12:08 2013 @@ -580,5 +580,12 @@ namespace NPanday.ProjectImporter.Digest get { return cloudConfig; } set { cloudConfig = value; } } + + private string targetFrameworkIdentifier; + public string TargetFrameworkIdentifier + { + get { return targetFrameworkIdentifier; } + set { targetFrameworkIdentifier = value; } + } } } Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/MvcApplication1/MvcApplication1/pom.test URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/MvcApplication1/MvcApplication1/pom.test?rev=1451803&r1=1451802&r2=1451803&view=diff ============================================================================== --- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/MvcApplication1/MvcApplication1/pom.test (original) +++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/MvcApplication1/MvcApplication1/pom.test Sat Mar 2 01:12:08 2013 @@ -62,8 +62,9 @@ <groupId>System.Data.Entity</groupId> <artifactId>System.Data.Entity</artifactId> <version>4.0.0.0</version> - <type>gac_msil4</type> - <classifier>b77a5c561934e089</classifier> + <type>dotnet-library</type> + <scope>system</scope> + <systemPath>${npanday.Framework40}/System.Data.Entity.dll</systemPath> </dependency> <dependency> <groupId>System.Web.Mvc</groupId> @@ -90,43 +91,52 @@ <groupId>System.Web.DynamicData</groupId> <artifactId>System.Web.DynamicData</artifactId> <version>4.0.0.0</version> - <type>gac_msil4</type> - <classifier>31bf3856ad364e35</classifier> + <type>dotnet-library</type> + <scope>system</scope> + <systemPath>${npanday.Framework40}/System.Web.DynamicData.dll</systemPath> </dependency> <dependency> <groupId>System.Web.Entity</groupId> <artifactId>System.Web.Entity</artifactId> <version>4.0.0.0</version> - <type>gac_msil4</type> - <classifier>b77a5c561934e089</classifier> + <type>dotnet-library</type> + <scope>system</scope> + <systemPath>${npanday.Framework40}/System.Web.Entity.dll</systemPath> </dependency> <dependency> <groupId>System.Web.ApplicationServices</groupId> <artifactId>System.Web.ApplicationServices</artifactId> <version>4.0.0.0</version> - <type>gac_msil4</type> - <classifier>31bf3856ad364e35</classifier> + <type>dotnet-library</type> + <scope>system</scope> + <systemPath>${npanday.Framework40}/System.Web.ApplicationServices.dll</systemPath> </dependency> <dependency> <groupId>System.ComponentModel.DataAnnotations</groupId> <artifactId>System.ComponentModel.DataAnnotations</artifactId> <version>4.0.0.0</version> - <type>gac_msil4</type> - <classifier>31bf3856ad364e35</classifier> + <type>dotnet-library</type> + <scope>system</scope> + <systemPath>${npanday.Framework40}/System.ComponentModel.DataAnnotations.dll</systemPath> </dependency> <dependency> <groupId>System.Web.Abstractions</groupId> <artifactId>System.Web.Abstractions</artifactId> <version>4.0.0.0</version> - <type>gac_msil4</type> - <classifier>31bf3856ad364e35</classifier> + <type>dotnet-library</type> + <scope>system</scope> + <systemPath>${npanday.Framework40}/System.Web.Abstractions.dll</systemPath> </dependency> <dependency> <groupId>System.Web.Routing</groupId> <artifactId>System.Web.Routing</artifactId> <version>4.0.0.0</version> - <type>gac_msil4</type> - <classifier>31bf3856ad364e35</classifier> + <type>dotnet-library</type> + <scope>system</scope> + <systemPath>${npanday.Framework40}/System.Web.Routing.dll</systemPath> </dependency> </dependencies> + <properties> + <npanday.Framework40>C:\Windows\Microsoft.NET\Framework\v4.0.30319</npanday.Framework40> + </properties> </project> Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/NPANDAY-445-NET40GAC/NPANDAY-445-NET40GAC/pom.test URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/NPANDAY-445-NET40GAC/NPANDAY-445-NET40GAC/pom.test?rev=1451803&r1=1451802&r2=1451803&view=diff ============================================================================== --- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/NPANDAY-445-NET40GAC/NPANDAY-445-NET40GAC/pom.test (original) +++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/NPANDAY-445-NET40GAC/NPANDAY-445-NET40GAC/pom.test Sat Mar 2 01:12:08 2013 @@ -33,15 +33,17 @@ <groupId>Microsoft.VisualBasic</groupId> <artifactId>Microsoft.VisualBasic</artifactId> <version>10.0.0.0</version> - <type>gac_msil4</type> - <classifier>b03f5f7f11d50a3a</classifier> + <type>dotnet-library</type> + <scope>system</scope> + <systemPath>${npanday.Framework40}/Microsoft.VisualBasic.dll</systemPath> </dependency> <dependency> <groupId>System.IdentityModel</groupId> <artifactId>System.IdentityModel</artifactId> <version>4.0.0.0</version> - <type>gac_msil4</type> - <classifier>b77a5c561934e089</classifier> + <type>dotnet-library</type> + <scope>system</scope> + <systemPath>${npanday.Framework40}/System.IdentityModel.dll</systemPath> </dependency> <dependency> <groupId>System.Web.Mvc</groupId> @@ -51,4 +53,7 @@ <classifier>31bf3856ad364e35</classifier> </dependency> </dependencies> + <properties> + <npanday.Framework40>C:\Windows\Microsoft.NET\Framework\v4.0.30319</npanday.Framework40> + </properties> </project> Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/NPANDAY_571/WorkerRole1/pom.test URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/NPANDAY_571/WorkerRole1/pom.test?rev=1451803&r1=1451802&r2=1451803&view=diff ============================================================================== --- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/NPANDAY_571/WorkerRole1/pom.test (original) +++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/NPANDAY_571/WorkerRole1/pom.test Sat Mar 2 01:12:08 2013 @@ -71,8 +71,12 @@ <groupId>System.Data.Services.Client</groupId> <artifactId>System.Data.Services.Client</artifactId> <version>4.0.0.0</version> - <type>gac_msil4</type> - <classifier>b77a5c561934e089</classifier> + <type>dotnet-library</type> + <scope>system</scope> + <systemPath>${npanday.Framework40}/System.Data.Services.Client.dll</systemPath> </dependency> </dependencies> + <properties> + <npanday.Framework40>C:\Windows\Microsoft.NET\Framework\v4.0.30319</npanday.Framework40> + </properties> </project> Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/SilverlightApplication1/SilverlightApplication1.Web/pom.test URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/SilverlightApplication1/SilverlightApplication1.Web/pom.test?rev=1451803&r1=1451802&r2=1451803&view=diff ============================================================================== --- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/SilverlightApplication1/SilverlightApplication1.Web/pom.test (original) +++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/SilverlightApplication1/SilverlightApplication1.Web/pom.test Sat Mar 2 01:12:08 2013 @@ -61,22 +61,25 @@ <groupId>System.Web.DynamicData</groupId> <artifactId>System.Web.DynamicData</artifactId> <version>4.0.0.0</version> - <type>gac_msil4</type> - <classifier>31bf3856ad364e35</classifier> + <type>dotnet-library</type> + <scope>system</scope> + <systemPath>${npanday.Framework40}/System.Web.DynamicData.dll</systemPath> </dependency> <dependency> <groupId>System.Web.Entity</groupId> <artifactId>System.Web.Entity</artifactId> <version>4.0.0.0</version> - <type>gac_msil4</type> - <classifier>b77a5c561934e089</classifier> + <type>dotnet-library</type> + <scope>system</scope> + <systemPath>${npanday.Framework40}/System.Web.Entity.dll</systemPath> </dependency> <dependency> <groupId>System.Web.ApplicationServices</groupId> <artifactId>System.Web.ApplicationServices</artifactId> <version>4.0.0.0</version> - <type>gac_msil4</type> - <classifier>31bf3856ad364e35</classifier> + <type>dotnet-library</type> + <scope>system</scope> + <systemPath>${npanday.Framework40}/System.Web.ApplicationServices.dll</systemPath> </dependency> <dependency> <groupId>test.group</groupId> @@ -93,4 +96,7 @@ <scope>runtime</scope> </dependency> </dependencies> + <properties> + <npanday.Framework40>C:\Windows\Microsoft.NET\Framework\v4.0.30319</npanday.Framework40> + </properties> </project> Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/SilverlightApplication5/SilverlightApplication5.Web/pom.test URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/SilverlightApplication5/SilverlightApplication5.Web/pom.test?rev=1451803&r1=1451802&r2=1451803&view=diff ============================================================================== --- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/SilverlightApplication5/SilverlightApplication5.Web/pom.test (original) +++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/SilverlightApplication5/SilverlightApplication5.Web/pom.test Sat Mar 2 01:12:08 2013 @@ -61,22 +61,28 @@ <groupId>System.Web.DynamicData</groupId> <artifactId>System.Web.DynamicData</artifactId> <version>4.0.0.0</version> - <type>gac_msil4</type> - <classifier>31bf3856ad364e35</classifier> + <type>dotnet-library</type> + <scope>system</scope> + <systemPath>${npanday.Framework40}/System.Web.DynamicData.dll</systemPath> </dependency> <dependency> <groupId>System.Web.Entity</groupId> <artifactId>System.Web.Entity</artifactId> <version>4.0.0.0</version> - <type>gac_msil4</type> - <classifier>b77a5c561934e089</classifier> + <type>dotnet-library</type> + <scope>system</scope> + <systemPath>${npanday.Framework40}/System.Web.Entity.dll</systemPath> </dependency> <dependency> <groupId>System.Web.ApplicationServices</groupId> <artifactId>System.Web.ApplicationServices</artifactId> <version>4.0.0.0</version> - <type>gac_msil4</type> - <classifier>31bf3856ad364e35</classifier> + <type>dotnet-library</type> + <scope>system</scope> + <systemPath>${npanday.Framework40}/System.Web.ApplicationServices.dll</systemPath> </dependency> </dependencies> + <properties> + <npanday.Framework40>C:\Windows\Microsoft.NET\Framework\v4.0.30319</npanday.Framework40> + </properties> </project> Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WpfApplication1/WpfApplication1/pom.test URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WpfApplication1/WpfApplication1/pom.test?rev=1451803&r1=1451802&r2=1451803&view=diff ============================================================================== --- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WpfApplication1/WpfApplication1/pom.test (original) +++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/test/resource/WpfApplication1/WpfApplication1/pom.test Sat Mar 2 01:12:08 2013 @@ -68,8 +68,9 @@ <groupId>System.Xaml</groupId> <artifactId>System.Xaml</artifactId> <version>4.0.0.0</version> - <type>gac_msil4</type> - <classifier>b77a5c561934e089</classifier> + <type>dotnet-library</type> + <scope>system</scope> + <systemPath>${npanday.Framework40}/System.Xaml.dll</systemPath> </dependency> <dependency> <groupId>WindowsBase</groupId> @@ -93,4 +94,7 @@ <classifier>31bf3856ad364e35</classifier> </dependency> </dependencies> + <properties> + <npanday.Framework40>C:\Windows\Microsoft.NET\Framework\v4.0.30319</npanday.Framework40> + </properties> </project>