Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS will be completely phased out by mid-2025. To see alternatives please check here

Skip to content
Snippets Groups Projects
Commit a79366c8 authored by Michael KRISPER's avatar Michael KRISPER
Browse files

VECTO-426 console log messages to stderr, results to stdout

parent d04b3b38
No related branches found
No related tags found
No related merge requests found
......@@ -34,15 +34,9 @@ using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
using System.Xml.Linq;
using System.Xml.Schema;
using System.Xml.XPath;
using TUGraz.VectoCommon.Exceptions;
using TUGraz.VectoCore.InputData.FileIO.XML.Declaration;
using TUGraz.VectoCore.Utils;
using TUGraz.VectoHashing;
......@@ -68,7 +62,12 @@ hashingcmd.exe
-r: read hash from file and write to stdout
";
static Dictionary<string, HashingAction> actions = new Dictionary<string, HashingAction>();
private static readonly Dictionary<string, HashingAction> Actions = new Dictionary<string, HashingAction> {
{ "-v", VerifyHashAction },
{ "-c", ComputeHashAction },
{ "-r", ReadHashAction },
{ "-s", CreateHashedFileAction }
};
static bool _validateXML;
private static bool xmlValid = true;
......@@ -81,10 +80,6 @@ hashingcmd.exe
Console.Write(Help);
return 0;
}
actions["-v"] = VerifyHashAction;
actions["-c"] = ComputeHashAction;
actions["-r"] = ReadHashAction;
actions["-s"] = CreateHashedFileAction;
if (args.Contains("-x")) {
_validateXML = true;
......@@ -97,16 +92,16 @@ hashingcmd.exe
return 0;
}
foreach (var file in fileList) {
WriteLine("processing " + Path.GetFileName(file));
Console.Error.WriteLine("processing " + Path.GetFileName(file));
if (!File.Exists(Path.GetFullPath(file))) {
WriteLine("file " + Path.GetFullPath(file) + " not found!");
Console.Error.WriteLine("file " + Path.GetFullPath(file) + " not found!");
continue;
}
foreach (var arg in args) {
if (actions.ContainsKey(arg)) {
if (Actions.ContainsKey(arg)) {
try {
var h = VectoHash.Load(file);
actions[arg](Path.GetFullPath(file), h);
Actions[arg](Path.GetFullPath(file), h);
} catch (Exception e) {
Console.ForegroundColor = ConsoleColor.Red;
Console.Error.WriteLine(e.Message);
......@@ -127,7 +122,9 @@ hashingcmd.exe
Environment.ExitCode = Environment.ExitCode != 0 ? Environment.ExitCode : 1;
}
#if DEBUG
Console.WriteLine("done.");
Console.Error.WriteLine("done.");
if (!Console.IsInputRedirected)
Console.ReadKey();
#endif
return Environment.ExitCode;
......@@ -138,18 +135,18 @@ hashingcmd.exe
var destination = Path.Combine(Path.GetDirectoryName(filename),
Path.GetFileNameWithoutExtension(filename) + "_hashed.xml");
if (File.Exists(destination)) {
WriteLine("hashed file already exists. overwrite? (y/n) ");
Console.Error.WriteLine("hashed file already exists. overwrite? (y/n) ");
var key = Console.ReadKey(true);
while (!(key.KeyChar == 'y' || key.KeyChar == 'n')) {
WriteLine("overwrite? (y/n) ");
Console.Error.WriteLine("overwrite? (y/n) ");
key = Console.ReadKey(true);
}
if (key.KeyChar == 'n') {
return;
}
WriteLine("overwriting file " + Path.GetFileName(destination));
Console.Error.WriteLine("overwriting file " + Path.GetFileName(destination));
} else {
WriteLine("creating file " + Path.GetFileName(destination));
Console.Error.WriteLine("creating file " + Path.GetFileName(destination));
}
var result = h.AddHash();
var writer = new XmlTextWriter(destination, Encoding.UTF8) {
......@@ -189,7 +186,7 @@ hashingcmd.exe
}
} catch (Exception e) {
Console.ForegroundColor = ConsoleColor.Red;
Console.Error.WriteLine("Failed to validate hashed XML file!");
Console.WriteLine("Failed to validate hashed XML file!");
Console.Error.WriteLine(e.Message);
if (e.InnerException != null) {
Console.Error.WriteLine(e.InnerException.Message);
......
......@@ -47,24 +47,24 @@ Tool for plotting graphs comparing Vecto 2.2 and Vecto 3
private static void Main(string[] args)
{
if (args.Contains("--split")) {
Console.WriteLine("plotting graphs splitted by distance");
Console.Error.WriteLine("plotting graphs splitted by distance");
var idx = Array.FindIndex(args, x => x == "--split");
var lenght = int.Parse(args[idx + 1]);
var success = true;
var start = 0;
do {
Console.WriteLine("plotting {0} - {1}", start / 1000, (start + lenght) / 1000);
Console.Error.WriteLine("plotting {0} - {1}", start / 1000, (start + lenght) / 1000);
success = GraphWriter.WriteDistanceSlice(args[0], args[1], start, start + lenght);
start += lenght;
} while (success);
Console.WriteLine("plotting full cycle");
Console.Error.WriteLine("plotting full cycle");
GraphWriter.Write(args[0], args[1]);
Console.WriteLine("done");
Console.Error.WriteLine("done");
return;
}
Console.WriteLine("plotting graphs...");
Console.Error.WriteLine("plotting graphs...");
GraphWriter.Write(args[0], args[1]);
Console.WriteLine("done");
Console.Error.WriteLine("done");
}
}
}
\ No newline at end of file
......@@ -47,13 +47,13 @@ namespace LicenceHeader
private static void Main()
{
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("Updating Licence-Headers in Sourcefiles.");
Console.Error.WriteLine("Updating Licence-Headers in Sourcefiles.");
Console.ResetColor();
Console.WriteLine();
Console.WriteLine("Search Directory: {0}", Path.GetFullPath(SolutionRootDirectory));
Console.WriteLine("Filter: *.cs");
Console.WriteLine("Excluded Dirs: \\obj, \\bin");
Console.WriteLine("Header-File: {0}", Path.GetFullPath("header.txt"));
Console.Error.WriteLine();
Console.Error.WriteLine("Search Directory: {0}", Path.GetFullPath(SolutionRootDirectory));
Console.Error.WriteLine("Filter: *.cs");
Console.Error.WriteLine("Excluded Dirs: \\obj, \\bin");
Console.Error.WriteLine("Header-File: {0}", Path.GetFullPath("header.txt"));
var licence = File.ReadAllText("header.txt", Encoding.UTF8);
var re = new Regex("^.*?(?=using|namespace)", RegexOptions.Singleline);
......@@ -74,14 +74,15 @@ namespace LicenceHeader
var count = 0;
foreach (var f in updatedFiles) {
count++;
Console.WriteLine(f.Substring(SolutionRootDirectory.Length - 1));
Console.Error.WriteLine(f.Substring(SolutionRootDirectory.Length - 1));
}
Console.WriteLine();
Console.Error.WriteLine();
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine("Finished. Updated {0} files.", count);
Console.ResetColor();
if (!Console.IsInputRedirected)
Console.ReadKey();
}
}
......
......@@ -44,7 +44,6 @@ using NLog.Targets;
using TUGraz.VectoCommon.Exceptions;
using TUGraz.VectoCommon.InputData;
using TUGraz.VectoCommon.Models;
using TUGraz.VectoCommon.Utils;
using TUGraz.VectoCore.Configuration;
using TUGraz.VectoCore.InputData.FileIO.JSON;
using TUGraz.VectoCore.InputData.FileIO.XML.Declaration;
......@@ -236,7 +235,7 @@ Examples:
WriteLine(@"Detected cycles:", ConsoleColor.White);
foreach (var cycle in _jobContainer.GetCycleTypes()) {
WriteLine(string.Format(@" {0}: {1}", cycle.Name, cycle.CycleType));
WriteLineStdOut(string.Format(@" {0}: {1}", cycle.Name, cycle.CycleType));
}
WriteLine();
......@@ -288,7 +287,9 @@ Examples:
}
#if DEBUG
Console.WriteLine("done.");
Console.Error.WriteLine("done.");
if (!Console.IsInputRedirected)
Console.ReadKey();
#endif
return Environment.ExitCode;
......@@ -299,7 +300,7 @@ Examples:
if (_quiet && !_debugEnabled) {
return;
}
Console.WriteLine();
Console.Error.WriteLine();
}
private static void WriteLine(string message, ConsoleColor foregroundColor = ConsoleColor.Gray)
......@@ -308,6 +309,16 @@ Examples:
return;
}
Console.ForegroundColor = foregroundColor;
Console.Error.WriteLine(message);
Console.ResetColor();
}
private static void WriteLineStdOut(string message, ConsoleColor foregroundColor = ConsoleColor.Gray)
{
if (_quiet && !_debugEnabled) {
return;
}
Console.ForegroundColor = foregroundColor;
Console.WriteLine(message);
Console.ResetColor();
}
......@@ -380,7 +391,7 @@ Examples:
if (WarningMessages.Any()) {
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine(@"Warnings: {0,5}", WarningMessages.Count);
Console.Error.WriteLine(@"Warnings: {0,5}", WarningMessages.Count);
Console.ResetColor();
} else {
Console.WriteLine("");
......@@ -394,10 +405,10 @@ Examples:
private static void PrintTimings(Dictionary<string, double> timings)
{
Console.WriteLine();
Console.WriteLine(@"---- timing information ----");
Console.Error.WriteLine();
Console.Error.WriteLine(@"---- timing information ----");
foreach (var timing in timings) {
Console.WriteLine(@"{0,-20}: {1:F2}s", timing.Key, timing.Value / 1000);
Console.Error.WriteLine(@"{0,-20}: {1:F2}s", timing.Key, timing.Value / 1000);
}
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment