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