Browse Source

applied patch from Scott Ferrett: Support for % in itmes in MSBuild files

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@786 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Markus Palme 20 years ago
parent
commit
a9bbe786cf
  1. 2
      src/Main/Base/Project/Src/Project/Converter/PrjxToSolutionProject.cs
  2. 4
      src/Main/Base/Project/Src/Project/Items/ProjectItem.cs
  3. 14
      src/Main/Base/Project/Src/Project/MSBuildProject.cs

2
src/Main/Base/Project/Src/Project/Converter/PrjxToSolutionProject.cs

@ -238,7 +238,7 @@ namespace ICSharpCode.SharpDevelop.Project.Converter @@ -238,7 +238,7 @@ namespace ICSharpCode.SharpDevelop.Project.Converter
}
// We have to use the stringWriter for writing because xslt.Transform doesn't use
// writer.Formatting. Also, we need to remove some unwanted whitespace from the beginning.
using (XmlTextWriter writer = new XmlTextWriter(outFile, Encoding.UTF8)) {
using (MSBuildFileWriter writer = new MSBuildFileWriter(outFile, Encoding.UTF8)) {
writer.Formatting = Formatting.Indented;
using (XmlTextReader reader = new XmlTextReader(new StringReader(stringWriter.ToString()))) {
reader.WhitespaceHandling = WhitespaceHandling.Significant;

4
src/Main/Base/Project/Src/Project/Items/ProjectItem.cs

@ -140,7 +140,7 @@ namespace ICSharpCode.SharpDevelop.Project @@ -140,7 +140,7 @@ namespace ICSharpCode.SharpDevelop.Project
}
internal void WriteItem(XmlTextWriter writer)
internal void WriteItem(MSBuildFileWriter writer)
{
writer.WriteStartElement(Tag);
writer.WriteAttributeString("Include", Include);
@ -167,7 +167,7 @@ namespace ICSharpCode.SharpDevelop.Project @@ -167,7 +167,7 @@ namespace ICSharpCode.SharpDevelop.Project
}
}
internal static void WriteItemGroup(XmlTextWriter writer, List<ProjectItem> items)
internal static void WriteItemGroup(MSBuildFileWriter writer, List<ProjectItem> items)
{
writer.WriteStartElement("ItemGroup");
foreach (ProjectItem item in items) {

14
src/Main/Base/Project/Src/Project/MSBuildProject.cs

@ -83,7 +83,7 @@ namespace ICSharpCode.SharpDevelop.Project @@ -83,7 +83,7 @@ namespace ICSharpCode.SharpDevelop.Project
protected void SetupProject(string projectFileName)
{
this.fileName = projectFileName;
using (XmlTextReader reader = new XmlTextReader(projectFileName)) {
using (MSBuildFileReader reader = new MSBuildFileReader(projectFileName)) {
reader.WhitespaceHandling = WhitespaceHandling.Significant;
reader.MoveToContent(); // we have to skip over the XmlDeclaration (if it exists)
if (reader.Name == "VisualStudioProject") {
@ -115,7 +115,7 @@ namespace ICSharpCode.SharpDevelop.Project @@ -115,7 +115,7 @@ namespace ICSharpCode.SharpDevelop.Project
string userSettingsFileName = projectFileName + ".user";
if (File.Exists(userSettingsFileName)) {
using (XmlTextReader reader = new XmlTextReader(userSettingsFileName)) {
using (MSBuildFileReader reader = new MSBuildFileReader(userSettingsFileName)) {
reader.WhitespaceHandling = WhitespaceHandling.Significant;
reader.MoveToContent(); // we have to skip over the XmlDeclaration (if it exists)
while (reader.Read()){
@ -181,7 +181,7 @@ namespace ICSharpCode.SharpDevelop.Project @@ -181,7 +181,7 @@ namespace ICSharpCode.SharpDevelop.Project
if (!System.IO.Directory.Exists(outputDirectory)) {
System.IO.Directory.CreateDirectory(outputDirectory);
}
using (XmlTextWriter writer = new XmlTextWriter(fileName, Encoding.UTF8)) {
using (MSBuildFileWriter writer = new MSBuildFileWriter(fileName, Encoding.UTF8)) {
writer.Formatting = Formatting.Indented;
writer.WriteStartElement("Project");
@ -245,7 +245,7 @@ namespace ICSharpCode.SharpDevelop.Project @@ -245,7 +245,7 @@ namespace ICSharpCode.SharpDevelop.Project
string userSettingsFileName = fileName + ".user";
if (userConfigurations.Count > 0 || UserBaseConfiguration.PropertyCount > 0 || File.Exists(userSettingsFileName)) {
using (XmlTextWriter writer = new XmlTextWriter(userSettingsFileName, Encoding.UTF8)) {
using (MSBuildFileWriter writer = new MSBuildFileWriter(userSettingsFileName, Encoding.UTF8)) {
writer.Formatting = Formatting.Indented;
writer.WriteStartElement("Project");
writer.WriteAttributeString("xmlns", "http://schemas.microsoft.com/developer/msbuild/2003");
@ -258,7 +258,7 @@ namespace ICSharpCode.SharpDevelop.Project @@ -258,7 +258,7 @@ namespace ICSharpCode.SharpDevelop.Project
}
}
static void SaveProperties(XmlWriter writer, PropertyGroup baseConfiguration, Dictionary<string, PropertyGroup> configurations)
static void SaveProperties(MSBuildFileWriter writer, PropertyGroup baseConfiguration, Dictionary<string, PropertyGroup> configurations)
{
if (baseConfiguration.PropertyCount > 0) {
writer.WriteStartElement("PropertyGroup");
@ -283,11 +283,11 @@ namespace ICSharpCode.SharpDevelop.Project @@ -283,11 +283,11 @@ namespace ICSharpCode.SharpDevelop.Project
}
}
static void SaveUnknownXmlSections(XmlWriter writer, List<string> unknownElements)
static void SaveUnknownXmlSections(MSBuildFileWriter writer, List<string> unknownElements)
{
foreach (string element in unknownElements) {
// round-trip xml text again for better formatting
XmlReader reader = new XmlTextReader(new StringReader(element));
MSBuildFileReader reader = new MSBuildFileReader(new StringReader(element));
writer.WriteNode(reader, false);
reader.Close();
}

Loading…
Cancel
Save