mirror of
https://github.com/danbulant/Cosmos
synced 2026-05-19 20:39:01 +00:00
53 lines
No EOL
2.4 KiB
C#
53 lines
No EOL
2.4 KiB
C#
using System;
|
|
using System.IO;
|
|
using System.Text;
|
|
|
|
namespace CosmosFlatFileUpdater {
|
|
internal class Program {
|
|
private static void Main() {
|
|
var xBaseCosmosSourceDir = new DirectoryInfo(Path.GetDirectoryName(typeof(Program).Assembly.Location)).Parent.Parent.Parent.FullName;
|
|
var xLines = File.ReadAllLines(Path.Combine(xBaseCosmosSourceDir,@"Cosmos.sln"));
|
|
if((File.GetAttributes(Path.Combine(xBaseCosmosSourceDir,"Cosmos.Flat.sln")) & FileAttributes.ReadOnly) != 0) {
|
|
Console.ForegroundColor = ConsoleColor.Red;
|
|
Console.WriteLine("Please make Cosmos.Flat.sln read-write! Press a key to close");
|
|
Console.ReadKey();
|
|
return;
|
|
}
|
|
using (var xOutput = new StreamWriter(Path.Combine(xBaseCosmosSourceDir,"Cosmos.Flat.New.sln"), false, Encoding.UTF8)) {
|
|
var xLinesToSkip = 0;
|
|
var xSkipTo = "";
|
|
foreach (var xLine in xLines) {
|
|
if (xLinesToSkip > 0) {
|
|
xLinesToSkip--;
|
|
continue;
|
|
}
|
|
if (!String.IsNullOrEmpty(xSkipTo)) {
|
|
if (xLine.Trim() == xSkipTo) {
|
|
xSkipTo = null;
|
|
}
|
|
continue;
|
|
}
|
|
if (xLine.StartsWith("Project(\"{2150E333-8FDC-42A3-9474-1A3956D46DE8}\")")) {
|
|
xLinesToSkip = 1;
|
|
continue;
|
|
}
|
|
if (xLine.Trim() == "GlobalSection(TeamFoundationVersionControl) = preSolution") {
|
|
xSkipTo = "EndGlobalSection";
|
|
continue;
|
|
}
|
|
if (xLine.Trim() == "GlobalSection(NestedProjects) = preSolution") {
|
|
xSkipTo = "EndGlobalSection";
|
|
continue;
|
|
}
|
|
if (xLine.Trim() == "# Visual Studio 2008") {
|
|
xOutput.WriteLine("# Visual C# Express 2008");
|
|
continue;
|
|
}
|
|
xOutput.WriteLine(xLine);
|
|
}
|
|
Console.WriteLine("Done updating Cosmos.Flat.sln! Press a key to close");
|
|
Console.ReadKey();
|
|
}
|
|
}
|
|
}
|
|
} |