diff --git a/src/Build/BackEnd/BuildManager/BuildSubmission.cs b/src/Build/BackEnd/BuildManager/BuildSubmission.cs
index e96185fc640..1dba5f10f78 100644
--- a/src/Build/BackEnd/BuildManager/BuildSubmission.cs
+++ b/src/Build/BackEnd/BuildManager/BuildSubmission.cs
@@ -202,6 +202,16 @@ public override BuildResult Execute()
return BuildResult!;
}
+ ///
+ /// Whether the build has started.
+ ///
+ internal override bool IsStarted
+ {
+ get => BuildRequest != null;
+ // Ignore the set - the submission is started once the BuildRequest is set.
+ set { }
+ }
+
protected internal override BuildResult CreateFailedResult(Exception exception)
{
ErrorUtilities.VerifyThrow(BuildRequest != null,
diff --git a/src/Build/BackEnd/BuildManager/BuildSubmissionBase.cs b/src/Build/BackEnd/BuildManager/BuildSubmissionBase.cs
index ba6f45afc09..1cf4819c51d 100644
--- a/src/Build/BackEnd/BuildManager/BuildSubmissionBase.cs
+++ b/src/Build/BackEnd/BuildManager/BuildSubmissionBase.cs
@@ -77,7 +77,7 @@ protected internal BuildSubmissionBase(BuildManager buildManager, int submission
///
/// Whether the build has started.
///
- internal bool IsStarted { get; set; }
+ internal abstract bool IsStarted { get; set; }
///
/// Indicates that all logging events for this submission are complete.
diff --git a/src/Build/Graph/GraphBuildSubmission.cs b/src/Build/Graph/GraphBuildSubmission.cs
index 270134614f5..164cfc8e377 100644
--- a/src/Build/Graph/GraphBuildSubmission.cs
+++ b/src/Build/Graph/GraphBuildSubmission.cs
@@ -71,6 +71,11 @@ protected internal override void CheckResultValidForCompletion(GraphBuildResult
protected internal override GraphBuildResult CreateFailedResult(Exception exception)
=> new(SubmissionId, exception);
+ ///
+ /// Whether the build has started.
+ ///
+ internal override bool IsStarted { get; set; }
+
// WARNING!: Do not remove the below proxy properties.
// They are required to make the OM forward compatible
// (code built against this OM should run against binaries with previous version of OM).