From dc58113791b8ce7d567e9ff2ed83c246ad799f7a Mon Sep 17 00:00:00 2001 From: Marko Lahma Date: Tue, 4 Jul 2023 19:45:13 +0300 Subject: [PATCH] Upgrade to NUKE 7.0.2 (#238) --- .nuke/build.schema.json | 4 ++-- build-support/nuke-build/Build.cs | 14 +++++++------- build-support/nuke-build/_build.csproj | 2 +- build.cmd | 14 +++++++------- build.ps1 | 7 ++++++- build.sh | 7 ++++++- 6 files changed, 29 insertions(+), 19 deletions(-) diff --git a/.nuke/build.schema.json b/.nuke/build.schema.json index 3299cff49..ba3709135 100644 --- a/.nuke/build.schema.json +++ b/.nuke/build.schema.json @@ -1,7 +1,7 @@ { "$schema": "http://json-schema.org/draft-04/schema#", - "title": "Build Schema", "$ref": "#/definitions/build", + "title": "Build Schema", "definitions": { "build": { "type": "object", @@ -153,4 +153,4 @@ } } } -} \ No newline at end of file +} diff --git a/build-support/nuke-build/Build.cs b/build-support/nuke-build/Build.cs index e381b44cc..29edaf199 100644 --- a/build-support/nuke-build/Build.cs +++ b/build-support/nuke-build/Build.cs @@ -37,7 +37,7 @@ partial class Build : NukeBuild readonly bool BuildEms = false; [Parameter("Version")] - readonly string ProjectVersion = "3.0.1"; + readonly string ProjectVersion = "3.0.2"; [Solution] readonly Solution Solution; [GitRepository] readonly GitRepository GitRepository; @@ -80,10 +80,10 @@ protected override void OnBuildInitialized() .Before(Restore) .Executes(() => { - SourceDirectory.GlobDirectories("**/bin", "**/obj").ForEach(DeleteDirectory); - TestsDirectory.GlobDirectories("**/bin", "**/obj").ForEach(DeleteDirectory); - EnsureCleanDirectory(ArtifactsDirectory); - EnsureCleanDirectory(BuildDirectory); + SourceDirectory.GlobDirectories("**/bin", "**/obj").ForEach(x => x.DeleteDirectory()); + TestsDirectory.GlobDirectories("**/bin", "**/obj").ForEach(x => x.DeleteDirectory()); + ArtifactsDirectory.CreateOrCleanDirectory(); + BuildDirectory.CreateOrCleanDirectory(); }); Target Restore => _ => _ @@ -178,7 +178,7 @@ protected override void OnBuildInitialized() .Executes(() => { var binDirectory = RootDirectory / "bin"; - EnsureCleanDirectory(binDirectory); + binDirectory.CreateOrCleanDirectory(); var moduleNames = new[] { @@ -219,7 +219,7 @@ protected override void OnBuildInitialized() IEnumerable GetActiveProjects() { - var packTargets = Solution.GetProjects("*") + var packTargets = Solution.AllProjects .Where(x => x.Name != "Spring.Messaging.Ems" || BuildEms) .Where(x => !x.Name.Contains("_build")); return packTargets; diff --git a/build-support/nuke-build/_build.csproj b/build-support/nuke-build/_build.csproj index 0a1f79054..ba9d67646 100644 --- a/build-support/nuke-build/_build.csproj +++ b/build-support/nuke-build/_build.csproj @@ -11,7 +11,7 @@ - + diff --git a/build.cmd b/build.cmd index 6d78c42e0..b08cc590f 100755 --- a/build.cmd +++ b/build.cmd @@ -1,7 +1,7 @@ -:; set -eo pipefail -:; SCRIPT_DIR=$(cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd) -:; ${SCRIPT_DIR}/build.sh "$@" -:; exit $? - -@ECHO OFF -powershell -ExecutionPolicy ByPass -NoProfile -File "%~dp0build.ps1" %* +:; set -eo pipefail +:; SCRIPT_DIR=$(cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd) +:; ${SCRIPT_DIR}/build.sh "$@" +:; exit $? + +@ECHO OFF +powershell -ExecutionPolicy ByPass -NoProfile -File "%~dp0build.ps1" %* diff --git a/build.ps1 b/build.ps1 index 56a22e705..df1494fd5 100644 --- a/build.ps1 +++ b/build.ps1 @@ -18,7 +18,7 @@ $TempDirectory = "$PSScriptRoot\\.nuke\temp" $DotNetGlobalFile = "$PSScriptRoot\\global.json" $DotNetInstallUrl = "https://dot.net/v1/dotnet-install.ps1" -$DotNetChannel = "Current" +$DotNetChannel = "STS" $env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE = 1 $env:DOTNET_CLI_TELEMETRY_OPTOUT = 1 @@ -65,5 +65,10 @@ else { Write-Output "Microsoft (R) .NET SDK version $(& $env:DOTNET_EXE --version)" +if (Test-Path env:NUKE_ENTERPRISE_TOKEN) { + & $env:DOTNET_EXE nuget remove source "nuke-enterprise" > $null + & $env:DOTNET_EXE nuget add source "https://f.feedz.io/nuke/enterprise/nuget" --name "nuke-enterprise" --username "PAT" --password $env:NUKE_ENTERPRISE_TOKEN > $null +} + ExecSafe { & $env:DOTNET_EXE build $BuildProjectFile /nodeReuse:false /p:UseSharedCompilation=false -nologo -clp:NoSummary --verbosity quiet } ExecSafe { & $env:DOTNET_EXE run --project $BuildProjectFile --no-build -- $BuildArguments } diff --git a/build.sh b/build.sh index 5224dbc6e..0aa133006 100755 --- a/build.sh +++ b/build.sh @@ -14,7 +14,7 @@ TEMP_DIRECTORY="$SCRIPT_DIR//.nuke/temp" DOTNET_GLOBAL_FILE="$SCRIPT_DIR//global.json" DOTNET_INSTALL_URL="https://dot.net/v1/dotnet-install.sh" -DOTNET_CHANNEL="Current" +DOTNET_CHANNEL="STS" export DOTNET_CLI_TELEMETRY_OPTOUT=1 export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 @@ -58,5 +58,10 @@ fi echo "Microsoft (R) .NET SDK version $("$DOTNET_EXE" --version)" +if [[ ! -z ${NUKE_ENTERPRISE_TOKEN+x} && "NUKE_ENTERPRISE_TOKEN" != "" ]]; then + "$DOTNET_EXE" nuget remove source "nuke-enterprise" &>/dev/null || true + "$DOTNET_EXE" nuget add source "https://f.feedz.io/nuke/enterprise/nuget" --name "nuke-enterprise" --username "PAT" --password "$NUKE_ENTERPRISE_TOKEN" --store-password-in-clear-text &>/dev/null || true +fi + "$DOTNET_EXE" build "$BUILD_PROJECT_FILE" /nodeReuse:false /p:UseSharedCompilation=false -nologo -clp:NoSummary --verbosity quiet "$DOTNET_EXE" run --project "$BUILD_PROJECT_FILE" --no-build -- "$@"