| author | Matt Woodrow <pred@alliedmods.net> |
| Tue Apr 01 00:51:21 2008 +0000 (2008-04-01) | |
| changeset 1956 | 8ae29b9df92c |
| parent 1952 | b7aa2b626807 |
| child 2289 | 44045ead61cd |
| permissions | -rw-r--r-- |
| ds@1952 | 1 |
using System; |
| ds@1952 | 2 |
using System.IO; |
| ds@1952 | 3 |
using System.Text; |
| ds@1952 | 4 |
|
| ds@1952 | 5 |
namespace builder |
| ds@1952 | 6 |
{ |
| ds@1952 | 7 |
public enum BasePlatform |
| ds@1952 | 8 |
{ |
| ds@1952 | 9 |
Platform_Windows, |
| ds@1952 | 10 |
Platform_Linux |
| ds@1952 | 11 |
}; |
| ds@1952 | 12 |
|
| ds@1952 | 13 |
public class Config |
| ds@1952 | 14 |
{ |
| ds@1952 | 15 |
public string source_path; |
| ds@1952 | 16 |
public string pkg_path; |
| ds@1952 | 17 |
public string builder_path; |
| ds@1952 | 18 |
public string build_options; |
| ds@1952 | 19 |
public string pdb_log_file; |
| ds@1952 | 20 |
public builder.BasePlatform Platform; |
| ds@1952 | 21 |
|
| ds@1952 | 22 |
public Config() |
| ds@1952 | 23 |
{ |
| ds@1952 | 24 |
if ((int)System.Environment.OSVersion.Platform == 128) |
| ds@1952 | 25 |
{ |
| ds@1952 | 26 |
Platform = BasePlatform.Platform_Linux; |
| ds@1952 | 27 |
} |
| ds@1952 | 28 |
else |
| ds@1952 | 29 |
{ |
| ds@1952 | 30 |
Platform = BasePlatform.Platform_Windows; |
| ds@1952 | 31 |
} |
| ds@1952 | 32 |
} |
| ds@1952 | 33 |
|
| ds@1952 | 34 |
public static string PathFormat(string format, params string [] args) |
| ds@1952 | 35 |
{ |
| ds@1952 | 36 |
string temp = string.Format(format, args); |
| ds@1952 | 37 |
return temp.Replace(Path.AltDirectorySeparatorChar, Path.DirectorySeparatorChar); |
| ds@1952 | 38 |
} |
| ds@1952 | 39 |
|
| ds@1952 | 40 |
public bool ReadFromFile(string file) |
| ds@1952 | 41 |
{ |
| ds@1952 | 42 |
bool read = true; |
| ds@1952 | 43 |
StreamReader sr = null; |
| ds@1952 | 44 |
try |
| ds@1952 | 45 |
{ |
| ds@1952 | 46 |
sr = new StreamReader(file); |
| ds@1952 | 47 |
|
| ds@1952 | 48 |
string line; |
| ds@1952 | 49 |
string delim = "\t \n\r\v"; |
| ds@1952 | 50 |
string split = "="; |
| ds@1952 | 51 |
|
| ds@1952 | 52 |
while ( (line = sr.ReadLine()) != null ) |
| ds@1952 | 53 |
{ |
| ds@1952 | 54 |
line = line.Trim(delim.ToCharArray()); |
| ds@1952 | 55 |
if (line.Length < 1 || line[0] == ';') |
| ds@1952 | 56 |
{ |
| ds@1952 | 57 |
continue; |
| ds@1952 | 58 |
} |
| ds@1952 | 59 |
string [] s = line.Split(split.ToCharArray()); |
| ds@1952 | 60 |
string key, val = ""; |
| ds@1952 | 61 |
if (s.GetLength(0) >= 1) |
| ds@1952 | 62 |
{ |
| ds@1952 | 63 |
key = s[0]; |
| ds@1952 | 64 |
if (s.GetLength(0) >= 2) |
| ds@1952 | 65 |
{ |
| ds@1952 | 66 |
for (int i=1; i<s.GetLength(0); i++) |
| ds@1952 | 67 |
{ |
| ds@1952 | 68 |
val += s[i]; |
| ds@1952 | 69 |
} |
| ds@1952 | 70 |
} |
| ds@1952 | 71 |
key = key.Trim(delim.ToCharArray()); |
| ds@1952 | 72 |
val = val.Trim(delim.ToCharArray()); |
| ds@1952 | 73 |
if (key.CompareTo("SourceBase") == 0) |
| ds@1952 | 74 |
{ |
| ds@1952 | 75 |
source_path = val; |
| ds@1952 | 76 |
} |
| ds@1952 | 77 |
else if (key.CompareTo("OutputBase") == 0) |
| ds@1952 | 78 |
{ |
| ds@1952 | 79 |
pkg_path = val; |
| ds@1952 | 80 |
} |
| ds@1952 | 81 |
else if (key.CompareTo("BuilderPath") == 0) |
| ds@1952 | 82 |
{ |
| ds@1952 | 83 |
builder_path = val; |
| ds@1952 | 84 |
} |
| ds@1952 | 85 |
else if (key.CompareTo("BuildOptions") == 0) |
| ds@1952 | 86 |
{ |
| ds@1952 | 87 |
build_options = val; |
| ds@1952 | 88 |
} |
| ds@1952 | 89 |
else if (key.CompareTo("PDBLog") == 0) |
| ds@1952 | 90 |
{ |
| ds@1952 | 91 |
pdb_log_file = val; |
| ds@1952 | 92 |
} |
| ds@1952 | 93 |
} |
| ds@1952 | 94 |
} |
| ds@1952 | 95 |
} |
| ds@1952 | 96 |
catch (System.Exception e) |
| ds@1952 | 97 |
{ |
| ds@1952 | 98 |
Console.WriteLine("Unable to read {0:s}: {1:s}", file, e.Message); |
| ds@1952 | 99 |
read = false; |
| ds@1952 | 100 |
} |
| ds@1952 | 101 |
|
| ds@1952 | 102 |
if (sr != null) |
| ds@1952 | 103 |
{ |
| ds@1952 | 104 |
sr.Close(); |
| ds@1952 | 105 |
} |
| ds@1952 | 106 |
|
| ds@1952 | 107 |
return read; |
| ds@1952 | 108 |
} |
| ds@1952 | 109 |
} |
| ds@1952 | 110 |
} |