Author: brett
Date: Mon Mar 11 13:18:24 2013
New Revision: 1455130

URL: http://svn.apache.org/r1455130
Log:
[NPANDAY-578] apply GAC rule to project digest as well

Modified:
    
incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Algorithms/IProjectDigestAlgorithm.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/Algorithms/WebProjectDigestAlgorithm.cs
    
incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/ProjectDigester.cs
    
incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/NPandayImporter.cs

Modified: 
incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Algorithms/IProjectDigestAlgorithm.cs
URL: 
http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Algorithms/IProjectDigestAlgorithm.cs?rev=1455130&r1=1455129&r2=1455130&view=diff
==============================================================================
--- 
incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Algorithms/IProjectDigestAlgorithm.cs
 (original)
+++ 
incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Algorithms/IProjectDigestAlgorithm.cs
 Mon Mar 11 13:18:24 2013
@@ -30,6 +30,6 @@ namespace NPanday.ProjectImporter.Digest
 {
     public interface IProjectDigestAlgorithm
     {
-        ProjectDigest DigestProject(Dictionary<string, object> projectMap);
+        ProjectDigest DigestProject(Dictionary<string, object> projectMap, 
DependencySearchConfiguration depSearchConfig);
     }
 }

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=1455130&r1=1455129&r2=1455130&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
 Mon Mar 11 13:18:24 2013
@@ -40,7 +40,7 @@ namespace NPanday.ProjectImporter.Digest
     {
         private static readonly ILog log = 
LogManager.GetLogger(typeof(NormalProjectDigestAlgorithm));
 
-        public ProjectDigest DigestProject(Dictionary<string, object> 
projectMap)
+        public ProjectDigest DigestProject(Dictionary<string, object> 
projectMap, DependencySearchConfiguration depSearchConfig)
         {
             Project project = (Project)projectMap["Project"];
 
@@ -66,6 +66,8 @@ namespace NPanday.ProjectImporter.Digest
             if (projectMap.ContainsKey("Configuration"))
                 projectDigest.Configuration = 
projectMap["Configuration"].ToString();
 
+            projectDigest.DependencySearchConfig = depSearchConfig;
+
             FileInfo existingPomFile = new 
FileInfo(Path.Combine(projectDigest.FullDirectoryName, "pom.xml"));
             if (existingPomFile.Exists)
             {
@@ -279,6 +281,9 @@ namespace NPanday.ProjectImporter.Digest
                                 projectReferences.Add(prjRef);
                                 break;
                             case "Reference":
+                                // TODO: significant refactoring needed here - 
it should be calling the same resolution code that is in
+                                //   AbstractPomConverter to find the right 
artifact based on the simple name
+
                                 Reference reference = new 
Reference(projectBasePath);
                                 //set processorArchitecture property to 
platform, it will be used by GacUtility in 
                                 // order to resolve artifact to right 
processor architecture
@@ -303,7 +308,7 @@ namespace NPanday.ProjectImporter.Digest
                                         // complete name
                                         
reference.SetAssemblyInfoValues(buildItem.Include);
                                     }
-                                    else if 
(!rsp.IsRspIncluded(buildItem.Include,projectDigest.Language))
+                                    else if 
(!rsp.IsRspIncluded(buildItem.Include,projectDigest.Language) && 
projectDigest.DependencySearchConfig.SearchGac)
                                     {
                                         // simple name needs to be resolved
                                         List<string> refs = 
GacUtility.GetInstance().GetAssemblyInfo(buildItem.Include, null, null);

Modified: 
incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Algorithms/WebProjectDigestAlgorithm.cs
URL: 
http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Algorithms/WebProjectDigestAlgorithm.cs?rev=1455130&r1=1455129&r2=1455130&view=diff
==============================================================================
--- 
incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Algorithms/WebProjectDigestAlgorithm.cs
 (original)
+++ 
incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/Algorithms/WebProjectDigestAlgorithm.cs
 Mon Mar 11 13:18:24 2013
@@ -38,7 +38,7 @@ namespace NPanday.ProjectImporter.Digest
 {
     public class WebProjectDigestAlgorithm : BaseProjectDigestAlgorithm, 
IProjectDigestAlgorithm
     {
-        public ProjectDigest DigestProject(Dictionary<string, object> 
projectMap)
+        public ProjectDigest DigestProject(Dictionary<string, object> 
projectMap, DependencySearchConfiguration depSearchConfig)
         {
             ProjectDigest projectDigest = new ProjectDigest();
             projectDigest.ProjectType = 
(VisualStudioProjectTypeEnum)projectMap["ProjectType"];
@@ -48,6 +48,7 @@ namespace NPanday.ProjectImporter.Digest
                 projectDigest.TargetFramework = 
projectMap["TargetFramework"].ToString();
             if (projectMap.ContainsKey("Configuration"))
                 projectDigest.Configuration = 
projectMap["Configuration"].ToString();
+            projectDigest.DependencySearchConfig = depSearchConfig;
 
             FileInfo existingPomFile = new 
FileInfo(Path.Combine(projectDigest.FullDirectoryName, "pom.xml"));
             if(existingPomFile.Exists)

Modified: 
incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/ProjectDigester.cs
URL: 
http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/ProjectDigester.cs?rev=1455130&r1=1455129&r2=1455130&view=diff
==============================================================================
--- 
incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/ProjectDigester.cs
 (original)
+++ 
incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Digest/ProjectDigester.cs
 Mon Mar 11 13:18:24 2013
@@ -36,7 +36,7 @@ namespace NPanday.ProjectImporter.Digest
     {
         private static readonly ILog log = 
LogManager.GetLogger(typeof(ProjectDigester));
 
-        public delegate ProjectDigest DigestProject(Dictionary<string, object> 
project);
+        public delegate ProjectDigest DigestProject(Dictionary<string, object> 
project, DependencySearchConfiguration depSearchConfig);
         private static readonly Dictionary<VisualStudioProjectTypeEnum, 
DigestProject> _digestAlgoritms;
 
         static ProjectDigester()
@@ -78,7 +78,7 @@ namespace NPanday.ProjectImporter.Digest
 
         
 
-        public static ProjectDigest[] DigestProjects(List<Dictionary<string, 
object>> projects, ref string warningMsg)
+        public static ProjectDigest[] DigestProjects(List<Dictionary<string, 
object>> projects, DependencySearchConfiguration depSearchConfig, ref string 
warningMsg)
         {
             List<ProjectDigest> projectDigests = new List<ProjectDigest>();
             Dictionary<string, ProjectDigest> projDigestDictionary = new 
Dictionary<string, ProjectDigest>();
@@ -87,7 +87,7 @@ namespace NPanday.ProjectImporter.Digest
             foreach (Dictionary<string, object> project in projects)
             {
                 DigestProject digestProject = 
_digestAlgoritms[(VisualStudioProjectTypeEnum)project["ProjectType"]];
-                ProjectDigest projDigest = digestProject(project);
+                ProjectDigest projDigest = digestProject(project, 
depSearchConfig);
                 projectDigests.Add(projDigest);
                 if (projDigestDictionary.ContainsKey(projDigest.ProjectName))
                 {
@@ -129,7 +129,7 @@ namespace NPanday.ProjectImporter.Digest
                         Dictionary<string, object> projectMap = new 
Dictionary<string, object>();
                         projectMap.Add("Project", prjRef);
 
-                        ProjectDigest prjRefDigest = digestProject(projectMap);
+                        ProjectDigest prjRefDigest = digestProject(projectMap, 
depSearchConfig);
                         string errMsg = string.Format(
                             "Project \"{0}\"  requires \"{1}\" which is not 
included in the Solution File, "
                             + "\nWould you like to include \"{1}\" Generating 
NPanday Project Poms?"

Modified: 
incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/NPandayImporter.cs
URL: 
http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/NPandayImporter.cs?rev=1455130&r1=1455129&r2=1455130&view=diff
==============================================================================
--- 
incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/NPandayImporter.cs
 (original)
+++ 
incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/NPandayImporter.cs
 Mon Mar 11 13:18:24 2013
@@ -211,7 +211,7 @@ namespace NPanday.ProjectImporter
             //Checks for Invalid folder structure
             HasValidFolderStructure(list);
 
-            ProjectDigest[] prjDigests = DigestProjects(list, ref warningMsg);
+            ProjectDigest[] prjDigests = DigestProjects(list, depSearchConfig, 
ref warningMsg);
 
 
             ProjectStructureType structureType = 
GetProjectStructureType(solutionFile, prjDigests);
@@ -320,9 +320,9 @@ namespace NPanday.ProjectImporter
         /// </summary>
         /// <param name="projects">list retured from ParseSolution</param>
         /// <returns></returns>
-        public static ProjectDigest[] DigestProjects(List<Dictionary<string, 
object>> projects, ref string warningMsg)
+        public static ProjectDigest[] DigestProjects(List<Dictionary<string, 
object>> projects, DependencySearchConfiguration depSearchConfig, ref string 
warningMsg)
         {
-            return ProjectDigester.DigestProjects(projects, ref warningMsg);
+            return ProjectDigester.DigestProjects(projects, depSearchConfig, 
ref warningMsg);
         }
 
         /// <summary>


Reply via email to