コード例 #1
0
		static int Main(string[] raw)
		{
			ArgumentList args = new ArgumentList(raw);
			List<string> input = new List<string>(args.Unnamed);

			if (args.Contains("nologo") == false)
			{
				Console.WriteLine("StampCopyright.exe");
				Console.WriteLine("Copyright 2009-{0:yyyy} by Roger Knapp, Licensed under the Apache License, Version 2.0", DateTime.Now);
				Console.WriteLine("");
			}

			if ((args.Count == 0 && args.Unnamed.Count == 0) || args.Contains("?") || args.Contains("help"))
				return DoHelp();

			try
			{
                args.TryGetValue("svn", out _subversion);

				Log.ConsoleLevel = System.Diagnostics.TraceLevel.Warning;
                _changes = 0;
                _copyText = File.ReadAllText(input[0]).Trim();
                _copyText = _copyText.Replace("YEAR", DateTime.Now.Year.ToString());
                _copyText = _copyText.Replace("yyyy", DateTime.Now.Year.ToString());
				input.RemoveAt(0);
				ProjectVisitor visitor = new ProjectVisitor(false, input.ToArray());
				visitor.VisitProjectItems(VisitProjectItem);
			}
			catch (ApplicationException ae)
			{
				Log.Error(ae);
				Console.Error.WriteLine();
				Console.Error.WriteLine(ae.Message);
				Environment.ExitCode = -1;
			}
			catch (Exception e)
			{
				Log.Error(e);
				Console.Error.WriteLine();
				Console.Error.WriteLine(e.ToString());
				Environment.ExitCode = -1;
			}

			if (args.Contains("wait"))
			{
				Console.WriteLine();
				Console.WriteLine("Press [Enter] to continue...");
				Console.ReadLine();
			}

			return Environment.ExitCode;
		}
コード例 #2
0
        private static void Visitor(bool fast, string[] projectFiles, Action <IGeneratorArguments> func)
        {
            ProjectVisitor projects = new ProjectVisitor(fast, projectFiles);

            Check.Assert <ApplicationException>(projects.Count > 0, "Unable to locate any projects matching: " + String.Join(" ", projectFiles));

            projects.VisitProjectItems(
                delegate(IProjectInfo p, IProjectItem item)
            {
                if (!StringComparer.OrdinalIgnoreCase.Equals("CmdTool", item.CustomTool))
                {
                    return;
                }
                string itemPath = item.FullFileName;
                if (File.Exists(itemPath))
                {
                    GeneratorArguments args = new GeneratorArguments(true, itemPath, item, p);
                    args.OutputMessage     += OutputMessage;
                    func(args);
                }
            }
                );
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: hivie7510/csharptest-net
		private static void Visitor(bool fast, string[] projectFiles, Action<IGeneratorArguments> func)
		{
			ProjectVisitor projects = new ProjectVisitor(fast, projectFiles);
			Check.Assert<ApplicationException>(projects.Count > 0, "Unable to locate any projects matching: " + String.Join(" ", projectFiles));

			projects.VisitProjectItems(
			delegate(IProjectInfo p, IProjectItem item)
			{
				if (!StringComparer.OrdinalIgnoreCase.Equals("CmdTool", item.CustomTool))
					return;
				string itemPath = item.FullFileName;
				if (File.Exists(itemPath))
				{
					GeneratorArguments args = new GeneratorArguments(true, itemPath, item, p);
					args.OutputMessage += OutputMessage;
					func(args);
				}
			}
			);
		}