示例#1
0
        public static void ExecuteDefaultTarget <T>(T build)
            where T : NukeBuild
        {
            var executingTargets = TargetDefinitionLoader.GetExecutingTargets(build, new[] { BuildExecutor.DefaultTarget });

            BuildExecutor.Execute(build, executingTargets);
        }
        public static void ExecuteDefaultTarget <T>(T build)
            where T : NukeBuild
        {
            var invokedTargetNames = new[] { BuildExecutor.DefaultTarget };
            var executingTargets   = TargetDefinitionLoader.GetExecutingTargets(build, invokedTargetNames, skippedTargetNames: null);

            BuildExecutor.Execute(build, executingTargets);
        }
示例#3
0
        private void ExecuteBuild(ExecutableTarget[] skippedTargets = null)
        {
            string[] SelectNames(ExecutableTarget[] targets) => targets?.Select(x => x.Name).ToArray();

            var build = new TestBuild();

            build.ExecutableTargets = new[] { A, B, C };
            build.ExecutionPlan     = new[] { A, B, C };
            build.ExecutionPlan.ForEach(x => x.Status = ExecutionStatus.NotRun);
            BuildExecutor.Execute(build, SelectNames(skippedTargets));
        }
示例#4
0
        private async Task ExecuteBuild()
        {
            _chalk.Default("Building Test Project...");
            var log = new StringBuilder();

            void OutputData(object sender, string args) => log.AppendLine(args);

            var testCodeBuild = new BuildExecutor(MuTestSettings, _options.TestProjectParameter)
            {
                BaseAddress      = MuTestSettings.ServiceAddress,
                EnableLogging    = _options.EnableDiagnostics,
                QuietWithSymbols = true
            };

            testCodeBuild.OutputDataReceived    += OutputData;
            testCodeBuild.BeforeMsBuildExecuted += (sender, args) =>
            {
                _chalk.Yellow($"\nRunning MSBuild with {args}\n");
            };

            if (_options.BuildInReleaseModeParameter)
            {
                if (_options.OptimizeTestProject)
                {
                    await testCodeBuild.ExecuteBuildInReleaseModeWithoutDependencies();
                }
                else
                {
                    await testCodeBuild.ExecuteBuildInReleaseModeWithDependencies();
                }
            }
            else
            {
                if (_options.OptimizeTestProject)
                {
                    await testCodeBuild.ExecuteBuildInDebugModeWithoutDependencies();
                }
                else
                {
                    await testCodeBuild.ExecuteBuildInDebugModeWithDependencies();
                }
            }

            testCodeBuild.OutputDataReceived -= OutputData;

            if (testCodeBuild.LastBuildStatus == BuildExecutionStatus.Failed)
            {
                throw new MuTestFailingBuildException(log.ToString());
            }

            _chalk.Green("\nBuild Succeeded!\n");
        }
示例#5
0
        public void SetDiffImageSavingPath(string diffImageSavingPath)
        {
            diffImageSavingPath = diffImageSavingPath.ToLowerInvariant();
            var previewPath = Path.Combine(diffImageSavingPath, "Preview");

            SetKeplerConfigProperty("DiffImagePath", diffImageSavingPath);
            SetKeplerConfigProperty("PreviewPath", previewPath);

            BuildExecutor.GetExecutor().UpdateKeplerServiceUrlOnWorkers();
            BuildExecutor.GetExecutor().UpdateDiffImagePath();
            UrlPathGenerator.DiffImagePath    = new KeplerService().GetDiffImageSavingPath();
            UrlPathGenerator.PreviewImagePath = new KeplerService().GetPreviewSavingPath();
        }
        private async Task <bool> ExecuteBuild()
        {
            try
            {
                var buildLog = _outputLogger.GetLogFromOutput(MSBuildOutput, string.Empty);
                var document = MutationDocumentManagerService.CreateDocument(nameof(CommandPromptOutputViewer), buildLog);
                document.Title = MSBuildOutput;
                document.Show();

                buildLog.CommandPromptOutput += "Building Test Project...".PrintWithPreTag();
                void OutputData(object sender, string args) => buildLog.CommandPromptOutput += args.Encode().PrintWithPreTag();

                var testCodeBuild = new BuildExecutor(Settings, _source.TestClaz.ClassProject)
                {
                    BaseAddress      = Settings.ServiceAddress,
                    EnableLogging    = ChkEnableDiagnostic.IsChecked,
                    QuietWithSymbols = true
                };
                testCodeBuild.OutputDataReceived += OutputData;
                if (_source.BuildInReleaseMode)
                {
                    await testCodeBuild.ExecuteBuildInReleaseModeWithoutDependencies();
                }
                else
                {
                    await testCodeBuild.ExecuteBuildInDebugModeWithoutDependencies();
                }

                testCodeBuild.OutputDataReceived -= OutputData;

                if (testCodeBuild.LastBuildStatus != BuildExecutionStatus.Failed)
                {
                    document.Close();
                }
                else
                {
                    MessageBoxService.Show("\nTest Project Build is failed!");
                }

                return(testCodeBuild.LastBuildStatus == BuildExecutionStatus.Success);
            }
            catch (Exception e)
            {
                MessageBoxService.Show(e.Message);
                Trace.TraceError("Unknown Exception Occurred On Test Project Build {0}", e);
                return(false);
            }
        }
        public static IServiceCollection AddGraphQL(
            this IServiceCollection serviceCollection,
            BuildExecutor buildExecutor)
        {
            if (serviceCollection == null)
            {
                throw new ArgumentNullException(nameof(serviceCollection));
            }

            if (buildExecutor == null)
            {
                throw new ArgumentNullException(nameof(buildExecutor));
            }

            return(serviceCollection
                   .AddSingleton <IQueryExecutor>(s =>
                                                  buildExecutor(s, QueryExecutionBuilder.New()))
                   .AddSingleton(s =>
                                 s.GetRequiredService <IQueryExecutor>().Schema)
                   .AddJsonSerializer());
        }
示例#8
0
 /// <summary>
 /// Executes the build. The provided expression defines the <em>default</em> target that is invoked,
 /// if no targets have been specified via command-line arguments.
 /// </summary>
 protected static int Execute <T>(Expression <Func <T, Target> > defaultTargetExpression)
     where T : NukeBuild
 {
     return(BuildExecutor.Execute(defaultTargetExpression));
 }
示例#9
0
 public LuaBuildStep(BuildExecutor executor, Build build)
     : base(executor, build)
 {
     luaRuntime = new LuaRuntime();
     Outputs    = new List <CommandOutput>();
 }
示例#10
0
 public GitBuildStep(BuildExecutor executor, Build build)
     : base(executor, build)
 {
 }