-// Copyright (c) 2004 Francisco T. Martinez <paco@mfcon.com>\r
-// All rights reserved.\r
-//\r
-using System;\r
-using System.Xml;\r
-using System.Xml.Serialization;\r
-using System.Collections;\r
-using System.IO;\r
-using System.Text;\r
-using System.Text.RegularExpressions;\r
-using Mfconsulting.General.Prj2Make.Schema.Prjx;\r
-using Mfconsulting.General.Prj2Make.Schema.Csproj;\r
-\r
-namespace Mfconsulting.General.Prj2Make\r
-{\r
- public class Maker\r
- {\r
- public enum TypeOfFile {\r
- unknown,\r
- sln,\r
- csproj,\r
- cmbx,\r
- prjx \r
- }\r
- \r
- // Helper function to determine the type of\r
- // file being parsed based on its extension\r
- protected TypeOfFile DetermineFileType(string inFileName)\r
- {\r
- string ExtentionString = System.IO.Path.GetExtension (inFileName);\r
- \r
- switch(ExtentionString)\r
- {\r
- case ".sln":\r
- return TypeOfFile.sln;\r
- case ".csproj":\r
- return TypeOfFile.csproj;\r
- case ".cmbx":\r
- return TypeOfFile.cmbx;\r
- case ".prjx":\r
- return TypeOfFile.prjx;\r
- } \r
- \r
- return TypeOfFile.unknown;\r
- }\r
-\r
- public bool CreateCombineFromSln(string slnFileName)\r
- {\r
- SlnMaker slnMkObj = new SlnMaker();\r
-\r
- // Load the sln and parse it\r
- slnMkObj.MsSlnToCmbxHelper(slnFileName);\r
-\r
- return false;\r
- }\r
- \r
- public bool CreatePrjxFromCsproj(string csprojFileName)\r
- {\r
- SlnMaker slnMkObj = new SlnMaker();\r
-\r
- // Load the csproj and parse it\r
- slnMkObj.CreatePrjxFromCsproj(csprojFileName);\r
-\r
- return false;\r
- }\r
- \r
- // Main entry point for Makefile generation\r
- public string MakerMain(bool isUnixMode, bool isMcsMode, string slnFile)\r
- {\r
- SlnMaker mk1Obj = null;\r
- CmbxMaker mk2Obj = null;\r
- // Test to see what kind if file we got\r
- // sln, csproj, cmbx, prjx\r
- switch(DetermineFileType(slnFile))\r
- {\r
- case TypeOfFile.sln:\r
- mk1Obj = new SlnMaker();\r
- return mk1Obj.MsSlnHelper (isUnixMode, isMcsMode, true, slnFile);\r
- case TypeOfFile.csproj:\r
- mk1Obj = new SlnMaker();\r
- return mk1Obj.MsSlnHelper (isUnixMode, isMcsMode, false, slnFile);\r
- case TypeOfFile.cmbx:\r
- mk2Obj = new CmbxMaker();\r
- return mk2Obj.MdCmbxHelper (isUnixMode, isMcsMode, true, slnFile);\r
- case TypeOfFile.prjx:\r
- mk2Obj = new CmbxMaker();\r
- return mk2Obj.MdCmbxHelper (isUnixMode, isMcsMode, false, slnFile);\r
- }\r
- return "Error: unknown file type.";\r
- }\r
- } \r
-}\r
+// Copyright (c) 2004 Francisco T. Martinez <paco@mfcon.com>
+// All rights reserved.
+//
+using System;
+using System.Xml;
+using System.Xml.Serialization;
+using System.Collections;
+using System.IO;
+using System.Text;
+using System.Text.RegularExpressions;
+using Mfconsulting.General.Prj2Make.Schema.Prjx;
+using Mfconsulting.General.Prj2Make.Schema.Csproj;
+
+namespace Mfconsulting.General.Prj2Make
+{
+ public class Utils {
+ public static string Escape (string s)
+ {
+ if (s.IndexOf (' ') == -1)
+ return s;
+
+ StringBuilder sb = new StringBuilder ();
+ foreach (char c in s){
+ if (c == ' ')
+ sb.Append ('\\');
+ sb.Append (c);
+ }
+ return sb.ToString ();
+ }
+
+
+ }
+
+ public class Maker
+ {
+ public enum TypeOfFile {
+ unknown,
+ sln,
+ csproj,
+ cmbx,
+ prjx
+ }
+
+ // Helper function to determine the type of
+ // file being parsed based on its extension
+ protected TypeOfFile DetermineFileType(string inFileName)
+ {
+ string ExtentionString = System.IO.Path.GetExtension (inFileName);
+
+ switch(ExtentionString)
+ {
+ case ".sln":
+ return TypeOfFile.sln;
+ case ".csproj":
+ return TypeOfFile.csproj;
+ case ".cmbx":
+ return TypeOfFile.cmbx;
+ case ".prjx":
+ return TypeOfFile.prjx;
+ }
+
+ return TypeOfFile.unknown;
+ }
+
+ public bool CreateCombineFromSln(string slnFileName)
+ {
+ SlnMaker slnMkObj = new SlnMaker();
+
+ // Load the sln and parse it
+ slnMkObj.MsSlnToCmbxHelper(slnFileName);
+
+ return false;
+ }
+
+ public bool CreatePrjxFromCsproj(string csprojFileName)
+ {
+ SlnMaker slnMkObj = new SlnMaker();
+
+ // Load the csproj and parse it
+ slnMkObj.CreatePrjxFromCsproj(csprojFileName);
+
+ return false;
+ }
+
+ // Main entry point for Makefile generation
+ public string MakerMain(bool isUnixMode, bool isMcsMode, string slnFile)
+ {
+ SlnMaker mk1Obj = null;
+ CmbxMaker mk2Obj = null;
+ // Test to see what kind if file we got
+ // sln, csproj, cmbx, prjx
+ switch(DetermineFileType(slnFile))
+ {
+ case TypeOfFile.sln:
+ mk1Obj = new SlnMaker();
+ return mk1Obj.MsSlnHelper (isUnixMode, isMcsMode, true, slnFile);
+ case TypeOfFile.csproj:
+ mk1Obj = new SlnMaker();
+ return mk1Obj.MsSlnHelper (isUnixMode, isMcsMode, false, slnFile);
+ case TypeOfFile.cmbx:
+ mk2Obj = new CmbxMaker();
+ return mk2Obj.MdCmbxHelper (isUnixMode, isMcsMode, true, slnFile);
+ case TypeOfFile.prjx:
+ mk2Obj = new CmbxMaker();
+ return mk2Obj.MdCmbxHelper (isUnixMode, isMcsMode, false, slnFile);
+ }
+ return "Error: unknown file type.";
+ }
+ }
+}