Author: brett
Date: Wed Mar 6 15:03:48 2013
New Revision: 1453369
URL: http://svn.apache.org/r1453369
Log:
set VisualStudioVersion
Property introduced in Visual Studio 2012 is defaulted to the highest installed
version when called in this way and allowing imports, which causes incorrect
values under Visual Studio 2010
Modified:
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
incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Parser/SlnParser/ProjectSolutionParser.cs
incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Parser/SlnParser/SolutionParser.cs
incubator/npanday/trunk/dotnet/assemblies/NPanday.VisualStudio.Addin/src/main/csharp/NPandayImportProjectForm.cs
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=1453369&r1=1453368&r2=1453369&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
Wed Mar 6 15:03:48 2013
@@ -250,6 +250,8 @@ namespace NPanday.ProjectImporter.Digest
Engine engine = new Engine(msBuildPath);
Project project = new Project(engine);
+
+ // TODO: if we update to a .NET 3.5 minimum we can pass in
ProjectLoadSettings.IgnoreMissingImports
project.Load(projectFile);
return project;
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=1453369&r1=1453368&r2=1453369&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 Mar 6 15:03:48 2013
@@ -123,8 +123,13 @@ namespace NPanday.ProjectImporter
public static string[] ImportProject(string solutionFile, string
groupId, string artifactId, string version, string scmTag, bool verifyTests,
bool useMsDeploy, string configuration, string cloudConfig,
DependencySearchConfiguration depSearchConfig, ref string warningMsg)
{
+ return ImportProject(solutionFile, groupId, artifactId, version,
scmTag, verifyTests, useMsDeploy, configuration, cloudConfig, depSearchConfig,
null, ref warningMsg);
+ }
+
+ public static string[] ImportProject(string solutionFile, string
groupId, string artifactId, string version, string scmTag, bool verifyTests,
bool useMsDeploy, string configuration, string cloudConfig,
DependencySearchConfiguration depSearchConfig, Dictionary<string, string>
globalProperties, ref string warningMsg)
+ {
VerifyProjectToImport method = verifyTests ?
VerifyUnitTestsToUser.VerifyTests : (VerifyProjectToImport)null;
- return ImportProject(solutionFile, groupId, artifactId, version,
scmTag, method, useMsDeploy, configuration, cloudConfig, depSearchConfig, ref
warningMsg);
+ return ImportProject(solutionFile, groupId, artifactId, version,
scmTag, method, useMsDeploy, configuration, cloudConfig, depSearchConfig,
globalProperties, ref warningMsg);
}
/// <summary>
@@ -169,7 +174,7 @@ namespace NPanday.ProjectImporter
/// <returns>An array of generated pom.xml filenames</returns>
public static string[] ImportProject(string solutionFile, string
groupId, string artifactId, string version, string scmTag,
VerifyProjectToImport verifyProjectToImport, ref string warningMsg)
{
- return ImportProject(solutionFile, groupId, artifactId, version,
scmTag, verifyProjectToImport, false, null, null, null, ref warningMsg);
+ return ImportProject(solutionFile, groupId, artifactId, version,
scmTag, verifyProjectToImport, false, null, null, null, null, ref warningMsg);
}
/// <summary>
@@ -184,7 +189,7 @@ namespace NPanday.ProjectImporter
/// <param name="verifyProjectToImport">A delegate That will Accept a
method for verifying Projects To Import</param>
/// <param name="scmTag">adds scm tags to parent pom.xml if not
string.empty or null</param>
/// <returns>An array of generated pom.xml filenames</returns>
- public static string[] ImportProject(string solutionFile, string
groupId, string artifactId, string version, string scmTag,
VerifyProjectToImport verifyProjectToImport, bool useMsDeploy, string
configuration, string cloudConfig, DependencySearchConfiguration
depSearchConfig, ref string warningMsg)
+ public static string[] ImportProject(string solutionFile, string
groupId, string artifactId, string version, string scmTag,
VerifyProjectToImport verifyProjectToImport, bool useMsDeploy, string
configuration, string cloudConfig, DependencySearchConfiguration
depSearchConfig, Dictionary<string, string> globalProperties, ref string
warningMsg)
{
string[] result = null;
@@ -193,7 +198,7 @@ namespace NPanday.ProjectImporter
FileInfo solutionFileInfo = new FileInfo(solutionFile);
- List<Dictionary<string, object>> list =
ParseSolution(solutionFileInfo, ref warningMsg);
+ List<Dictionary<string, object>> list =
ParseSolution(solutionFileInfo, globalProperties, ref warningMsg);
if (configuration != null)
{
@@ -303,9 +308,9 @@ namespace NPanday.ProjectImporter
/// </summary>
/// <param name="solutionFile">the full path of the *.sln (visual
studio solution) file you want to parse</param>
/// <returns></returns>
- public static List<Dictionary<string, object>> ParseSolution(FileInfo
solutionFile, ref string warningMsg)
+ public static List<Dictionary<string, object>> ParseSolution(FileInfo
solutionFile, Dictionary<string, string> globalProperties, ref string
warningMsg)
{
- return SolutionParser.ParseSolution(solutionFile, ref warningMsg);
+ return SolutionParser.ParseSolution(solutionFile,
globalProperties, ref warningMsg);
}
/// <summary>
@@ -330,10 +335,5 @@ namespace NPanday.ProjectImporter
{
return ProjectValidator.GetProjectStructureType(solutionFile,
projectDigests);
}
-
-
-
-
-
}
}
Modified:
incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Parser/SlnParser/ProjectSolutionParser.cs
URL:
http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Parser/SlnParser/ProjectSolutionParser.cs?rev=1453369&r1=1453368&r2=1453369&view=diff
==============================================================================
---
incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Parser/SlnParser/ProjectSolutionParser.cs
(original)
+++
incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Parser/SlnParser/ProjectSolutionParser.cs
Wed Mar 6 15:03:48 2013
@@ -52,7 +52,7 @@ namespace NPanday.ProjectImporter.Parser
BUILD_ENGINE = new Engine(msBuildPath);
}
- public List<Dictionary<string, object>> Parse(FileInfo solutionFile,
ref string warningMsg)
+ public List<Dictionary<string, object>> Parse(FileInfo solutionFile,
Dictionary<string, string> globalProperties, ref string warningMsg)
{
NPanday.ProjectImporter.Parser.SlnParser.Model.Solution solution;
@@ -143,6 +143,14 @@ namespace NPanday.ProjectImporter.Parser
try
{
+ // TODO: if we update to a .NET 3.5 minimum we can
pass in ProjectLoadSettings.IgnoreMissingImports, and ignore the
visualstudioversion
+ if (globalProperties != null)
+ {
+ foreach (KeyValuePair<string, string> entry in
globalProperties)
+ {
+ prj.GlobalProperties.SetProperty(entry.Key,
entry.Value);
+ }
+ }
prj.Load(fullpath);
}
catch (Exception e)
@@ -259,6 +267,7 @@ namespace NPanday.ProjectImporter.Parser
try
{
+ // TODO: if we update to a .NET 3.5 minimum we can
pass in ProjectLoadSettings.IgnoreMissingImports
prj.Load(projectReferenceFullPath);
}
catch (Exception e)
Modified:
incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Parser/SlnParser/SolutionParser.cs
URL:
http://svn.apache.org/viewvc/incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Parser/SlnParser/SolutionParser.cs?rev=1453369&r1=1453368&r2=1453369&view=diff
==============================================================================
---
incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Parser/SlnParser/SolutionParser.cs
(original)
+++
incubator/npanday/trunk/dotnet/assemblies/NPanday.ProjectImporter/Engine/src/main/csharp/Parser/SlnParser/SolutionParser.cs
Wed Mar 6 15:03:48 2013
@@ -30,7 +30,7 @@ namespace NPanday.ProjectImporter.Parser
{
public sealed class SolutionParser
{
- public delegate List<Dictionary<string, object>>
ParserAlgoDelegate(System.IO.FileInfo solutionFile, ref string warningMsg);
+ public delegate List<Dictionary<string, object>>
ParserAlgoDelegate(System.IO.FileInfo solutionFile, Dictionary<string, string>
globalProperties, ref string warningMsg);
static ParserAlgoDelegate[] ALGORITHMS =
{
@@ -38,13 +38,13 @@ namespace NPanday.ProjectImporter.Parser
};
- public static List<Dictionary<string, object>> ParseSolution(FileInfo
solutionFile, ref string warningMsg)
+ public static List<Dictionary<string, object>> ParseSolution(FileInfo
solutionFile, Dictionary<string, string> globalProperties, ref string
warningMsg)
{
List<Dictionary<string, object>> list = new
List<Dictionary<string, object>>();
foreach (ParserAlgoDelegate algo in ALGORITHMS)
{
- list.AddRange(algo(solutionFile, ref warningMsg));
+ list.AddRange(algo(solutionFile, globalProperties, ref
warningMsg));
}
return list;
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=1453369&r1=1453368&r2=1453369&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
Wed Mar 6 15:03:48 2013
@@ -361,7 +361,9 @@ namespace NPanday.VisualStudio.Addin
validateSolutionStructure();
resyncAllArtifacts();
// TODO: nicer to have some sort of structure / flags for the
Msdeploy bit, or this dialog will get out of control over time - perhaps a
"project configuration" dialog can replace the test popup
- string[] generatedPoms =
ProjectImporter.NPandayImporter.ImportProject(file.FullName, groupId,
artifactId, version, scmTag, true, useMsDeploy, configuration, cloudConfig,
depSearchConfig, ref warningMsg);
+ Dictionary<string, string> globalProperties = new
Dictionary<string, string>();
+ globalProperties.Add("VisualStudioVersion",
applicationObject.Version);
+ string[] generatedPoms =
ProjectImporter.NPandayImporter.ImportProject(file.FullName, groupId,
artifactId, version, scmTag, true, useMsDeploy, configuration, cloudConfig,
depSearchConfig, globalProperties, ref warningMsg);
string str = string.Format("NPanday Import Project has
Successfully Generated Pom Files!\n");
foreach (string pom in generatedPoms)