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:13:11 UTC

svn commit: r1451804 - in /incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp: ./ Converter/ Converter/Algorithms/ ImportProjectStructureAlgorithms/

Author: brett
Date: Sat Mar  2 01:13:11 2013
New Revision: 1451804

URL: http://svn.apache.org/r1451804
Log:
[NPANDAY-578] make a single warning dialog for system references

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/Converter/Algorithms/IPomConverter.cs
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/WebPomConverter.cs
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/PomConverter.cs
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/ImportProjectStructureAlgorithms/AbnormalProject.cs
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/ImportProjectStructureAlgorithms/AbstractProjectAlgorithm.cs
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/ImportProjectStructureAlgorithms/FlatMultiModuleProject.cs
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/ImportProjectStructureAlgorithms/FlatSingleModuleProject.cs
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/ImportProjectStructureAlgorithms/IProjectTypeImporter.cs
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/ImportProjectStructureAlgorithms/NormalMultiModuleProject.cs
    incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/ImportProjectStructureAlgorithms/NormalSingleProject.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/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=1451804&r1=1451803&r2=1451804&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:13:11 2013
@@ -55,6 +55,12 @@ namespace NPanday.ProjectImporter.Conver
         protected string groupId;
         protected string version;
 
+        private List<string> nonPortableReferences;
+
+        public List<string> GetNonPortableReferences()
+        {
+            return nonPortableReferences;
+        }
 
         protected ProjectDigest projectDigest;
 
@@ -97,6 +103,7 @@ namespace NPanday.ProjectImporter.Conver
             this.model.build = new NPanday.Model.Pom.Build();
 
             this.missingReferences = new List<Reference>();
+            this.nonPortableReferences = new List<string>();
 
             // TODO: this is a hack because of bad design. The things that talk to the local repository should be pulled out of here, and able to be stubbed/mocked instead
             if (testingArtifacts != null)
@@ -459,7 +466,7 @@ namespace NPanday.ProjectImporter.Conver
             }
         }
 
-        protected Dependency GetProjectReferenceDependency(Reference reference)
+        protected virtual Dependency GetProjectReferenceDependency(Reference reference)
         {
             Dependency refDependency = ResolveDependency(reference);
             if (refDependency == null)
@@ -487,20 +494,15 @@ namespace NPanday.ProjectImporter.Conver
             return refDependency;
         }
 
-        protected virtual void AddProjectReferenceDependency(Reference reference)
-        {
-            Dependency dep = GetProjectReferenceDependency(reference);
-            if (dep != null)
-            {
-                AddDependency(dep);
-            }
-        }
-
         protected void AddProjectReferenceDependenciesToList()
         {
             foreach (Reference reference in projectDigest.References)
             {
-                AddProjectReferenceDependency(reference);
+                Dependency dep = GetProjectReferenceDependency(reference);
+                if (dep != null)
+                {
+                    AddDependency(dep);
+                }
             }
         }
 
@@ -952,13 +954,7 @@ namespace NPanday.ProjectImporter.Conver
         {
             log.WarnFormat("Adding non-portable reference to POM: {0}", path);
 
-            // TODO: need to show this to the user (logging not sufficient), but should not display message box in importer code. Pass in a handler instead?
-            MessageBox.Show(
-             string.Format("Warning: Build may not be portable if local references are used, Reference is not in Maven Repository or in GAC."
-                         + "\nReference: {0}"
-                         + "\nDeploying the reference to a Repository, will make the code portable to other machines",
-                 path
-             ), "Add Reference", MessageBoxButtons.OK, MessageBoxIcon.Warning);
+            nonPortableReferences.Add(path);
         }
 
         private Dependency ResolveDependencyFromHintPath(Reference reference)

Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/IPomConverter.cs
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/IPomConverter.cs?rev=1451804&r1=1451803&r2=1451804&view=diff
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/IPomConverter.cs (original)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/IPomConverter.cs Sat Mar  2 01:13:11 2013
@@ -45,5 +45,7 @@ namespace NPanday.ProjectImporter.Conver
         }
 
         List<Reference> GetMissingReferences();
+
+        List<string> GetNonPortableReferences();
     }
 }

Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/WebPomConverter.cs
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/WebPomConverter.cs?rev=1451804&r1=1451803&r2=1451804&view=diff
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/WebPomConverter.cs (original)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/Algorithms/WebPomConverter.cs Sat Mar  2 01:13:11 2013
@@ -173,17 +173,18 @@ namespace NPanday.ProjectImporter.Conver
 
 
         // override to insert only an NPanday artifact
-        protected override void AddProjectReferenceDependency(Reference reference)
+        protected override Dependency GetProjectReferenceDependency(Reference reference)
         {
-            Dependency dep = GetProjectReferenceDependency(reference);
+            Dependency dep = base.GetProjectReferenceDependency(reference);
             if (dep != null)
             {
                 if (!("library".Equals(dep.type, StringComparison.OrdinalIgnoreCase)
                       || "dotnet-library".Equals(dep.type, StringComparison.OrdinalIgnoreCase)))
                 {
-                    AddDependency(dep);
+                    return dep;
                 }
             }
+            return null;
         }
     }
 }

Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/PomConverter.cs
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/PomConverter.cs?rev=1451804&r1=1451803&r2=1451804&view=diff
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/PomConverter.cs (original)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Converter/PomConverter.cs Sat Mar  2 01:13:11 2013
@@ -281,7 +281,7 @@ namespace NPanday.ProjectImporter.Conver
 
 
 
-        public static NPanday.Model.Pom.Model[] ConvertProjectsToPomModels(ProjectDigest[] projectDigests, string mainPomFile, NPanday.Model.Pom.Model parent, string groupId, bool writePoms, string scmTag, List<Reference> missingReferences)
+        public static NPanday.Model.Pom.Model[] ConvertProjectsToPomModels(ProjectDigest[] projectDigests, string mainPomFile, NPanday.Model.Pom.Model parent, string groupId, bool writePoms, string scmTag, List<Reference> missingReferences, List<string> nonPortableReferences)
         {
             try
             {
@@ -290,7 +290,7 @@ namespace NPanday.ProjectImporter.Conver
                 List<NPanday.Model.Pom.Model> models = new List<NPanday.Model.Pom.Model>();
                 foreach (ProjectDigest projectDigest in projectDigests)
                 {
-                    NPanday.Model.Pom.Model model = ConvertProjectToPomModel(projectDigest, mainPomFile, parent, groupId, writePoms, scmTag, missingReferences);
+                    NPanday.Model.Pom.Model model = ConvertProjectToPomModel(projectDigest, mainPomFile, parent, groupId, writePoms, scmTag, missingReferences, nonPortableReferences);
                     
                     models.Add(model);
                 }
@@ -302,7 +302,7 @@ namespace NPanday.ProjectImporter.Conver
             }
         }
 
-        public static NPanday.Model.Pom.Model ConvertProjectToPomModel(ProjectDigest projectDigest, string mainPomFile, NPanday.Model.Pom.Model parent, string groupId, bool writePom, string scmTag, List<Reference> missingReferences)
+        public static NPanday.Model.Pom.Model ConvertProjectToPomModel(ProjectDigest projectDigest, string mainPomFile, NPanday.Model.Pom.Model parent, string groupId, bool writePom, string scmTag, List<Reference> missingReferences, List<string> nonPortableReferences)
         {
             if (!__converterAlgorithms.ContainsKey(projectDigest.ProjectType))
             {
@@ -331,6 +331,7 @@ namespace NPanday.ProjectImporter.Conver
                converter.ConvertProjectToPomModel(scmTag);
 
                missingReferences.AddRange(converter.GetMissingReferences());
+               nonPortableReferences.AddRange(converter.GetNonPortableReferences());
 
                return converter.Model;
            }

Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/ImportProjectStructureAlgorithms/AbnormalProject.cs
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/ImportProjectStructureAlgorithms/AbnormalProject.cs?rev=1451804&r1=1451803&r2=1451804&view=diff
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/ImportProjectStructureAlgorithms/AbnormalProject.cs (original)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/ImportProjectStructureAlgorithms/AbnormalProject.cs Sat Mar  2 01:13:11 2013
@@ -41,7 +41,7 @@ namespace NPanday.ProjectImporter.Import
     public class AbnormalProject : AbstractProjectAlgorithm
     {
 
-        public override string[] ImportProjectType(ProjectDigest[] prjDigests, string solutionFile, string groupId, string artifactId, string version, string scmTag, bool writePom, List<Reference> missingReferences)
+        public override string[] ImportProjectType(ProjectDigest[] prjDigests, string solutionFile, string groupId, string artifactId, string version, string scmTag, bool writePom, List<Reference> missingReferences, List<string> nonPortableReferences)
         {
             if (prjDigests.Length.Equals(0))
             {

Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/ImportProjectStructureAlgorithms/AbstractProjectAlgorithm.cs
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/ImportProjectStructureAlgorithms/AbstractProjectAlgorithm.cs?rev=1451804&r1=1451803&r2=1451804&view=diff
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/ImportProjectStructureAlgorithms/AbstractProjectAlgorithm.cs (original)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/ImportProjectStructureAlgorithms/AbstractProjectAlgorithm.cs Sat Mar  2 01:13:11 2013
@@ -44,18 +44,18 @@ namespace NPanday.ProjectImporter.Import
 
         #region IProjectTypeImporter Members
 
-        public abstract string[] ImportProjectType(ProjectDigest[] prjDigests, string solutionFile, string groupId, string artifactId, string version, string scmTag, bool writePom, List<Reference> missingReferences);
+        public abstract string[] ImportProjectType(ProjectDigest[] prjDigests, string solutionFile, string groupId, string artifactId, string version, string scmTag, bool writePom, List<Reference> missingReferences, List<string> nonPortableReferences);
 
         #endregion
 
         #region Helper Methods
 
-        public string[] GenerateChildPoms(ProjectDigest[] prjDigests, string groupId, string parentPomFilename, NPanday.Model.Pom.Model parentPomModel, bool writePom, string scmTag, List<Reference> missingReferences)
+        public string[] GenerateChildPoms(ProjectDigest[] prjDigests, string groupId, string parentPomFilename, NPanday.Model.Pom.Model parentPomModel, bool writePom, string scmTag, List<Reference> missingReferences, List<string> nonPortableReferences)
         {
             List<string> generatedPoms = new List<string>();
 
             // make the child pom
-            NPanday.Model.Pom.Model[] models = PomConverter.ConvertProjectsToPomModels(prjDigests, parentPomFilename, parentPomModel, groupId, writePom, scmTag, missingReferences);
+            NPanday.Model.Pom.Model[] models = PomConverter.ConvertProjectsToPomModels(prjDigests, parentPomFilename, parentPomModel, groupId, writePom, scmTag, missingReferences, nonPortableReferences);
 
             if (models != null && models.Length > 0)
             {

Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/ImportProjectStructureAlgorithms/FlatMultiModuleProject.cs
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/ImportProjectStructureAlgorithms/FlatMultiModuleProject.cs?rev=1451804&r1=1451803&r2=1451804&view=diff
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/ImportProjectStructureAlgorithms/FlatMultiModuleProject.cs (original)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/ImportProjectStructureAlgorithms/FlatMultiModuleProject.cs Sat Mar  2 01:13:11 2013
@@ -40,7 +40,7 @@ namespace NPanday.ProjectImporter.Import
 {
     public class FlatMultiModuleProject : AbstractProjectAlgorithm
     {
-        public override string[] ImportProjectType(ProjectDigest[] prjDigests, string solutionFile, string groupId, string artifactId, string version, string scmTag, bool writePom, List<Reference> missingReferences)
+        public override string[] ImportProjectType(ProjectDigest[] prjDigests, string solutionFile, string groupId, string artifactId, string version, string scmTag, bool writePom, List<Reference> missingReferences, List<string> nonPortableReferences)
         {
             List<string> generatedPoms = new List<string>();
 
@@ -51,7 +51,7 @@ namespace NPanday.ProjectImporter.Import
 
 
             generatedPoms.AddRange(
-                GenerateChildPoms(prjDigests, groupId, pomFileName, mainModel, writePom, scmTag, missingReferences)
+                GenerateChildPoms(prjDigests, groupId, pomFileName, mainModel, writePom, scmTag, missingReferences, nonPortableReferences)
             );
 
             return generatedPoms.ToArray();

Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/ImportProjectStructureAlgorithms/FlatSingleModuleProject.cs
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/ImportProjectStructureAlgorithms/FlatSingleModuleProject.cs?rev=1451804&r1=1451803&r2=1451804&view=diff
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/ImportProjectStructureAlgorithms/FlatSingleModuleProject.cs (original)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/ImportProjectStructureAlgorithms/FlatSingleModuleProject.cs Sat Mar  2 01:13:11 2013
@@ -40,9 +40,9 @@ namespace NPanday.ProjectImporter.Import
 {
     public class FlatSingleModuleProject : AbstractProjectAlgorithm
     {
-        public override string[] ImportProjectType(ProjectDigest[] prjDigests, string solutionFile, string groupId, string artifactId, string version, string scmTag, bool writePom, List<Reference> missingReferences)
+        public override string[] ImportProjectType(ProjectDigest[] prjDigests, string solutionFile, string groupId, string artifactId, string version, string scmTag, bool writePom, List<Reference> missingReferences, List<string> nonPortableReferences)
         {
-            return GenerateChildPoms(prjDigests, groupId, null, null, writePom, scmTag, missingReferences);
+            return GenerateChildPoms(prjDigests, groupId, null, null, writePom, scmTag, missingReferences, nonPortableReferences);
         }
     }
 }

Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/ImportProjectStructureAlgorithms/IProjectTypeImporter.cs
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/ImportProjectStructureAlgorithms/IProjectTypeImporter.cs?rev=1451804&r1=1451803&r2=1451804&view=diff
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/ImportProjectStructureAlgorithms/IProjectTypeImporter.cs (original)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/ImportProjectStructureAlgorithms/IProjectTypeImporter.cs Sat Mar  2 01:13:11 2013
@@ -51,6 +51,6 @@ namespace NPanday.ProjectImporter.Import
         /// <param name="version"></param>
         /// <param name="writePom"></param>
         /// <returns>returns a list of pom files generated</returns>
-        string[] ImportProjectType(ProjectDigest[] prjDigests, string solutionFile, string groupId, string artifactId, string version, string scmTag, bool writePom, List<Reference> missingReferences);
+        string[] ImportProjectType(ProjectDigest[] prjDigests, string solutionFile, string groupId, string artifactId, string version, string scmTag, bool writePom, List<Reference> missingReferences, List<string> nonPortableReferences);
     }
 }

Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/ImportProjectStructureAlgorithms/NormalMultiModuleProject.cs
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/ImportProjectStructureAlgorithms/NormalMultiModuleProject.cs?rev=1451804&r1=1451803&r2=1451804&view=diff
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/ImportProjectStructureAlgorithms/NormalMultiModuleProject.cs (original)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/ImportProjectStructureAlgorithms/NormalMultiModuleProject.cs Sat Mar  2 01:13:11 2013
@@ -40,7 +40,7 @@ namespace NPanday.ProjectImporter.Import
 {
     public class NormalMultiModuleProject : AbstractProjectAlgorithm
     {
-        public override string[] ImportProjectType(ProjectDigest[] prjDigests, string solutionFile, string groupId, string artifactId, string version, string scmTag, bool writePom, List<Reference> missingReferences)
+        public override string[] ImportProjectType(ProjectDigest[] prjDigests, string solutionFile, string groupId, string artifactId, string version, string scmTag, bool writePom, List<Reference> missingReferences, List<string> nonPortableReferences)
         {
             List<string> generatedPoms = new List<string>();
 
@@ -51,7 +51,7 @@ namespace NPanday.ProjectImporter.Import
 
 
             generatedPoms.AddRange(
-                GenerateChildPoms(prjDigests, groupId, pomFileName, mainModel, writePom, scmTag, missingReferences)
+                GenerateChildPoms(prjDigests, groupId, pomFileName, mainModel, writePom, scmTag, missingReferences, nonPortableReferences)
             );
 
             return generatedPoms.ToArray();

Modified: incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/ImportProjectStructureAlgorithms/NormalSingleProject.cs
URL: http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/ImportProjectStructureAlgorithms/NormalSingleProject.cs?rev=1451804&r1=1451803&r2=1451804&view=diff
==============================================================================
--- incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/ImportProjectStructureAlgorithms/NormalSingleProject.cs (original)
+++ incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/ImportProjectStructureAlgorithms/NormalSingleProject.cs Sat Mar  2 01:13:11 2013
@@ -44,7 +44,7 @@ namespace NPanday.ProjectImporter.Import
     /// </summary>
     public class NormalSingleProject : AbstractProjectAlgorithm
     {
-        public override string[] ImportProjectType(ProjectDigest[] prjDigests, string solutionFile, string groupId, string artifactId, string version, string scmTag, bool writePom, List<Reference> missingReferences)
+        public override string[] ImportProjectType(ProjectDigest[] prjDigests, string solutionFile, string groupId, string artifactId, string version, string scmTag, bool writePom, List<Reference> missingReferences, List<string> nonPortableReferences)
         {
             List<string> generatedPoms = new List<string>();
 
@@ -55,7 +55,7 @@ namespace NPanday.ProjectImporter.Import
 
 
             generatedPoms.AddRange(
-                GenerateChildPoms(prjDigests, groupId, pomFileName, mainModel, writePom, scmTag, missingReferences)
+                GenerateChildPoms(prjDigests, groupId, pomFileName, mainModel, writePom, scmTag, missingReferences, nonPortableReferences)
             );
 
             return generatedPoms.ToArray();

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=1451804&r1=1451803&r2=1451804&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 Sat Mar  2 01:13:11 2013
@@ -47,7 +47,7 @@ namespace NPanday.ProjectImporter
         #region Import Project Type Strategy Pattern
         // A strategy pattern with a twists, using c# delegates
 
-        delegate string[] ImportProjectTypeDelegate(ProjectDigest[] prjDigests, string solutionFile, string groupId, string artifactId, string version, string scmTag, bool writePom, List<Reference> missingReferences);
+        delegate string[] ImportProjectTypeDelegate(ProjectDigest[] prjDigests, string solutionFile, string groupId, string artifactId, string version, string scmTag, bool writePom, List<Reference> missingReferences, List<string> nonPortableReferences);
         static Dictionary<ProjectStructureType, ImportProjectTypeDelegate> _importProject;
 
         /// <summary>
@@ -65,9 +65,9 @@ namespace NPanday.ProjectImporter
         }
 
 
-        public static string[] ImportProjectType(ProjectStructureType structureType, ProjectDigest[] prjDigests, string solutionFile, string groupId, string artifactId, string version, string scmTag, List<Reference> missingReferences)
+        public static string[] ImportProjectType(ProjectStructureType structureType, ProjectDigest[] prjDigests, string solutionFile, string groupId, string artifactId, string version, string scmTag, List<Reference> missingReferences, List<string> nonPortableReferences)
         {
-            return _importProject[structureType](prjDigests, solutionFile, groupId, artifactId, version, scmTag, true, missingReferences);
+            return _importProject[structureType](prjDigests, solutionFile, groupId, artifactId, version, scmTag, true, missingReferences, nonPortableReferences);
         }
 
         #endregion
@@ -249,7 +249,8 @@ namespace NPanday.ProjectImporter
             }
 
             List<Reference> missingReferences = new List<Reference>();
-            result = ImportProjectType(structureType, filteredPrjDigests.ToArray(), solutionFile, groupId, artifactId, version, scmTag, missingReferences);
+            List<string> nonPortableReferences = new List<string>();
+            result = ImportProjectType(structureType, filteredPrjDigests.ToArray(), solutionFile, groupId, artifactId, version, scmTag, missingReferences, nonPortableReferences);
             if (missingReferences.Count > 0)
             {
                 warningMsg += "\nThe following references could not be resolved from Maven or the GAC:";
@@ -259,9 +260,13 @@ namespace NPanday.ProjectImporter
                 }
                 warningMsg += "\nPlease update the defaults in pom.xml and re-sync references, or re-add them using 'Add Maven Artifact'.";
             }
-
+            if (nonPortableReferences.Count > 0)
+            {
+                warningMsg += "\nThe build may not be portable if local references are used:"
+                         + "\n\t" + string.Join("\n\t", nonPortableReferences.ToArray())
+                         + "\nDeploying the reference to a Repository will make the code portable to other machines";
+            }
             return result;
-
         }
 
         #endregion