public override int Run(string fileOrDirectory) { SlnFile slnFile = SlnFileFactory.CreateFromFileOrDirectory(fileOrDirectory); if (RemainingArguments.Count == 0) { throw new GracefulException(CommonLocalizableStrings.SpecifyAtLeastOneProjectToAdd); } PathUtility.EnsureAllPathsExist(RemainingArguments, CommonLocalizableStrings.ProjectDoesNotExist); var fullProjectPaths = RemainingArguments.Select((p) => Path.GetFullPath(p)).ToList(); int preAddProjectCount = slnFile.Projects.Count; foreach (var fullProjectPath in fullProjectPaths) { slnFile.AddProject(fullProjectPath); } if (slnFile.Projects.Count > preAddProjectCount) { slnFile.Write(); } return(0); }
public override int Run(string fileOrDirectory) { SlnFile slnFile = SlnFileFactory.CreateFromFileOrDirectory(fileOrDirectory); if (RemainingArguments.Count == 0) { throw new GracefulException(CommonLocalizableStrings.SpecifyAtLeastOneProjectToRemove); } var relativeProjectPaths = RemainingArguments.Select((p) => PathUtility.GetRelativePath( PathUtility.EnsureTrailingSlash(slnFile.BaseDirectory), Path.GetFullPath(p))).ToList(); bool slnChanged = false; foreach (var path in relativeProjectPaths) { slnChanged |= RemoveProject(slnFile, path); } RemoveEmptyConfigurationSections(slnFile); RemoveEmptySolutionFolders(slnFile); if (slnChanged) { slnFile.Write(); } return(0); }
public override int Run(string fileOrDirectory) { if (RemainingArguments.Count != 1) { throw new GracefulException(LocalizableStrings.SpecifyExactlyOnePackageReference); } var projectFilePath = string.Empty; if (!File.Exists(fileOrDirectory)) { projectFilePath = MsbuildProject.GetProjectFileFromDirectory(fileOrDirectory).FullName; } else { projectFilePath = fileOrDirectory; } var tempDgFilePath = string.Empty; if (!_noRestoreOption.HasValue()) { // Create a Dependency Graph file for the project tempDgFilePath = Path.GetTempFileName(); GetProjectDependencyGraph(projectFilePath, tempDgFilePath); } var result = NuGetCommand.Run(TransformArgs(RemainingArguments.First(), tempDgFilePath, projectFilePath)); DisposeTemporaryFile(tempDgFilePath); return(result); }
void ParseArgument(string arg) { if (arg == "/?" || arg == "/help") { // Will cause usage message to be displayed. ErrorMessage = ""; return; } if (arg.StartsWith("/fmt:")) { OutputFormat = GetFormat(arg.Substring(5)); return; } if (arg.StartsWith("/of:")) { OutputFilename = arg.Substring(4); if (String.IsNullOrWhiteSpace(OutputFilename)) { ErrorMessage = "Error: No filename specified for /of."; } return; } if (arg.StartsWith("/bands:")) { ParseBands(arg.Substring(7)); return; } RemainingArguments.Add(arg); }
protected override void ProcessOptions() { XmlDocFile = RemainingArguments.Single(); if (!File.Exists(XmlDocFile)) { throw new ArgumentException(String.Format("The specified file '{0}' does not exist.", XmlDocFile)); } }
private int Execute() { if (string.IsNullOrWhiteSpace(ApplicationPath.Value)) { throw new InvalidOperationException($"Invalid value for parameter '{nameof(ApplicationPath)}'. Value supplied: '{ApplicationPath.Value}'"); } Server.Startup.ApplicationAssembly = ApplicationPath.Value; Server.Program.BuildWebHost(RemainingArguments.ToArray()).Run(); return(0); }
protected override void ProcessOptions() { base.ProcessOptions(); ExcludedWriters = new HashSet <string>(StringComparer.OrdinalIgnoreCase); IncludedWriters = new HashSet <string>(StringComparer.OrdinalIgnoreCase); FileName = RemainingArguments.Single(); if (!File.Exists(FileName)) { throw new ArgumentException(String.Format("The specified file '{0}' does not exist.", FileName)); } if (HasOption(CommonOptions.OptExcludeWriter)) { foreach (string writerName in GetOptionValues <string>(CommonOptions.OptExcludeWriter)) { if (ExcludedWriters.Add(writerName)) { Host.WriteLine("(Option: Excluding writer/component '{0}')", writerName); } } } if (HasOption(CommonOptions.OptVerifyWriterIncluded)) { foreach (string writerName in GetOptionValues <string>(CommonOptions.OptVerifyWriterIncluded)) { if (ExcludedWriters.Contains(writerName)) { throw new ArgumentException(String.Format("A writer cannot be both included and excluded: '{0}'.", writerName)); } if (IncludedWriters.Add(writerName)) { Host.WriteLine("(Option: Verifying inclusion of writer/component '{0}')", writerName); } } } Simulate = HasOption(OptSimulated); }
public override int Run(string fileOrDirectory) { if (RemainingArguments.Count != 1) { throw new GracefulException(LocalizableStrings.SpecifyExactlyOnePackageReference); } var projectFilePath = string.Empty; if (!File.Exists(fileOrDirectory)) { projectFilePath = MsbuildProject.GetProjectFileFromDirectory(fileOrDirectory).FullName; } else { projectFilePath = fileOrDirectory; } var packageToRemove = RemainingArguments.First(); var result = NuGetCommand.Run(TransformArgs(packageToRemove, projectFilePath)); return(result); }
private int Execute() { Server.Program.BuildWebHost(RemainingArguments.ToArray()).Run(); return(0); }
protected override void ProcessOptions() { CommandName = RemainingArguments.FirstOrDefault(); }
public override int Run(string fileOrDirectory) { var projects = new ProjectCollection(); MsbuildProject msbuildProj = MsbuildProject.FromFileOrDirectory(projects, fileOrDirectory); if (RemainingArguments.Count == 0) { throw new GracefulException(CommonLocalizableStrings.SpecifyAtLeastOneReferenceToAdd); } string frameworkString = _frameworkOption.Value(); PathUtility.EnsureAllPathsExist(RemainingArguments, CommonLocalizableStrings.ReferenceDoesNotExist); List <MsbuildProject> refs = RemainingArguments .Select((r) => MsbuildProject.FromFile(projects, r)) .ToList(); if (frameworkString == null) { foreach (var tfm in msbuildProj.GetTargetFrameworks()) { foreach (var @ref in refs) { if ([email protected](tfm)) { Reporter.Error.Write(GetProjectNotCompatibleWithFrameworksDisplayString( @ref, msbuildProj.GetTargetFrameworks().Select((fx) => fx.GetShortFolderName()))); return(1); } } } } else { var framework = NuGetFramework.Parse(frameworkString); if (!msbuildProj.IsTargettingFramework(framework)) { Reporter.Error.WriteLine(string.Format( CommonLocalizableStrings.ProjectDoesNotTargetFramework, msbuildProj.ProjectRootElement.FullPath, frameworkString)); return(1); } foreach (var @ref in refs) { if ([email protected](framework)) { Reporter.Error.Write(GetProjectNotCompatibleWithFrameworksDisplayString( @ref, new string[] { frameworkString })); return(1); } } } var relativePathReferences = RemainingArguments.Select((r) => PathUtility.GetRelativePath(msbuildProj.ProjectDirectory, Path.GetFullPath(r))).ToList(); int numberOfAddedReferences = msbuildProj.AddProjectToProjectReferences( _frameworkOption.Value(), relativePathReferences); if (numberOfAddedReferences != 0) { msbuildProj.ProjectRootElement.Save(); } return(0); }
private async Task OnExecuteAsync() { if (version) { Console.WriteLine(Assembly.GetEntryAssembly().GetCustomAttribute <AssemblyInformationalVersionAttribute>().InformationalVersion); Environment.Exit(0); } Console.WriteLine($"AutoTag v{Assembly.GetEntryAssembly().GetCustomAttribute<AssemblyInformationalVersionAttribute>().InformationalVersion}"); Console.WriteLine("https://jtattersall.net"); settings = new AutoTagSettings(configPath); if (tv) { settings.config.mode = AutoTagConfig.Modes.TV; } else if (movie) { settings.config.mode = AutoTagConfig.Modes.Movie; } if (noRename) { settings.config.renameFiles = false; } if (noTag) { settings.config.tagFiles = false; } if (noCoverArt) { settings.config.addCoverArt = false; } if (manualMode) { settings.config.manualMode = true; } if (!string.IsNullOrEmpty(tvRenamePattern)) { settings.config.tvRenamePattern = tvRenamePattern; } if (!string.IsNullOrEmpty(movieRenamePattern)) { settings.config.movieRenamePattern = movieRenamePattern; } if (!string.IsNullOrEmpty(pattern)) { settings.config.parsePattern = pattern; } if (windowsSafe) { settings.config.windowsSafe = true; } if (extendedTagging) { settings.config.extendedTagging = true; } if (verbose) { settings.config.verbose = true; } if (setDefault) { settings.Save(); } if (!RemainingArguments.Any()) { Console.Error.WriteLine("No files provided"); Environment.Exit(1); } IProcessor processor; if (settings.config.mode == AutoTagConfig.Modes.TV) { processor = new TVProcessor(Keys.TMDBKey); } else { processor = new MovieProcessor(Keys.TMDBKey); } AddFiles(RemainingArguments); if (!files.Any()) { Console.Error.WriteLine("No files found"); Environment.Exit(1); } files.Sort((x, y) => x.Path.CompareTo(y.Path)); for (index = 0; index < files.Count; index++) { success &= await processor.Process(files[index].Path, p => {}, SetStatus, ChooseResult, settings.config); } Console.ResetColor(); if (success) { if (warnings == 0) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine($"\n\n{(files.Count() > 1 ? $"All {files.Count()} files": "File")} successfully processed."); } else { Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine($"\n\n{(files.Count() > 1 ? $"All {files.Count()} files": "File")} successfully processed with {warnings} warning{(warnings > 1 ? "s" : "")}."); } Console.ResetColor(); Environment.Exit(0); } else { int failedFiles = files.Where(f => !f.Success).Count(); if (failedFiles < files.Count()) { if (warnings == 0) { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine($"\n\n{files.Count() - failedFiles} file{(files.Count() - failedFiles > 1 ? "s" : "")} successfully processed."); } else { Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine($"\n\n{files.Count() - failedFiles} file{(files.Count() - failedFiles > 1 ? "s" : "")} successfully processed with {warnings} warning{(warnings > 1 ? "s" : "")}."); } Console.ForegroundColor = ConsoleColor.DarkRed; Console.Error.WriteLine($"Errors encountered for {failedFiles} file{(failedFiles > 1 ? "s" : "")}:"); } else { Console.Error.WriteLine("\n\nErrors encountered for all files:"); } foreach (TaggingFile file in files.Where(f => !f.Success)) { Console.ForegroundColor = ConsoleColor.Magenta; Console.Error.WriteLine($"{file.Path}:"); Console.ForegroundColor = ConsoleColor.Red; Console.Error.WriteLine($" {file.Status}\n"); } Console.ResetColor(); Environment.Exit(1); } }
public RemainingArgumentsStep(Step previousStep, RemainingArguments remainingArguments) : base(previousStep) { Description = remainingArguments; }