| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- using System;
- using System.Collections;
- using System.IO;
- using System.Linq;
- using Microsoft.Build.Framework;
- namespace Avalonia.Build.Tasks
- {
- public class Program
- {
- static int Main(string[] args)
- {
- if (args.Length != 3)
- {
- if (args.Length == 1)
- args = new[] {"original.dll", "references", "out.dll"}
- .Select(x => Path.Combine(args[0], x)).ToArray();
- else
- {
- Console.Error.WriteLine("input references output");
- return 1;
- }
- }
- return new CompileAvaloniaXamlTask()
- {
- AssemblyFile = args[0],
- ReferencesFilePath = args[1],
- OutputPath = args[2],
- BuildEngine = new ConsoleBuildEngine(),
- ProjectDirectory = Directory.GetCurrentDirectory()
- }.Execute() ?
- 0 :
- 2;
- }
- class ConsoleBuildEngine : IBuildEngine
- {
- public void LogErrorEvent(BuildErrorEventArgs e)
- {
- Console.WriteLine($"ERROR: {e.Code} {e.Message} in {e.File} {e.LineNumber}:{e.ColumnNumber}-{e.EndLineNumber}:{e.EndColumnNumber}");
- }
- public void LogWarningEvent(BuildWarningEventArgs e)
- {
- Console.WriteLine($"WARNING: {e.Code} {e.Message} in {e.File} {e.LineNumber}:{e.ColumnNumber}-{e.EndLineNumber}:{e.EndColumnNumber}");
- }
- public void LogMessageEvent(BuildMessageEventArgs e)
- {
- Console.WriteLine($"MESSAGE: {e.Code} {e.Message} in {e.File} {e.LineNumber}:{e.ColumnNumber}-{e.EndLineNumber}:{e.EndColumnNumber}");
- }
- public void LogCustomEvent(CustomBuildEventArgs e)
- {
- Console.WriteLine($"CUSTOM: {e.Message}");
- }
- public bool BuildProjectFile(string projectFileName, string[] targetNames, IDictionary globalProperties,
- IDictionary targetOutputs) => throw new NotSupportedException();
- public bool ContinueOnError { get; }
- public int LineNumberOfTaskNode { get; }
- public int ColumnNumberOfTaskNode { get; }
- public string ProjectFileOfTaskNode { get; }
- }
- }
- }
|