Author: brett
Date: Thu Jan 26 06:52:56 2012
New Revision: 1236051
URL: http://svn.apache.org/viewvc?rev=1236051&view=rev
Log:
[NPANDAY-534] ensure that projects within folders are traversed when needed
Modified:
incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/Connect.cs
incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/MavenRunner.cs
incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPandayImportProjectForm.cs
Modified:
incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/Connect.cs
URL:
http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/Connect.cs?rev=1236051&r1=1236050&r2=1236051&view=diff
==============================================================================
---
incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/Connect.cs
(original)
+++
incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/Connect.cs
Thu Jan 26 06:52:56 2012
@@ -573,6 +573,34 @@ namespace NPanday.VisualStudio.Addin
return (String.Compare(project.Kind, FOLDER_KIND_GUID, true) == 0);
}
+ public static IEnumerable<Project> GetAllProjects(Projects
solutionProjects)
+ {
+ List<Project> projects = new List<Project>();
+ foreach (Project project in solutionProjects)
+ {
+ addProject(projects, project);
+ }
+ return projects;
+ }
+
+ private static void addProject(List<Project> projects, Project project)
+ {
+ if (IsFolder(project))
+ {
+ foreach (ProjectItem item in project.ProjectItems)
+ {
+ if (item.SubProject != null)
+ {
+ addProject(projects, item.SubProject);
+ }
+ }
+ }
+ else
+ {
+ projects.Add(project);
+ }
+ }
+
void InsertKeyTag(string filePath, string key)
{
try
@@ -621,7 +649,7 @@ namespace NPanday.VisualStudio.Addin
{
Solution2 solution = (Solution2)_applicationObject.Solution;
string pomFilePath = string.Empty;
- foreach (Project project in solution.Projects)
+ foreach (Project project in GetAllProjects(solution.Projects))
{
string name = null;
try
@@ -729,7 +757,7 @@ namespace NPanday.VisualStudio.Addin
this.wsRefWatcher = new List<WebServicesReferenceWatcher>();
this.svRefWatcher = new List<WebServicesReferenceWatcher>();
- foreach (Project project in solution.Projects)
+ foreach (Project project in GetAllProjects(solution.Projects))
{
projectRefEventLoaded = true;
@@ -1502,9 +1530,9 @@ namespace NPanday.VisualStudio.Addin
try
{
if (_applicationObject.Solution != null)
- {
+ {
Solution2 solution =
(Solution2)_applicationObject.Solution;
- foreach (Project project in solution.Projects)
+ foreach (Project project in
GetAllProjects(solution.Projects))
{
if (!IsWebSite(project) && !IsFolder(project) &&
!IsCloudProject(project) && project.Object != null)
{
@@ -1900,7 +1928,7 @@ namespace NPanday.VisualStudio.Addin
{
Solution2 solution = (Solution2)_applicationObject.Solution;
bool asked = false;
- foreach (Project project in solution.Projects)
+ foreach (Project project in GetAllProjects(solution.Projects))
{
if (!IsWebSite(project) &&
ProjectHasWebReferences(project))
{
Modified:
incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/MavenRunner.cs
URL:
http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/MavenRunner.cs?rev=1236051&r1=1236050&r2=1236051&view=diff
==============================================================================
---
incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/MavenRunner.cs
(original)
+++
incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/MavenRunner.cs
Thu Jan 26 06:52:56 2012
@@ -86,8 +86,6 @@ namespace NPanday.VisualStudio.Addin
{
Solution2 solution = (Solution2)dte2.Solution;
- Projects projs = solution.Projects;
-
bool isFlatProject = true;
string[] directoryPartial =
solution.FullName.Split("\\".ToCharArray());
Modified:
incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPandayImportProjectForm.cs
URL:
http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPandayImportProjectForm.cs?rev=1236051&r1=1236050&r2=1236051&view=diff
==============================================================================
---
incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPandayImportProjectForm.cs
(original)
+++
incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPandayImportProjectForm.cs
Thu Jan 26 06:52:56 2012
@@ -121,7 +121,8 @@ namespace NPanday.VisualStudio.Addin
bool hasWebProjects = false, hasCloudProjects = false;
Solution2 solution = (Solution2)applicationObject.Solution;
- foreach (Project project in solution.Projects)
+
+ foreach (Project project in
Connect.GetAllProjects(solution.Projects))
{
bool web = isWebProject(project);
bool cloud = isCloudProject(project);
@@ -428,7 +429,7 @@ namespace NPanday.VisualStudio.Addin
{
Solution2 solution = (Solution2)applicationObject.Solution;
IList<IReferenceManager> refManagers = new
List<IReferenceManager>();
- foreach (Project project in solution.Projects)
+ foreach (Project project in
Connect.GetAllProjects(solution.Projects))
{
if (!isWebProject(project) && !isFolder(project) &&
project.Object != null)
{
@@ -482,11 +483,12 @@ namespace NPanday.VisualStudio.Addin
{
Solution2 solution = (Solution2)applicationObject.Solution;
string solutionDir = Path.GetDirectoryName(solution.FullName);
- bool isFlatSingleModule = (solution.Projects.Count == 1
- &&
Path.GetExtension(solution.Projects.Item(1).FullName).EndsWith("proj")
- && solutionDir ==
Path.GetDirectoryName(solution.Projects.Item(1).FullName));
+ Projects projects = solution.Projects;
+ bool isFlatSingleModule = (projects.Count == 1
+ &&
Path.GetExtension(projects.Item(1).FullName).EndsWith("proj")
+ && solutionDir ==
Path.GetDirectoryName(projects.Item(1).FullName));
- foreach (Project project in solution.Projects)
+ foreach (Project project in Connect.GetAllProjects(projects))
{
string projPath = string.Empty;
try { projPath = project.FullName; }