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,