Exemplo n.º 1
0
        public void BuildArguments(ICakeContext context, ProcessArgumentBuilder builder)
        {
            if (NoGraphics)
            {
                builder.Append("-nographics");
            }

            builder.Append(PlatformTarget == UnityPlatformTarget.x64 ? "-buildWindows64Player" : "-buildWindowsPlayer");
            builder.AppendQuoted(_outputPath.MakeAbsolute(context.Environment).FullPath);
        }
Exemplo n.º 2
0
        private void FilterTests(MSpecSettings settings, ProcessArgumentBuilder builder)
        {
            if (settings.Filters != null)
            {
                builder.Append("-f");
                builder.AppendQuoted(settings.Filters.MakeAbsolute(_environment).FullPath);
            }

            if (!string.IsNullOrWhiteSpace(settings.Include))
            {
                builder.Append("-i");
                builder.AppendQuoted(settings.Include);
            }

            if (!string.IsNullOrWhiteSpace(settings.Exclude))
            {
                builder.Append("-x");
                builder.AppendQuoted(settings.Exclude);
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Get configuration full path from coverage settings.
        /// </summary>
        /// <param name="settings">The settings.</param>
        /// <returns>The process arguments.</returns>
        protected ProcessArgumentBuilder GetConfigurationFileArgument(DotCoverSettings settings)
        {
            var builder = new ProcessArgumentBuilder();

            if (settings.ConfigFile != null)
            {
                builder.AppendQuoted(settings.ConfigFile.MakeAbsolute(_environment).FullPath);
            }

            return(builder);
        }
Exemplo n.º 4
0
    public static void Add(ICakeContext context, string file, GitToolSettings settings = null)
    {
        var builder = new ProcessArgumentBuilder();

        builder.Append("add");
        builder.AppendQuoted(file);

        var tool = new GitTool(context);

        tool.RunGit(settings ?? new GitToolSettings(), builder);
    }
        internal static ProcessArgumentBuilder AppendReportOutput(this ProcessArgumentBuilder builder,
                                                                  MiniCoverSettings settings, string suffix = "")
        {
            if (!string.IsNullOrEmpty(settings?.ReportPrefix))
            {
                builder.Append("--output");
                builder.AppendQuoted($"{settings.ReportPrefix}{suffix}");
            }

            return(builder);
        }
        /// <summary>
        /// Adds the arguments to the specified argument builder.
        /// </summary>
        /// <param name="builder">The builder.</param>
        /// <param name="settings">The settings.</param>
        protected override void AddArguments(ProcessArgumentBuilder builder, GemBuildSettings settings)
        {
            builder.Append("build");

            builder.AppendQuoted(_gemSpecFilePath.MakeAbsolute(_environment).FullPath);

            if (settings.Force)
            {
                builder.Append("--force");
            }
        }
Exemplo n.º 7
0
    public static void Tag(ICakeContext context, string tagName, GitToolSettings settings = null)
    {
        var builder = new ProcessArgumentBuilder();

        builder.Append("tag");
        builder.AppendQuoted(tagName);

        var tool = new GitTool(context);

        tool.RunGit(settings ?? new GitToolSettings(), builder);
    }
Exemplo n.º 8
0
        private ProcessArgumentBuilder GetArguments(ImageOptimizerToolSettings settings)
        {
            var builder = new ProcessArgumentBuilder();

            //string.Format(CultureInfo.CurrentCulture, "/c gifsicle --crop-transparency --no-comments --no-extensions --no-names --optimize=3 --batch \"{0}\" --output=\"{1}\"", sourceFile, resultFile);

            builder.Append("--crop-transparency");
            builder.Append("--no-comments");
            builder.Append("--no-extensions");
            builder.Append("--no-names");
            builder.Append("--optimize=3");

            builder.Append("--batch");
            builder.AppendQuoted(settings.SourcePath.MakeAbsolute(_Environment).FullPath);

            builder.Append("--output");
            builder.AppendQuoted(settings.OutputPath.MakeAbsolute(_Environment).FullPath);

            return(builder);
        }
Exemplo n.º 9
0
        private ProcessArgumentBuilder GetArguments(DirectoryPath sourcePath, CMakeSettings settings)
        {
            var builder = new ProcessArgumentBuilder();

            // Source path
            var sourcepath = sourcePath.MakeAbsolute(_environment);

            builder.AppendQuoted(sourcepath.FullPath);

            // Generator
            if (!string.IsNullOrWhiteSpace(settings.Generator))
            {
                builder.Append("-G");
                builder.AppendQuoted(settings.Generator);
            }

            // Toolset
            if (!string.IsNullOrWhiteSpace(settings.Toolset))
            {
                builder.Append("-T");
                builder.AppendQuoted(settings.Toolset);
            }

            // Platform
            if (!string.IsNullOrWhiteSpace(settings.Platform))
            {
                builder.Append("-A");
                builder.AppendQuoted(settings.Platform);
            }

            // Options
            if (settings.Options != null)
            {
                foreach (string option in settings.Options)
                {
                    builder.AppendQuoted(option);
                }
            }

            return(builder);
        }
        /// <summary>
        /// Uploads an AppVeyor artifact.
        /// </summary>
        /// <param name="path">The file path of the artifact to upload.</param>
        /// <param name="settings">The settings to apply when uploading an artifact</param>
        public void UploadArtifact(FilePath path, AppVeyorUploadArtifactsSettings settings)
        {
            if (path == null)
            {
                throw new ArgumentNullException(nameof(path));
            }
            if (settings == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }

            if (!IsRunningOnAppVeyor)
            {
                throw new CakeException("The current build is not running on AppVeyor.");
            }

            // Make path absolute.
            path = path.IsRelative ? path.MakeAbsolute(_environment) : path;

            // Build the arguments.
            var arguments = new ProcessArgumentBuilder();

            arguments.Append("PushArtifact");
            arguments.AppendQuoted(path.FullPath);
            arguments.Append("-Type");
            arguments.Append(settings.ArtifactType.ToString());
            if (!string.IsNullOrEmpty(settings.DeploymentName))
            {
                if (settings.DeploymentName.Contains(" "))
                {
                    throw new CakeException("The deployment name can not contain spaces");
                }
                arguments.Append("-DeploymentName");
                arguments.AppendQuoted(settings.DeploymentName);
            }

            // Start the process.
            _processRunner.Start("appveyor", new ProcessSettings {
                Arguments = arguments
            });
        }
Exemplo n.º 11
0
        private ProcessArgumentBuilder GetArguments(string packageID, string packageVersion, NuGetDeleteSettings settings)
        {
            var builder = new ProcessArgumentBuilder();

            builder.Append("delete");

            builder.Append(packageID);

            builder.Append(packageVersion);

            if (settings.ApiKey != null)
            {
                builder.AppendSecret(settings.ApiKey);
            }

            builder.Append("-NonInteractive");

            if (settings.ConfigFile != null)
            {
                builder.Append("-ConfigFile");
                builder.AppendQuoted(settings.ConfigFile.MakeAbsolute(_environment).FullPath);
            }

            if (settings.Source != null)
            {
                builder.Append("-Source");
                builder.AppendQuoted(settings.Source);
            }
            else
            {
                _log.Verbose("No Source property has been set.  Depending on your configuration, this may cause problems.");
            }

            if (settings.Verbosity != null)
            {
                builder.Append("-Verbosity");
                builder.Append(settings.Verbosity.Value.ToString().ToLowerInvariant());
            }

            return(builder);
        }
Exemplo n.º 12
0
        private ProcessArgumentBuilder GetArguments(string path, DNUBuildSettings settings)
        {
            var builder = new ProcessArgumentBuilder();

            builder.Append("build");

            // Specific path?
            if (path != null)
            {
                builder.AppendQuoted(path);
            }

            // List of frameworks
            if (settings.Frameworks != null && settings.Frameworks.Count > 0)
            {
                builder.Append("--framework");
                builder.AppendQuoted(string.Join(";", settings.Frameworks));
            }

            // List of configurations
            if (settings.Configurations != null && settings.Configurations.Count > 0)
            {
                builder.Append("--configuration");
                builder.AppendQuoted(string.Join(";", settings.Configurations));
            }

            // Output directory
            if (settings.OutputDirectory != null)
            {
                builder.Append("--out");
                builder.AppendQuoted(settings.OutputDirectory.MakeAbsolute(_environment).FullPath);
            }

            // Quiet?
            if (settings.Quiet)
            {
                builder.Append("--quiet");
            }

            return(builder);
        }
Exemplo n.º 13
0
        private ProcessArgumentBuilder GetArguments(FilePath packageFilePath, NuGetPushSettings settings)
        {
            var builder = new ProcessArgumentBuilder();

            builder.Append("push");

            builder.AppendQuoted(packageFilePath.MakeAbsolute(_environment).FullPath);

            if (settings.ApiKey != null)
            {
                builder.AppendSecret(settings.ApiKey);
            }

            builder.Append("-NonInteractive");

            if (settings.ConfigFile != null)
            {
                builder.Append("-ConfigFile");
                builder.AppendQuoted(settings.ConfigFile.MakeAbsolute(_environment).FullPath);
            }

            if (settings.Source != null)
            {
                builder.Append("-Source");
                builder.AppendQuoted(settings.Source);
            }

            if (settings.Timeout != null)
            {
                builder.Append("-Timeout");
                builder.Append(Convert.ToInt32(settings.Timeout.Value.TotalSeconds).ToString(CultureInfo.InvariantCulture));
            }

            if (settings.Verbosity != null)
            {
                builder.Append("-Verbosity");
                builder.Append(settings.Verbosity.Value.ToString().ToLowerInvariant());
            }

            return(builder);
        }
Exemplo n.º 14
0
        /// <summary>
        /// Evaluates the given Scripty scripts
        /// </summary>
        /// <param name="scriptFiles">The script files to evaluate</param>
        public void Evaluate(IEnumerable <FilePath> scriptFiles)
        {
            if (scriptFiles.Any() == false)
            {
                throw new ArgumentException("No files provided to evaluate", nameof(scriptFiles));
            }

            var scriptWorkingDirectory = ScriptWorkingDirectory();
            var absoluteProjectPath    = _projectFilePath.MakeAbsolute(scriptWorkingDirectory);

            var args = new ProcessArgumentBuilder();

            args.AppendQuoted(absoluteProjectPath.FullPath);
            foreach (var scriptFile in scriptFiles)
            {
                var path = absoluteProjectPath.GetRelativePath(scriptFile.MakeAbsolute(scriptWorkingDirectory)).FullPath;
                args.AppendQuoted(path);
            }

            Run(_settings, args);
        }
        internal static ProcessArgumentBuilder BuildForLinux(this DebootstrapSettings settings, string suite,
                                                             string target, string mirror, string script)
        {
            ProcessArgumentBuilder args = new ProcessArgumentBuilder();

            args = settings.BuildLinuxArguments(args);
            args.AppendQuoted(suite);
            args.AppendQuoted(target);

            if (!string.IsNullOrWhiteSpace(mirror))
            {
                args.AppendQuoted(mirror);
            }

            if (!string.IsNullOrWhiteSpace(script))
            {
                args.AppendQuoted(script);
            }

            return(args);
        }
        /// <summary>
        /// Adds the arguments to the specified argument builder.
        /// </summary>
        /// <returns>A populated <see cref="ProcessArgumentBuilder"/>.</returns>
        public ProcessArgumentBuilder GetArguments()
        {
            var builder = new ProcessArgumentBuilder();

            builder.Append("extension share");

            builder.Append("--vsix");
            builder.AppendQuoted(_vsixFilePath.MakeAbsolute(_environment).FullPath);

            builder.Append("--share-with");

            foreach (var account in _shareWith)
            {
                builder.AppendQuoted(account);
            }

            TfxArgumentBuilder.GetServerArguments(builder, _settings);
            TfxArgumentBuilder.GetCommonArguments(builder, _settings);

            return(builder);
        }
Exemplo n.º 17
0
    public static void CheckoutDetached(ICakeContext context, string branchName, GitToolSettings settings = null)
    {
        var builder = new ProcessArgumentBuilder();

        builder.Append("checkout");
        builder.Append("--detach");
        builder.AppendQuoted(branchName);

        var tool = new GitTool(context);

        tool.RunGit(settings ?? new GitToolSettings(), builder);
    }
Exemplo n.º 18
0
        private ProcessArgumentBuilder GetArguments(string token, string owner, string repository, GitReleaseManagerLabelSettings settings)
        {
            var builder = new ProcessArgumentBuilder();

            builder.Append("label");

            builder.Append("--token");
            builder.AppendQuoted(token);

            ParseCommonArguments(builder, owner, repository, settings);
            return(builder);
        }
Exemplo n.º 19
0
        private ProcessArgumentBuilder GetArguments(string packageId, DotNetCoreGlobalToolUninstallSettings settings)
        {
            var builder = new ProcessArgumentBuilder();

            builder.Append("tool");
            builder.Append("uninstall");
            builder.Append("-g");

            builder.AppendQuoted(packageId);

            return(builder);
        }
Exemplo n.º 20
0
        private void PopulateSolutionFile(NewPackageSettings settings, ProcessArgumentBuilder builder)
        {
            var solutionFile = this._fileSystem.GetFile(settings.SolutionPath);

            if (!solutionFile.Exists)
            {
                throw new CakeException($"File '{settings.SolutionPath}' specified for SolutionPath argument does not exist.");
            }

            builder.Append("-Sln");
            builder.AppendQuoted(solutionFile.Path.FullPath);
        }
Exemplo n.º 21
0
        public override void Run(IBuildContext context)
        {
            //
            // Generate change log
            //
            var versionOracle = context.GitVersioningGetVersion();

            var args = new ProcessArgumentBuilder()
                       .Append($"--currentVersion {versionOracle.NuGetPackageVersion}")
                       .Append($"--versionRange [{versionOracle.NuGetPackageVersion}]")
                       .Append($"--outputpath")
                       .Append(context.Output.ChangeLogFile.FullPath)
                       .Append($"--template GitHubRelease")
                       .Append($"--verbose");

            var dotnetCoreRunSettings = new DotNetRunSettings()
            {
                Configuration = context.BuildSettings.Configuration,
                NoBuild       = true,
                NoRestore     = true,
                Framework     = "net6.0",
            };

            if (context.GitHub.TryGetAccessToken() is string accessToken)
            {
                context.Log.Information("GitHub access token specified, activating changelog's GitHub integration");
                args.Append("--integrationProvider");
                args.AppendQuoted("GitHub");
                dotnetCoreRunSettings.EnvironmentVariables["CHANGELOG__INTEGRATIONS__GITHUB__ACCESSTOKEN"] = accessToken;
            }
            else
            {
                context.Log.Warning("No GitHub access token specified, generating change log without GitHub integration");
            }

            context.DotNetRun(
                "./src/ChangeLog/Grynwald.ChangeLog.csproj",
                args,
                dotnetCoreRunSettings
                );

            //
            // Publish change log
            //
            if (context.AzurePipelines.IsActive)
            {
                context.AzurePipelines.Commands.UploadArtifact(
                    folderName: "",
                    file: context.Output.ChangeLogFile,
                    artifactName: context.AzurePipelines.ArtifactNames.ChangeLog
                    );
            }
        }
Exemplo n.º 22
0
        private void ParseCommonArguments(ProcessArgumentBuilder builder, string owner, string repository, FilePath fileOutputPath, GitReleaseManagerExportSettings settings)
        {
            builder.Append("-o");
            builder.AppendQuoted(owner);

            builder.Append("-r");
            builder.AppendQuoted(repository);

            builder.Append("-f");
            builder.AppendQuoted(fileOutputPath.MakeAbsolute(_environment).FullPath);

            if (!string.IsNullOrWhiteSpace(settings.TagName))
            {
                builder.Append("-t");
                builder.AppendQuoted(settings.TagName);
            }

            // Target Directory
            if (settings.TargetDirectory != null)
            {
                builder.Append("-d");
                builder.AppendQuoted(settings.TargetDirectory.MakeAbsolute(_environment).FullPath);
            }

            // Log File Path
            if (settings.LogFilePath != null)
            {
                builder.Append("-l");
                builder.AppendQuoted(settings.LogFilePath.MakeAbsolute(_environment).FullPath);
            }
        }
Exemplo n.º 23
0
        private void ParseCommonArguments(ProcessArgumentBuilder builder, string owner, string repository, string tagName, string assets, GitReleaseManagerAddAssetsSettings settings)
        {
            builder.Append("-o");
            builder.AppendQuoted(owner);

            builder.Append("-r");
            builder.AppendQuoted(repository);

            builder.Append("-t");
            builder.AppendQuoted(tagName);

            builder.Append("-a");
            builder.AppendQuoted(assets);

            // Target Directory
            if (settings.TargetDirectory != null)
            {
                builder.Append("-d");
                builder.AppendQuoted(settings.TargetDirectory.MakeAbsolute(_environment).FullPath);
            }

            // Log File Path
            if (settings.LogFilePath != null)
            {
                builder.Append("-l");
                builder.AppendQuoted(settings.LogFilePath.MakeAbsolute(_environment).FullPath);
            }
        }
        private ProcessArgumentBuilder GetArguments(string project, ProcessArgumentBuilder arguments, DotNetCoreEfMigrationAddSettings settings)
        {
            ProcessArgumentBuilder builder = CreateArgumentBuilder(settings);

            builder.Append("ef");
            builder.Append("migrations");
            builder.Append("add");

            settings.SetProject(project);

            if (!string.IsNullOrWhiteSpace(settings.Migration))
            {
                builder.AppendQuoted(settings.Migration);
            }

            if (!string.IsNullOrWhiteSpace(settings.OutputDir))
            {
                builder.Append("--output-dir");
                builder.AppendQuoted(settings.OutputDir);
            }

            if (!string.IsNullOrEmpty(settings.Context))
            {
                builder.Append("--context");
                builder.AppendQuoted(settings.Context);
            }

            if (settings.Json)
            {
                builder.Append("--json");
            }

            // Arguments
            if (!arguments.IsNullOrEmpty())
            {
                arguments.CopyTo(builder);
            }

            return(builder);
        }
Exemplo n.º 25
0
    public static bool CheckBranchExists(ICakeContext context, string branchName, GitToolSettings settings = null)
    {
        var builder = new ProcessArgumentBuilder();

        builder.Append("show-ref");
        builder.Append("--quiet");
        builder.Append("--heads");
        builder.AppendQuoted(branchName);

        var tool = new GitTool(context);

        return(tool.RunGitCheck(settings ?? new GitToolSettings(), builder) == 0);
    }
        private ProcessArgumentBuilder GetArguments(FilePath outputFilePath, DotNetVersionDetectorSettings settings)
        {
            var builder = new ProcessArgumentBuilder();

            builder.AppendQuoted(outputFilePath.MakeAbsolute(_environment).FullPath);

            if (settings.Extended)
            {
                builder.Append("/extended");
            }

            return(builder);
        }
Exemplo n.º 27
0
    public static void MergeOurs(ICakeContext context, string branchName, GitToolSettings settings = null)
    {
        var builder = new ProcessArgumentBuilder();

        builder.Append("merge");
        builder.Append("-s");
        builder.Append("ours");
        builder.AppendQuoted(branchName);

        var tool = new GitTool(context);

        tool.RunGit(settings ?? new GitToolSettings(), builder);
    }
Exemplo n.º 28
0
        private void ReportSettings(IReadOnlyList <FilePath> assemblyPaths, MSpecSettings settings, ProcessArgumentBuilder builder)
        {
            if (settings.HtmlReport)
            {
                var reportFileName   = MSpecRunnerUtilities.GetReportFileName(assemblyPaths, settings);
                var assemblyFilename = reportFileName.AppendExtension(".html");
                var outputPath       = settings.OutputDirectory.MakeAbsolute(_environment).GetFilePath(assemblyFilename);

                builder.Append("--html");
                builder.AppendQuoted(outputPath.FullPath);
            }

            if (settings.XmlReport)
            {
                var reportFileName   = MSpecRunnerUtilities.GetReportFileName(assemblyPaths, settings);
                var assemblyFilename = reportFileName.AppendExtension(".xml");
                var outputPath       = settings.OutputDirectory.MakeAbsolute(_environment).GetFilePath(assemblyFilename);

                builder.Append("--xml");
                builder.AppendQuoted(outputPath.FullPath);
            }
        }
Exemplo n.º 29
0
        private ProcessArgumentBuilder GetArguments(string token, string owner, string repository, string milestone, GitReleaseManagerOpenMilestoneSettings settings)
        {
            var builder = new ProcessArgumentBuilder();

            builder.Append("open");

            builder.Append("--token");
            builder.AppendQuotedSecret(token);

            builder.Append("-o");
            builder.AppendQuoted(owner);

            builder.Append("-r");
            builder.AppendQuoted(repository);

            builder.Append("-m");
            builder.AppendQuoted(milestone);

            AddBaseArguments(settings, builder);

            return(builder);
        }
Exemplo n.º 30
0
        private ProcessArgumentBuilder GetArguments(string token, string owner, string repository, string tagName, string assets, GitReleaseManagerAddAssetsSettings settings)
        {
            var builder = new ProcessArgumentBuilder();

            builder.Append("addasset");

            builder.Append("--token");
            builder.AppendQuoted(token);

            ParseCommonArguments(builder, owner, repository, tagName, assets, settings);

            return(builder);
        }
Exemplo n.º 31
0
        private ProcessArgumentBuilder GetArguments(DirectoryPath directoryPath, FilePath outputFile, WiXHarvestType harvestType, HeatSettings settings)
        {
            var builder = new ProcessArgumentBuilder();

            builder.Append(GetHarvestType(harvestType));
            builder.AppendQuoted(directoryPath.MakeAbsolute(_environment).FullPath);

            var args = GetArguments(outputFile, settings);

            args.CopyTo(builder);

            return(builder);
        }