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 2012/01/04 08:56:41 UTC
svn commit: r1227086 - in
/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp:
./ Converter/ Converter/Algorithms/ ImportProjectStructureAlgorithms/
Author: brett
Date: Wed Jan 4 08:56:40 2012
New Revision: 1227086
URL: http://svn.apache.org/viewvc?rev=1227086&view=rev
Log:
[NPANDAY-519] references should not be silently dropped if they can't be resolved from the local repository or the GAC. Add a warning to the importer dialog instead
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=1227086&r1=1227085&r2=1227086&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 Wed Jan 4 08:56:40 2012
@@ -67,6 +67,13 @@ namespace NPanday.ProjectImporter.Conver
get { return projectDigest; }
}
+ private List<Reference> missingReferences;
+
+ public List<Reference> GetMissingReferences()
+ {
+ return missingReferences;
+ }
+
protected NPanday.Model.Pom.Model model;
public NPanday.Model.Pom.Model Model
@@ -91,6 +98,7 @@ namespace NPanday.ProjectImporter.Conver
// Add build Tag
this.model.build = new NPanday.Model.Pom.Build();
+ this.missingReferences = new List<Reference>();
}
#region AddEmbeddedResources
@@ -443,14 +451,19 @@ namespace NPanday.ProjectImporter.Conver
}
}
- protected virtual void AddProjectReferenceDependency(Reference reference)
+ protected Dependency GetProjectReferenceDependency(Reference reference)
{
Dependency refDependency = ResolveDependency(reference);
if (refDependency == null)
{
- return;
- }
+ missingReferences.Add(reference);
+ // TODO: check if reference.Version is always set - ResolveDependency does some filename parsing that we should factor out so it's not done multiple times
+ refDependency = new Dependency();
+ refDependency.groupId = reference.Name;
+ refDependency.artifactId = reference.Name;
+ refDependency.version = reference.Version;
+ }
if (!("library".Equals(refDependency.type, StringComparison.OrdinalIgnoreCase)
|| "dotnet-library".Equals(refDependency.type, StringComparison.OrdinalIgnoreCase)))
@@ -458,15 +471,21 @@ namespace NPanday.ProjectImporter.Conver
// ignore gac if already in the RSP
if (rspUtil.IsRspIncluded(refDependency.artifactId, projectDigest.Language))
{
- return;
+ return null;
}
}
- AddDependency(refDependency);
-
-
+ return refDependency;
}
+ protected virtual void AddProjectReferenceDependency(Reference reference)
+ {
+ Dependency dep = GetProjectReferenceDependency(reference);
+ if (dep != null)
+ {
+ AddDependency(dep);
+ }
+ }
protected void AddProjectReferenceDependenciesToList()
{
@@ -930,9 +949,6 @@ namespace NPanday.ProjectImporter.Conver
return string.Join(",", defines.ToArray());
}
-
-
-
}
}
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=1227086&r1=1227085&r2=1227086&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 Wed Jan 4 08:56:40 2012
@@ -44,5 +44,6 @@ namespace NPanday.ProjectImporter.Conver
get;
}
+ List<Reference> GetMissingReferences();
}
}
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=1227086&r1=1227085&r2=1227086&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 Wed Jan 4 08:56:40 2012
@@ -175,28 +175,15 @@ namespace NPanday.ProjectImporter.Conver
// override to insert only an NPanday artifact
protected override void AddProjectReferenceDependency(Reference reference)
{
-
- Dependency refDependency = ResolveDependency(reference);
- if (refDependency == null)
+ Dependency dep = GetProjectReferenceDependency(reference);
+ if (dep != null)
{
- return;
- }
-
- if (!("library".Equals(refDependency.type, StringComparison.OrdinalIgnoreCase)
- || "dotnet-library".Equals(refDependency.type, StringComparison.OrdinalIgnoreCase)))
- {
- // ignore gac if already in the RSP
- if (rspUtil.IsRspIncluded(refDependency.artifactId, projectDigest.Language))
+ if (!("library".Equals(dep.type, StringComparison.OrdinalIgnoreCase)
+ || "dotnet-library".Equals(dep.type, StringComparison.OrdinalIgnoreCase)))
{
- return;
+ AddDependency(dep);
}
-
- // insert only NPanday Artifact
- AddDependency(refDependency);
- return;
}
-
}
-
}
}
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=1227086&r1=1227085&r2=1227086&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 Wed Jan 4 08:56:40 2012
@@ -255,7 +255,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)
+ 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)
{
try
{
@@ -264,7 +264,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);
+ NPanday.Model.Pom.Model model = ConvertProjectToPomModel(projectDigest, mainPomFile, parent, groupId, writePoms, scmTag, missingReferences);
models.Add(model);
}
@@ -276,7 +276,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)
+ 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)
{
if (!__converterAlgorithms.ContainsKey(projectDigest.ProjectType))
{
@@ -304,6 +304,8 @@ namespace NPanday.ProjectImporter.Conver
converter.ConvertProjectToPomModel(scmTag);
+ missingReferences.AddRange(converter.GetMissingReferences());
+
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=1227086&r1=1227085&r2=1227086&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 Wed Jan 4 08:56:40 2012
@@ -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)
+ public override string[] ImportProjectType(ProjectDigest[] prjDigests, string solutionFile, string groupId, string artifactId, string version, string scmTag, bool writePom, List<Reference> missingReferences)
{
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=1227086&r1=1227085&r2=1227086&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 Wed Jan 4 08:56:40 2012
@@ -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);
+ public abstract string[] ImportProjectType(ProjectDigest[] prjDigests, string solutionFile, string groupId, string artifactId, string version, string scmTag, bool writePom, List<Reference> missingReferences);
#endregion
#region Helper Methods
- public string[] GenerateChildPoms(ProjectDigest[] prjDigests, string groupId, string parentPomFilename, NPanday.Model.Pom.Model parentPomModel, bool writePom,string scmTag)
+ public string[] GenerateChildPoms(ProjectDigest[] prjDigests, string groupId, string parentPomFilename, NPanday.Model.Pom.Model parentPomModel, bool writePom, string scmTag, List<Reference> missingReferences)
{
List<string> generatedPoms = new List<string>();
// make the child pom
- NPanday.Model.Pom.Model[] models = PomConverter.ConvertProjectsToPomModels(prjDigests, parentPomFilename, parentPomModel, groupId, writePom, scmTag);
+ NPanday.Model.Pom.Model[] models = PomConverter.ConvertProjectsToPomModels(prjDigests, parentPomFilename, parentPomModel, groupId, writePom, scmTag, missingReferences);
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=1227086&r1=1227085&r2=1227086&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 Wed Jan 4 08:56:40 2012
@@ -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)
+ public override string[] ImportProjectType(ProjectDigest[] prjDigests, string solutionFile, string groupId, string artifactId, string version, string scmTag, bool writePom, List<Reference> missingReferences)
{
List<string> generatedPoms = new List<string>();
@@ -51,7 +51,7 @@ namespace NPanday.ProjectImporter.Import
generatedPoms.AddRange(
- GenerateChildPoms(prjDigests, groupId, pomFileName, mainModel, writePom, scmTag)
+ GenerateChildPoms(prjDigests, groupId, pomFileName, mainModel, writePom, scmTag, missingReferences)
);
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=1227086&r1=1227085&r2=1227086&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 Wed Jan 4 08:56:40 2012
@@ -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)
+ public override string[] ImportProjectType(ProjectDigest[] prjDigests, string solutionFile, string groupId, string artifactId, string version, string scmTag, bool writePom, List<Reference> missingReferences)
{
- return GenerateChildPoms(prjDigests, groupId, null, null, writePom, scmTag);
+ return GenerateChildPoms(prjDigests, groupId, null, null, writePom, scmTag, missingReferences);
}
}
}
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=1227086&r1=1227085&r2=1227086&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 Wed Jan 4 08:56:40 2012
@@ -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);
+ string[] ImportProjectType(ProjectDigest[] prjDigests, string solutionFile, string groupId, string artifactId, string version, string scmTag, bool writePom, List<Reference> missingReferences);
}
}
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=1227086&r1=1227085&r2=1227086&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 Wed Jan 4 08:56:40 2012
@@ -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)
+ public override string[] ImportProjectType(ProjectDigest[] prjDigests, string solutionFile, string groupId, string artifactId, string version, string scmTag, bool writePom, List<Reference> missingReferences)
{
List<string> generatedPoms = new List<string>();
@@ -51,7 +51,7 @@ namespace NPanday.ProjectImporter.Import
generatedPoms.AddRange(
- GenerateChildPoms(prjDigests, groupId, pomFileName, mainModel, writePom, scmTag)
+ GenerateChildPoms(prjDigests, groupId, pomFileName, mainModel, writePom, scmTag, missingReferences)
);
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=1227086&r1=1227085&r2=1227086&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 Wed Jan 4 08:56:40 2012
@@ -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)
+ public override string[] ImportProjectType(ProjectDigest[] prjDigests, string solutionFile, string groupId, string artifactId, string version, string scmTag, bool writePom, List<Reference> missingReferences)
{
List<string> generatedPoms = new List<string>();
@@ -55,7 +55,7 @@ namespace NPanday.ProjectImporter.Import
generatedPoms.AddRange(
- GenerateChildPoms(prjDigests, groupId, pomFileName, mainModel, writePom, scmTag)
+ GenerateChildPoms(prjDigests, groupId, pomFileName, mainModel, writePom, scmTag, missingReferences)
);
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=1227086&r1=1227085&r2=1227086&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 Wed Jan 4 08:56:40 2012
@@ -46,8 +46,8 @@ 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);
+
+ delegate string[] ImportProjectTypeDelegate(ProjectDigest[] prjDigests, string solutionFile, string groupId, string artifactId, string version, string scmTag, bool writePom, List<Reference> missingReferences);
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)
+ public static string[] ImportProjectType(ProjectStructureType structureType, ProjectDigest[] prjDigests, string solutionFile, string groupId, string artifactId, string version, string scmTag, List<Reference> missingReferences)
{
- return _importProject[structureType](prjDigests, solutionFile, groupId, artifactId, version, scmTag, true);
+ return _importProject[structureType](prjDigests, solutionFile, groupId, artifactId, version, scmTag, true, missingReferences);
}
#endregion
@@ -234,7 +234,17 @@ namespace NPanday.ProjectImporter
verifyProjectToImport(ref prjDigests, structureType, solutionFile, ref groupId, ref artifactId, ref version);
}
- result =ImportProjectType(structureType, filteredPrjDigests.ToArray(), solutionFile, groupId, artifactId, version, scmTag);
+ List<Reference> missingReferences = new List<Reference>();
+ result = ImportProjectType(structureType, filteredPrjDigests.ToArray(), solutionFile, groupId, artifactId, version, scmTag, missingReferences);
+ if (missingReferences.Count > 0)
+ {
+ warningMsg += "\nThe following references could not be resolved from Maven or the GAC:";
+ foreach (Reference missingReference in missingReferences)
+ {
+ warningMsg += "\n\t" + missingReference.Name + " (" + missingReference.Version + ")";
+ }
+ warningMsg += "\nPlease update the defaults in pom.xml and re-sync references, or re-add them using 'Add Maven Artifact'.";
+ }
return result;