Build project before running
This commit is contained in:
@@ -27,7 +27,7 @@ public partial class BuildPanel : Control
|
||||
}
|
||||
}
|
||||
|
||||
private async Task OnBuildStarted()
|
||||
private async Task OnBuildStarted(BuildStartedFlags _)
|
||||
{
|
||||
await this.InvokeAsync(() => _terminal.Clear());
|
||||
_buildOutputChannelReader ??= _buildService.BuildTextWriter.ConsoleChannel.Reader;
|
||||
|
||||
@@ -44,7 +44,7 @@ public partial class TestExplorerPanel : Control
|
||||
var solution = _solutionAccessor.SolutionModel!;
|
||||
if (withBuild)
|
||||
{
|
||||
await _buildService.MsBuildAsync(solution.FilePath);
|
||||
await _buildService.MsBuildAsync(solution.FilePath, buildStartedFlags: BuildStartedFlags.Internal);
|
||||
}
|
||||
var testNodes = await _testRunnerService.DiscoverTests(solution);
|
||||
var scenes = testNodes.Select(s =>
|
||||
@@ -70,7 +70,7 @@ public partial class TestExplorerPanel : Control
|
||||
{
|
||||
await _solutionAccessor.SolutionReadyTcs.Task;
|
||||
var solution = _solutionAccessor.SolutionModel!;
|
||||
await _buildService.MsBuildAsync(solution.FilePath);
|
||||
await _buildService.MsBuildAsync(solution.FilePath, buildStartedFlags: BuildStartedFlags.Internal);
|
||||
await this.InvokeAsync(() => _testNodesVBoxContainer.QueueFreeChildren());
|
||||
_testNodeEntryNodes.Clear();
|
||||
await _testRunnerService.RunTestsAsync(solution, HandleTestNodeUpdates);
|
||||
|
||||
@@ -98,10 +98,11 @@ public partial class IdeRoot : Control
|
||||
_nodeReadyTcs.SetResult();
|
||||
}
|
||||
|
||||
private async Task OnBuildStarted() => await OnBuildRunningStateChanged(true);
|
||||
private async Task OnBuildStarted(BuildStartedFlags flags) => await OnBuildRunningStateChanged(true, flags);
|
||||
private async Task OnBuildFinished() => await OnBuildRunningStateChanged(false);
|
||||
private async Task OnBuildRunningStateChanged(bool running)
|
||||
private async Task OnBuildRunningStateChanged(bool running, BuildStartedFlags? flags = null)
|
||||
{
|
||||
if (running && flags is BuildStartedFlags.UserFacing) GodotGlobalEvents.Instance.BottomPanelTabExternallySelected.InvokeParallelFireAndForget(BottomPanelType.Build);
|
||||
await this.InvokeAsync(() =>
|
||||
{
|
||||
_cancelMsBuildActionButton.Disabled = !running;
|
||||
|
||||
Reference in New Issue
Block a user