tools/builder/Main.cs
author David Anderson <dvander@alliedmods.net>
Wed Feb 25 19:22:36 2009 -0500 (2009-02-25)
changeset 2603 fa286305bd3f
parent 2289 44045ead61cd
child 2521 b51c9b4515f0
permissions -rw-r--r--
Allow for second private chat trigger (bug 3667, r,a11=pred).
dvander@388
     1
using System;
dvander@388
     2
using System.IO;
dvander@388
     3
using System.Diagnostics;
dvander@388
     4
dvander@388
     5
namespace builder
dvander@388
     6
{
dvander@388
     7
	class Program
dvander@388
     8
	{
dvander@388
     9
		static void Main(string[] args)
dvander@388
    10
		{
dvander@388
    11
			if (args.GetLength(0) < 1)
dvander@388
    12
			{
dvander@388
    13
				System.Console.WriteLine("Usage: <config file>");
dvander@388
    14
				return;
dvander@388
    15
			}
dvander@388
    16
dvander@388
    17
			Config cfg = new Config();
dvander@388
    18
			if (!cfg.ReadFromFile(args[0]))
dvander@388
    19
			{
dvander@388
    20
				return;
dvander@388
    21
			}
dvander@388
    22
dvander@388
    23
			/* :TODO: Add path validation */
dvander@388
    24
dvander@388
    25
			ABuilder bld = null;
dvander@388
    26
			
dvander@388
    27
			if (cfg.Platform == BasePlatform.Platform_Linux)
dvander@388
    28
			{
dvander@388
    29
				bld = new LinuxBuilder(cfg);
dvander@388
    30
			} 
dvander@388
    31
			else if (cfg.Platform == BasePlatform.Platform_Windows)
dvander@388
    32
			{
dvander@388
    33
				bld = new Win32Builder(cfg);
dvander@1816
    34
				if (cfg.pdb_log_file != null && File.Exists(cfg.pdb_log_file))
dvander@1816
    35
				{
dvander@1816
    36
					File.Delete(cfg.pdb_log_file);
dvander@1816
    37
				}
dvander@388
    38
			}
dvander@388
    39
dvander@686
    40
			try
dvander@686
    41
			{
dvander@686
    42
				bld.BuildPackage(new PkgCore());
dvander@686
    43
			} 
dvander@686
    44
			catch (System.Exception e) 
dvander@686
    45
			{
dvander@2259
    46
				Console.WriteLine("Build failed, exception: " + e.Message);
dvander@2256
    47
                Environment.Exit(1);
dvander@686
    48
			}
dvander@2259
    49
dvander@2259
    50
            Environment.Exit(0);
dvander@388
    51
		}
dvander@388
    52
	}
dvander@388
    53
}