using System.ComponentModel; using System.IO; namespace KattekerCreator { public class ApplicationArguments { private string _changeLog; private string _programFile; private string _outputDir; [DisplayName("Program")] [Description("Path to the program file")] public string ProgramFile { get => _programFile; set => _programFile = Path.GetFullPath(value); } [DisplayName("Changelog")] [Description("Path of the changelog file")] public string ChangeLog { get => _changeLog; set => _changeLog = Path.GetFullPath(value); } [DisplayName("Channel")] [Description("Channel of releasing.")] public string Channel { get; set; } [DisplayName("Out")] [Description("Directory for the output")] public string OutputDir { get => _outputDir; set => _outputDir = Path.GetFullPath(value); } [DisplayName("Publish")] [Description("Path for output from the point of view of the application.")] public string PublishDir { get; set; } [DisplayName("Version")] [Description("Override version number of the application.")] public string Version { get; set; } [DisplayName("Filter")] [Description("Filter parameter. Use minimatch pattern.")] public string FilterAsString { get; set; } public string[] Filter => string.IsNullOrWhiteSpace(FilterAsString) ? new string[0] : FilterAsString.Split(';'); } }