public static int Run(string[] args) { return(New3Command.Run(CommandName, CreateHost(), FirstRun, args)); }
static int Main(string[] args) { VerificationLookup["dir_exists"] = CheckDirectoryExists; VerificationLookup["file_exists"] = CheckFileExists; VerificationLookup["dir_does_not_exist"] = CheckDirectoryDoesNotExist; VerificationLookup["file_does_not_exist"] = CheckFileDoesNotExist; VerificationLookup["file_contains"] = CheckFileContains; VerificationLookup["file_does_not_contain"] = CheckFileDoesNotContain; int batteryCount = int.Parse(args[0], CultureInfo.InvariantCulture); string[] passthroughArgs = new string[args.Length - 2 - batteryCount]; string outputPath = args[batteryCount + 1]; for (int i = 0; i < passthroughArgs.Length; ++i) { passthroughArgs[i] = args[i + 2 + batteryCount]; } string home = "%USERPROFILE%"; if (Path.DirectorySeparatorChar == '/') { home = "%HOME%"; } ITemplateEngineHost host = CreateHost(); string profileDir = Environment.ExpandEnvironmentVariables(home); if (string.IsNullOrWhiteSpace(profileDir)) { Console.Error.WriteLine("Could not determine home directory"); return(0); } host.VirtualizeDirectory(Path.Combine(profileDir, ".templateengine")); host.VirtualizeDirectory(outputPath); int result = New3Command.Run(CommandName, host, new TelemetryLogger(null), FirstRun, passthroughArgs); bool verificationsPassed = false; for (int i = 0; i < batteryCount; ++i) { string verificationsFile = args[i + 1]; string verificationsFileContents = File.ReadAllText(verificationsFile); JArray verifications = JArray.Parse(verificationsFileContents); try { verificationsPassed = RunVerifications(verifications, host.FileSystem, outputPath); } catch (Exception ex) { verificationsPassed = false; Console.Error.WriteLine(ex.ToString()); } } Console.Error.WriteLine(" "); Console.Error.WriteLine("Output Files:"); foreach (string fileName in host.FileSystem.EnumerateFiles(outputPath, "*", SearchOption.AllDirectories)) { Console.Error.WriteLine(fileName.Substring(outputPath.Length)); } return(result != 0 ? result : verificationsPassed ? 0 : 1); }
public static int Main(string[] args) { bool emitTimings = args.Any(x => string.Equals(x, "--debug:emit-timings", StringComparison.OrdinalIgnoreCase)); return(New3Command.Run(CommandName, CreateHost(emitTimings), new TelemetryLogger(null), FirstRun, args)); }