You are viewing a plain text version of this content. The canonical link for it is here.
Posted to npanday-commits@incubator.apache.org by br...@apache.org on 2013/03/02 01:12:08 UTC

svn commit: r1451803 - in /incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src: main/csharp/Converter/Algorithms/ main/csharp/Digest/Algorithms/ main/csharp/Digest/Model/ test/resource/MvcApplication1/MvcApplication1/ test/reso...

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>