Beispiel #1
0
 public static void OnBuildStarted(BuildStarted e, Build view)
 {
     view.buildId = e.Id;
     view.Tasks = new List<TaskInfo>(e.Status.Tasks);
     view.Tasks.ForEach(info => view.TerminalOutput[info.Id] = new List<string>(){""});
     view.Status = Build.BuildOverallStatus.Started;
 }
        private static void OnPreProcessBuild(BuildInfo buildInfo)
        {
            // Raise the global event for listeners
            BuildStarted.RaiseEvent(buildInfo);

            // Call the pre-build action, if any
            if (buildInfo.PreBuildAction != null)
            {
                buildInfo.PreBuildAction(buildInfo);
            }
        }
Beispiel #3
0
        private static bool Publish(BuildInfo buildInfo)
        {
            if (_buildInProgress != null)
            {
                throw new InvalidOperationException("A build is already in progress.");
            }

            _buildInProgress = buildInfo;

            try
            {
                BuildStarted?.Invoke(buildInfo);

                // Required in order to update the build tasks list
                Internal.GodotMainIteration();

                try
                {
                    RemoveOldIssuesFile(buildInfo);
                }
                catch (IOException e)
                {
                    BuildLaunchFailed?.Invoke(buildInfo, $"Cannot remove issues file: {GetIssuesFilePath(buildInfo)}");
                    Console.Error.WriteLine(e);
                }

                try
                {
                    int exitCode = BuildSystem.Publish(buildInfo, StdOutputReceived, StdErrorReceived);

                    if (exitCode != 0)
                    {
                        PrintVerbose(
                            $"dotnet publish exited with code: {exitCode}. Log file: {GetLogFilePath(buildInfo)}");
                    }

                    BuildFinished?.Invoke(exitCode == 0 ? BuildResult.Success : BuildResult.Error);

                    return(exitCode == 0);
                }
                catch (Exception e)
                {
                    BuildLaunchFailed?.Invoke(buildInfo,
                                              $"The publish method threw an exception.\n{e.GetType().FullName}: {e.Message}");
                    Console.Error.WriteLine(e);
                    return(false);
                }
            }
            finally
            {
                _buildInProgress = null;
            }
        }
Beispiel #4
0
        public static async Task <bool> BuildAsync(BuildInfo buildInfo)
        {
            if (_buildInProgress != null)
            {
                throw new InvalidOperationException("A build is already in progress.");
            }

            _buildInProgress = buildInfo;

            try
            {
                BuildStarted?.Invoke(buildInfo);

                try
                {
                    RemoveOldIssuesFile(buildInfo);
                }
                catch (IOException e)
                {
                    BuildLaunchFailed?.Invoke(buildInfo, $"Cannot remove issues file: {GetIssuesFilePath(buildInfo)}");
                    Console.Error.WriteLine(e);
                }

                try
                {
                    int exitCode = await BuildSystem.BuildAsync(buildInfo, StdOutputReceived, StdErrorReceived);

                    if (exitCode != 0)
                    {
                        PrintVerbose($"MSBuild exited with code: {exitCode}. Log file: {GetLogFilePath(buildInfo)}");
                    }

                    BuildFinished?.Invoke(exitCode == 0 ? BuildResult.Success : BuildResult.Error);

                    return(exitCode == 0);
                }
                catch (Exception e)
                {
                    BuildLaunchFailed?.Invoke(buildInfo,
                                              $"The build method threw an exception.\n{e.GetType().FullName}: {e.Message}");
                    Console.Error.WriteLine(e);
                    return(false);
                }
            }
            finally
            {
                _buildInProgress = null;
            }
        }
        public BuildProcess BuildAsync()
        {
            string errors = null;

            if (!CanBuild(ref errors))
            {
                Debug.LogError(errors);
                return(null);
            }

            BuildStarted?.Invoke();

            m_CurrentBuildProcess = new BuildProcess(this);
            m_CurrentBuildProcess.BuildStopped += OnBuildStopped;
            return(m_CurrentBuildProcess);
        }
        /// <summary>
        /// Builds the binary for this asset
        /// </summary>
        public void BuildSync()
        {
            EditorUtility.DisplayProgressBar($"Building Kinematica Asset {name}.asset", "", 0.0f);

            using (BuildProcess buildProcess = BuildAsync())
            {
                BuildStarted?.Invoke();
                buildProcess.Builder.progressFeedback += progressInfo => EditorUtility.DisplayProgressBar($"Building Kinematica Asset {name}.asset", progressInfo.title, progressInfo.progress);

                while (!buildProcess.IsFinished)
                {
                    buildProcess.FrameUpdate();
                }

                BuildStopped?.Invoke();
            }

            EditorUtility.ClearProgressBar();
        }
 static void Initialize()
 {
     BuildPipeline.BuildStarted   += (pipeline, settings) => BuildStarted?.Invoke(pipeline, settings);
     BuildPipeline.BuildCompleted += (result) => BuildCompleted?.Invoke(result);
 }
 private void RaiseBuildStarted(bool started)
 {
     BuildStarted?.Invoke(this, started);
 }
 // ReSharper disable once UnusedMember.Local
 private void OnBuildStarted(BuildStartedEventArgs e)
 {
     BuildStarted?.Invoke(this, e);
 }
Beispiel #10
0
 public void When(BuildStarted e)
 {
     writer.UpdateEnforcingNew(e.Id, view => BuildProjection.OnBuildStarted(e, view));
 }
Beispiel #11
0
 public void StartBuild(DateTime time)
 {
     _logger.LogDebug($"BuildProcess.StartBuild: {time}");
     StartTime = time;
     BuildStarted?.Invoke();
 }
Beispiel #12
0
 private void EventSourceOnBuildStarted(object sender, BuildStartedEventArgs e)
 {
     BuildStarted?.Invoke(sender, e);
 }
Beispiel #13
0
 protected void HandleBuildStarted(params TaskInfo[] tasks)
 {
     BuildMessage = CreateBuildMessage(NewGuid, RepoUrl, tasks);
     EventHandler.Handle(BuildMessage);
 }
 public void When(BuildStarted e)
 {
     writer.UpdateOrThrow(unit.it,status =>
         {
             var agent_status = status.Available.First(agentStatus => agentStatus.Id == e.AgentId);
             status.Busy.Add(agent_status);
             status.Available.Remove(agent_status);
             status.BuildId2AgentId[e.Id] = e.AgentId;
         });
 }
Beispiel #15
0
 protected virtual void OnBuildStarted(EventArgs args)
 {
     BuildStarted?.Invoke(this, args);
 }
Beispiel #16
0
 private void OnBuildBegin(vsBuildScope Scope, vsBuildAction Action)
 {
     IsBuilding = true;
     BuildStarted?.Invoke(this, EventArgs.Empty);
 }
Beispiel #17
0
 private void OnBuildBegin(vsBuildScope scope, vsBuildAction action)
 {
     LastBuildTime = DateTime.Now;
     IsBuilding    = true;
     BuildStarted?.Invoke(this, EventArgs.Empty);
 }