61 lines
1.6 KiB
C#
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
|
|||
|
}
|
|||
|
}
|