tools/builder/Main.cs
author David Anderson <dvander@alliedmods.net>
Sun Dec 23 00:08:08 2007 +0000 (2007-12-23)
changeset 1816 269bbfbfbcac
parent 686 b3f80b9ced9e
child 2289 44045ead61cd
permissions -rw-r--r--
added pdb logging
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@686
    46
				Console.WriteLine("Build failed: " + e.Message);
dvander@686
    47
			}
dvander@388
    48
		}
dvander@388
    49
	}
dvander@388
    50
}