static void Main(string[] args)
{
IEnumerable<string> files;
using (var streamReader = new StreamReader(args[0]))
{
var parser = new BlessParser();
files = parser.Parse(streamReader.ReadToEnd());
}
var dir = Path.GetDirectoryName(args[1]);
var baseFileName = Path.GetFileName(args[1]);
var fileAssembler = new FileAssembler();
var builtFiles = fileAssembler.BuildFiles(files, baseFileName);
builtFiles[builtFiles.Last().Key] = fileAssembler.AddImportsToBaseFile(builtFiles.Take(builtFiles.Count - 1).Select(x => x.Key), builtFiles.Last().Value);
foreach (var file in builtFiles)
{
File.WriteAllText(Path.Combine(dir, file.Key), file.Value);
}
}