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;
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 |