2011-10-31 05:36:24 +00:00

61 lines
1.6 KiB
C#

using System;
using System.Diagnostics;
using System.IO;
using ANXStatusComparer.Data;
using ANXStatusComparer.Output;
namespace ANXStatusComparer
{
public static class Program
{
#region Main
/// <summary>
/// The main entry point of the tool.
/// </summary>
/// <param name="args">Arguments passed to the application.</param>
static void Main(string[] args)
{
#region Validation
string configFilepath = args.Length == 0 ?
"./SampleConfigFile.xml" :
args[0];
if (File.Exists(configFilepath) == false)
{
throw new FileNotFoundException("Failed to generate the status " +
"because the configuration file '" + configFilepath +
"' doesn't exist! Aborting.");
}
#endregion
// Load the config
Configuration config = new Configuration(configFilepath);
// Now load the actual assemblies and preparse them:
// for xna...
AssembliesData xnaAssemblies = new AssembliesData(config.XnaAssemblies);
// ...and for anx.
AssembliesData anxAssemblies = new AssembliesData(config.AnxAssemblies);
// Everything before was easy...now comes the main part.
ResultData result = AssemblyComparer.Compare(xnaAssemblies, anxAssemblies,
CheckType.All);
switch(config.OutputType)
{
default:
case "text":
Console.WriteLine(TextOutput.GenerateOutput(result));
Console.Read();
break;
case "html":
HtmlOutput.GenerateOutput(result, config.StylesheetFile);
Process.Start(HtmlOutput.HtmlFilepath);
break;
}
}
#endregion
}
}