Example #1
0
 public static int Run(string[] args)
 {
     return(New3Command.Run(CommandName, CreateHost(), FirstRun, args));
 }
Example #2
0
        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);
        }
Example #3
0
        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));
        }