126 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			126 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using System;
 | |
| using System.IO;
 | |
| using System.Text;
 | |
| 
 | |
| namespace builder
 | |
| {
 | |
| 	public enum BasePlatform
 | |
| 	{
 | |
| 		Platform_Windows,
 | |
| 		Platform_Linux
 | |
| 	};
 | |
| 
 | |
| 	public class Config
 | |
| 	{
 | |
| 		public string SourceBase;
 | |
| 		public string OutputBase;
 | |
| 		public string BuilderPath;
 | |
| 		public string CompressOptions;
 | |
| 		public string SVNVersion;
 | |
| 		public string ProductVersion;
 | |
| 		public string Compressor;
 | |
| 		public string BuildOptions;
 | |
| 		public builder.BasePlatform Platform;
 | |
| 
 | |
| 		public Config()
 | |
| 		{
 | |
| 			if ((int)System.Environment.OSVersion.Platform == 128)
 | |
| 			{
 | |
| 				Platform = BasePlatform.Platform_Linux;
 | |
| 			} 
 | |
| 			else 
 | |
| 			{
 | |
| 				Platform = BasePlatform.Platform_Windows;
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		public static string PathFormat(string format, params string [] args)
 | |
| 		{
 | |
| 			string temp = string.Format(format, args);
 | |
| 			return temp.Replace(Path.AltDirectorySeparatorChar, Path.DirectorySeparatorChar);
 | |
| 		}
 | |
| 
 | |
| 		public bool ReadFromFile(string file)
 | |
| 		{
 | |
| 			bool read = true;
 | |
| 			StreamReader sr = null;
 | |
| 			try
 | |
| 			{
 | |
| 				sr = new StreamReader(file);
 | |
| 
 | |
| 				string line;
 | |
| 				string delim = "\t \n\r\v";
 | |
| 				string split = "=";
 | |
| 				
 | |
| 				while ( (line = sr.ReadLine()) != null )
 | |
| 				{
 | |
| 					line = line.Trim(delim.ToCharArray());
 | |
| 					if (line.Length < 1 || line[0] == ';')
 | |
| 					{
 | |
| 						continue;
 | |
| 					}
 | |
| 					string [] s = line.Split(split.ToCharArray());
 | |
| 					string key, val = "";
 | |
| 					if (s.GetLength(0) >= 1)
 | |
| 					{
 | |
| 						key = s[0];
 | |
| 						if (s.GetLength(0) >= 2)
 | |
| 						{
 | |
| 							for (int i=1; i<s.GetLength(0); i++)
 | |
| 							{
 | |
| 								val += s[i];
 | |
| 							}
 | |
| 						}
 | |
| 						key = key.Trim(delim.ToCharArray());
 | |
| 						val = val.Trim(delim.ToCharArray());
 | |
| 						if (key.CompareTo("SourceBase") == 0)
 | |
| 						{
 | |
| 							SourceBase = val;
 | |
| 						} 
 | |
| 						else if (key.CompareTo("OutputBase") == 0) 
 | |
| 						{
 | |
| 							OutputBase = val;
 | |
| 						} 
 | |
| 						else if (key.CompareTo("BuilderPath") == 0) 
 | |
| 						{
 | |
| 							BuilderPath = val;
 | |
| 						} 
 | |
| 						else if (key.CompareTo("CompressOptions") == 0) 
 | |
| 						{
 | |
| 							CompressOptions = val;
 | |
| 						} 
 | |
| 						else if (key.CompareTo("SVNVersion") == 0) 
 | |
| 						{
 | |
| 							SVNVersion = val;
 | |
| 						} 
 | |
| 						else if (key.CompareTo("ProductVersion") == 0)
 | |
| 						{
 | |
| 							ProductVersion = val;
 | |
| 						} 
 | |
| 						else if (key.CompareTo("Compressor") == 0) 
 | |
| 						{
 | |
| 							Compressor = val;
 | |
| 						} 
 | |
| 						else if (key.CompareTo("BuildOptions") == 0) 
 | |
| 						{
 | |
| 							BuildOptions = val;
 | |
| 						}
 | |
| 					}
 | |
| 				}
 | |
| 			} 
 | |
| 			catch (System.Exception e)
 | |
| 			{
 | |
| 				Console.WriteLine("Unable to read {0:s}: {1:s}", file, e.Message);
 | |
| 				read = false;
 | |
| 			}
 | |
| 
 | |
| 			if (sr != null)
 | |
| 			{
 | |
| 				sr.Close();
 | |
| 			}
 | |
| 
 | |
| 			return read;
 | |
| 		}
 | |
| 	}
 | |
| }
 |