Use standalone Bun to build JS projects instead of NodeJS (#20243)
* Replace node.js npm with bun * Run bun test target, instead of direct npm, remove `SkipPreviewer` prop * Add "--yes" argument to dnx command * Remove unused scripts
This commit is contained in:
+5
-30
@@ -1,20 +1,15 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.IO.Compression;
|
||||
using System.Linq;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Threading.Tasks;
|
||||
using System.Xml.Linq;
|
||||
using Nuke.Common;
|
||||
using Nuke.Common.Tooling;
|
||||
using Nuke.Common.Tools.DotNet;
|
||||
using Nuke.Common.Tools.Npm;
|
||||
using Nuke.Common.Utilities;
|
||||
using static Nuke.Common.EnvironmentInfo;
|
||||
using static Nuke.Common.IO.PathConstruction;
|
||||
using static Nuke.Common.Tools.DotNet.DotNetTasks;
|
||||
using static Serilog.Log;
|
||||
using MicroCom.CodeGenerator;
|
||||
@@ -134,21 +129,6 @@ partial class Build : NukeBuild
|
||||
}
|
||||
});
|
||||
|
||||
Target CompileHtmlPreviewer => _ => _
|
||||
.DependsOn(Clean)
|
||||
.OnlyWhenStatic(() => !Parameters.SkipPreviewer)
|
||||
.Executes(() =>
|
||||
{
|
||||
var webappDir = RootDirectory / "src" / "Avalonia.DesignerSupport" / "Remote" / "HtmlTransport" / "webapp";
|
||||
|
||||
NpmTasks.NpmInstall(c => c
|
||||
.SetProcessWorkingDirectory(webappDir)
|
||||
.SetProcessAdditionalArguments("--silent"));
|
||||
NpmTasks.NpmRun(c => c
|
||||
.SetProcessWorkingDirectory(webappDir)
|
||||
.SetCommand("dist"));
|
||||
});
|
||||
|
||||
Target CompileNative => _ => _
|
||||
.DependsOn(Clean)
|
||||
.DependsOn(GenerateCppHeaders)
|
||||
@@ -162,7 +142,6 @@ partial class Build : NukeBuild
|
||||
|
||||
Target Compile => _ => _
|
||||
.DependsOn(Clean, CompileNative)
|
||||
.DependsOn(CompileHtmlPreviewer)
|
||||
.Executes(() =>
|
||||
{
|
||||
DotNetBuild(c => ApplySetting(c)
|
||||
@@ -254,18 +233,14 @@ partial class Build : NukeBuild
|
||||
.SetResultsDirectory(Parameters.TestResultsRoot));
|
||||
|
||||
Target RunHtmlPreviewerTests => _ => _
|
||||
.DependsOn(CompileHtmlPreviewer)
|
||||
.OnlyWhenStatic(() => !(Parameters.SkipPreviewer || Parameters.SkipTests))
|
||||
.OnlyWhenStatic(() => !(Parameters.SkipTests))
|
||||
.Executes(() =>
|
||||
{
|
||||
var webappTestDir = RootDirectory / "tests" / "Avalonia.DesignerSupport.Tests" / "Remote" / "HtmlTransport" / "webapp";
|
||||
var webappTest = RootDirectory / "tests" / "Avalonia.DesignerSupport.Tests";
|
||||
|
||||
NpmTasks.NpmInstall(c => c
|
||||
.SetProcessWorkingDirectory(webappTestDir)
|
||||
.SetProcessAdditionalArguments("--silent"));
|
||||
NpmTasks.NpmRun(c => c
|
||||
.SetProcessWorkingDirectory(webappTestDir)
|
||||
.SetCommand("test"));
|
||||
DotNetMSBuild(o => o
|
||||
.SetProcessWorkingDirectory(webappTest)
|
||||
.SetTargets("BunRunTests"));
|
||||
});
|
||||
|
||||
Target RunCoreLibsTests => _ => _
|
||||
|
||||
@@ -21,9 +21,6 @@ public partial class Build
|
||||
[Parameter(Name = "force-nuget-version")]
|
||||
public string? ForceNugetVersion { get; set; }
|
||||
|
||||
[Parameter(Name = "skip-previewer")]
|
||||
public bool SkipPreviewer { get; set; }
|
||||
|
||||
[Parameter(Name = "force-api-baseline")]
|
||||
public string? ForceApiValidationBaseline { get; set; }
|
||||
|
||||
@@ -37,7 +34,6 @@ public partial class Build
|
||||
{
|
||||
public string Configuration { get; }
|
||||
public bool SkipTests { get; }
|
||||
public bool SkipPreviewer {get;}
|
||||
public string MainRepo { get; }
|
||||
public string MasterBranch { get; }
|
||||
public string? RepositoryName { get; }
|
||||
@@ -81,7 +77,6 @@ public partial class Build
|
||||
// ARGUMENTS
|
||||
Configuration = b.Configuration ?? "Release";
|
||||
SkipTests = b.SkipTests;
|
||||
SkipPreviewer = b.SkipPreviewer;
|
||||
|
||||
// CONFIGURATION
|
||||
MainRepo = "https://github.com/AvaloniaUI/Avalonia";
|
||||
|
||||
Reference in New Issue
Block a user