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:05:22 UTC

svn commit: r1451801 - /incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AbstractPomConverter.cs

Author: brett
Date: Sat Mar  2 01:05:22 2013
New Revision: 1451801

URL: http://svn.apache.org/r1451801
Log:
[NPANDAY-578] factor out resolution methods

This allows the method to be more easily overridden to alter the order, which
is needed in Silverlight projects

Modified:
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/AbstractPomConverter.cs

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=1451801&r1=1451800&r2=1451801&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:05:22 2013
@@ -758,7 +758,24 @@ namespace NPanday.ProjectImporter.Conver
             //  - The hintpath (step 3 above)
             //  - The GAC (step 7 above)
 
+            Dependency refDependency;
+
             // resolve first from artifact
+            refDependency = ResolveDependencyFromLocalRepository(reference);
+
+            // resolve using hint path
+            if (refDependency == null)
+                refDependency = ResolveDependencyFromHintPath(reference);
+
+            // resolve from GAC
+            if (refDependency == null)
+                refDependency = ResolveDependencyFromGAC(reference);
+
+            return refDependency;
+        }
+
+        private Dependency ResolveDependencyFromLocalRepository(Reference reference)
+        {
             Artifact.Artifact artifact = GetArtifact(reference);
             if (artifact != null)
             {
@@ -769,8 +786,11 @@ namespace NPanday.ProjectImporter.Conver
                 dependency.type = "dotnet-library";
                 return dependency;
             }
+            return null;
+        }
 
-            // resolve using hint path
+        private Dependency ResolveDependencyFromHintPath(Reference reference)
+        {
             if (!string.IsNullOrEmpty(reference.HintFullPath) && new FileInfo(reference.HintFullPath).Exists)
             {
                 string prjRefPath = Path.Combine(projectDigest.FullDirectoryName, ".references");
@@ -815,10 +835,12 @@ namespace NPanday.ProjectImporter.Conver
                     return refDependency;
                 }
             }
+            return null;
+        }
 
+        private Dependency ResolveDependencyFromGAC(Reference reference)
+        {
             List<string> refs = GacUtility.GetInstance().GetAssemblyInfo(reference.Name, reference.Version, projectDigest.Platform);
-
-            // resolve from GAC
             if (refs.Count > 0)
             {
                 log.DebugFormat("GAC references for {0} version {1} platform {2}: {3}", reference.Name,