diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml
index 86347d20..65472559 100644
--- a/.github/workflows/build-and-test.yml
+++ b/.github/workflows/build-and-test.yml
@@ -7,12 +7,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v4
- name: Setup .NET Core SDK ${{ matrix.dotnet-version }}
- uses: actions/setup-dotnet@v3
+ uses: actions/setup-dotnet@v4
with:
dotnet-version: |
- 6.0.x
8.0.x
- name: Install dependencies
run: dotnet restore
diff --git a/.nuke/build.schema.json b/.nuke/build.schema.json
index ee72d94a..76be051b 100644
--- a/.nuke/build.schema.json
+++ b/.nuke/build.schema.json
@@ -1,15 +1,53 @@
{
"$schema": "http://json-schema.org/draft-04/schema#",
- "title": "Build Schema",
- "$ref": "#/definitions/build",
"definitions": {
- "build": {
- "type": "object",
+ "Host": {
+ "type": "string",
+ "enum": [
+ "AppVeyor",
+ "AzurePipelines",
+ "Bamboo",
+ "Bitbucket",
+ "Bitrise",
+ "GitHubActions",
+ "GitLab",
+ "Jenkins",
+ "Rider",
+ "SpaceAutomation",
+ "TeamCity",
+ "Terminal",
+ "TravisCI",
+ "VisualStudio",
+ "VSCode"
+ ]
+ },
+ "ExecutableTarget": {
+ "type": "string",
+ "enum": [
+ "CiAzureLinux",
+ "CiAzureOSX",
+ "CiAzureWindows",
+ "Clean",
+ "Compile",
+ "CreateNugetPackages",
+ "Package",
+ "RunCoreLibsTests",
+ "RunTests",
+ "ZipFiles"
+ ]
+ },
+ "Verbosity": {
+ "type": "string",
+ "description": "",
+ "enum": [
+ "Verbose",
+ "Normal",
+ "Minimal",
+ "Quiet"
+ ]
+ },
+ "NukeBuild": {
"properties": {
- "Configuration": {
- "type": "string",
- "description": "configuration"
- },
"Continue": {
"type": "boolean",
"description": "Indicates to continue a previously failed build attempt"
@@ -19,24 +57,8 @@
"description": "Shows the help text for this build assembly"
},
"Host": {
- "type": "string",
"description": "Host for execution. Default is 'automatic'",
- "enum": [
- "AppVeyor",
- "AzurePipelines",
- "Bamboo",
- "Bitrise",
- "GitHubActions",
- "GitLab",
- "Jenkins",
- "Rider",
- "SpaceAutomation",
- "TeamCity",
- "Terminal",
- "TravisCI",
- "VisualStudio",
- "VSCode"
- ]
+ "$ref": "#/definitions/Host"
},
"NoLogo": {
"type": "boolean",
@@ -57,22 +79,6 @@
"type": "string"
}
},
- "PublishFramework": {
- "type": "string",
- "description": "publish-framework"
- },
- "PublishProject": {
- "type": "string",
- "description": "publish-project"
- },
- "PublishRuntime": {
- "type": "string",
- "description": "publish-runtime"
- },
- "PublishSelfContained": {
- "type": "boolean",
- "description": "publish-self-contained"
- },
"Root": {
"type": "string",
"description": "Root directory during build execution"
@@ -81,51 +87,50 @@
"type": "array",
"description": "List of targets to be skipped. Empty list skips all dependencies",
"items": {
- "type": "string",
- "enum": [
- "Clean",
- "Compile",
- "Pack",
- "Publish",
- "Restore",
- "Test"
- ]
+ "$ref": "#/definitions/ExecutableTarget"
}
},
- "Solution": {
- "type": "string",
- "description": "Path to a solution file that is automatically loaded"
- },
"Target": {
"type": "array",
"description": "List of targets to be invoked. Default is '{default_target}'",
"items": {
- "type": "string",
- "enum": [
- "Clean",
- "Compile",
- "Pack",
- "Publish",
- "Restore",
- "Test"
- ]
+ "$ref": "#/definitions/ExecutableTarget"
}
},
"Verbosity": {
- "type": "string",
"description": "Logging verbosity during build execution. Default is 'Normal'",
- "enum": [
- "Minimal",
- "Normal",
- "Quiet",
- "Verbose"
- ]
+ "$ref": "#/definitions/Verbosity"
+ }
+ }
+ }
+ },
+ "allOf": [
+ {
+ "properties": {
+ "Configuration": {
+ "type": "string",
+ "description": "configuration"
},
- "VersionSuffix": {
+ "ForceNugetVersion": {
+ "type": "string",
+ "description": "force-nuget-version"
+ },
+ "SkipPreviewer": {
+ "type": "boolean",
+ "description": "skip-previewer"
+ },
+ "SkipTests": {
+ "type": "boolean",
+ "description": "skip-tests"
+ },
+ "Solution": {
"type": "string",
- "description": "version-suffix"
+ "description": "Path to a solution file that is automatically loaded. Default is Avalonia.Controls.TreeDataGrid.sln"
}
}
+ },
+ {
+ "$ref": "#/definitions/NukeBuild"
}
- }
-}
\ No newline at end of file
+ ]
+}
diff --git a/Directory.Build.props b/Directory.Build.props
index b52a8875..a771f171 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -13,5 +13,6 @@
11.0.0
+ 11.2.8
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 2c9ec504..e19a47f2 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -7,6 +7,12 @@ pool:
vmImage: ubuntu-latest
steps:
+
+- task: UseDotNet@2
+ displayName: 'Use .NET SDK'
+ inputs:
+ version: 8.0.x
+
- task: CmdLine@2
displayName: 'Install Nuke'
inputs:
diff --git a/global.json b/global.json
deleted file mode 100644
index d3492186..00000000
--- a/global.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "sdk": {
- "version": "8.0.101",
- "rollForward": "latestFeature"
- }
-}
diff --git a/nukebuild/Build.cs b/nukebuild/Build.cs
index 3427f354..a48300e8 100644
--- a/nukebuild/Build.cs
+++ b/nukebuild/Build.cs
@@ -6,12 +6,12 @@
using System.Linq;
using System.Runtime.InteropServices;
using Nuke.Common;
+using Nuke.Common.IO;
using Nuke.Common.ProjectModel;
using Nuke.Common.Tooling;
using Nuke.Common.Tools.DotNet;
using Nuke.Common.Tools.MSBuild;
using static Nuke.Common.EnvironmentInfo;
-using static Nuke.Common.IO.FileSystemTasks;
using static Nuke.Common.Tools.MSBuild.MSBuildTasks;
using static Nuke.Common.Tools.DotNet.DotNetTasks;
using static Nuke.Common.Tools.VSWhere.VSWhereTasks;
@@ -82,8 +82,7 @@ IReadOnlyCollection