Update solution
This commit is contained in:
Родитель
bf870675ea
Коммит
deb349b208
|
@ -1,131 +0,0 @@
|
|||
{
|
||||
"$schema": "http://json-schema.org/draft-04/schema#",
|
||||
"title": "Build Schema",
|
||||
"$ref": "#/definitions/build",
|
||||
"definitions": {
|
||||
"build": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"Configuration": {
|
||||
"type": "string",
|
||||
"description": "configuration"
|
||||
},
|
||||
"Continue": {
|
||||
"type": "boolean",
|
||||
"description": "Indicates to continue a previously failed build attempt"
|
||||
},
|
||||
"Help": {
|
||||
"type": "boolean",
|
||||
"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"
|
||||
]
|
||||
},
|
||||
"NoLogo": {
|
||||
"type": "boolean",
|
||||
"description": "Disables displaying the NUKE logo"
|
||||
},
|
||||
"Partition": {
|
||||
"type": "string",
|
||||
"description": "Partition to use on CI"
|
||||
},
|
||||
"Plan": {
|
||||
"type": "boolean",
|
||||
"description": "Shows the execution plan (HTML)"
|
||||
},
|
||||
"Profile": {
|
||||
"type": "array",
|
||||
"description": "Defines the profiles to load",
|
||||
"items": {
|
||||
"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"
|
||||
},
|
||||
"Skip": {
|
||||
"type": "array",
|
||||
"description": "List of targets to be skipped. Empty list skips all dependencies",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"Clean",
|
||||
"Compile",
|
||||
"Pack",
|
||||
"Publish",
|
||||
"Restore",
|
||||
"Test"
|
||||
]
|
||||
}
|
||||
},
|
||||
"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"
|
||||
]
|
||||
}
|
||||
},
|
||||
"Verbosity": {
|
||||
"type": "string",
|
||||
"description": "Logging verbosity during build execution. Default is 'Normal'",
|
||||
"enum": [
|
||||
"Minimal",
|
||||
"Normal",
|
||||
"Quiet",
|
||||
"Verbose"
|
||||
]
|
||||
},
|
||||
"VersionSuffix": {
|
||||
"type": "string",
|
||||
"description": "version-suffix"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
{
|
||||
"$schema": "./build.schema.json",
|
||||
"Solution": "Core2D.sln"
|
||||
}
|
39
Core2D.sln
39
Core2D.sln
|
@ -15,21 +15,8 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "config", "config", "{205489
|
|||
Directory.Build.props = Directory.Build.props
|
||||
global.json = global.json
|
||||
NuGet.Config = NuGet.Config
|
||||
omnisharp.json = omnisharp.json
|
||||
azure-pipelines.yml = azure-pipelines.yml
|
||||
build.cmd = build.cmd
|
||||
build.ps1 = build.ps1
|
||||
build.sh = build.sh
|
||||
EndProjectSection
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tests", "tests", "{33116698-64BF-46E3-A655-86981600BFAD}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{1AE10EDE-F6CB-4EE3-9096-FFBBA86B0627}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core2D.UnitTests", "tests\Core2D.UnitTests\Core2D.UnitTests.csproj", "{41864624-DF9B-4E24-821C-134C79C7E2B3}"
|
||||
EndProject
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "_build", "build\build\_build.csproj", "{C43260E6-62B6-415F-9301-ED34DA1816D7}"
|
||||
EndProject
|
||||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docs", "docs", "{93539864-8DAD-47A6-BB47-948EE086C030}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
LICENSE.TXT = LICENSE.TXT
|
||||
|
@ -70,30 +57,6 @@ Global
|
|||
{C2E3F840-F1D4-4995-BF41-E3EE8BB3D0CA}.Release|x64.Build.0 = Release|Any CPU
|
||||
{C2E3F840-F1D4-4995-BF41-E3EE8BB3D0CA}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{C2E3F840-F1D4-4995-BF41-E3EE8BB3D0CA}.Release|x86.Build.0 = Release|Any CPU
|
||||
{41864624-DF9B-4E24-821C-134C79C7E2B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{41864624-DF9B-4E24-821C-134C79C7E2B3}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{41864624-DF9B-4E24-821C-134C79C7E2B3}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{41864624-DF9B-4E24-821C-134C79C7E2B3}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{41864624-DF9B-4E24-821C-134C79C7E2B3}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{41864624-DF9B-4E24-821C-134C79C7E2B3}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{41864624-DF9B-4E24-821C-134C79C7E2B3}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{41864624-DF9B-4E24-821C-134C79C7E2B3}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{41864624-DF9B-4E24-821C-134C79C7E2B3}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{41864624-DF9B-4E24-821C-134C79C7E2B3}.Release|x64.Build.0 = Release|Any CPU
|
||||
{41864624-DF9B-4E24-821C-134C79C7E2B3}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{41864624-DF9B-4E24-821C-134C79C7E2B3}.Release|x86.Build.0 = Release|Any CPU
|
||||
{C43260E6-62B6-415F-9301-ED34DA1816D7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{C43260E6-62B6-415F-9301-ED34DA1816D7}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{C43260E6-62B6-415F-9301-ED34DA1816D7}.Debug|x64.ActiveCfg = Debug|Any CPU
|
||||
{C43260E6-62B6-415F-9301-ED34DA1816D7}.Debug|x64.Build.0 = Debug|Any CPU
|
||||
{C43260E6-62B6-415F-9301-ED34DA1816D7}.Debug|x86.ActiveCfg = Debug|Any CPU
|
||||
{C43260E6-62B6-415F-9301-ED34DA1816D7}.Debug|x86.Build.0 = Debug|Any CPU
|
||||
{C43260E6-62B6-415F-9301-ED34DA1816D7}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{C43260E6-62B6-415F-9301-ED34DA1816D7}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{C43260E6-62B6-415F-9301-ED34DA1816D7}.Release|x64.ActiveCfg = Release|Any CPU
|
||||
{C43260E6-62B6-415F-9301-ED34DA1816D7}.Release|x64.Build.0 = Release|Any CPU
|
||||
{C43260E6-62B6-415F-9301-ED34DA1816D7}.Release|x86.ActiveCfg = Release|Any CPU
|
||||
{C43260E6-62B6-415F-9301-ED34DA1816D7}.Release|x86.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
@ -101,8 +64,6 @@ Global
|
|||
GlobalSection(NestedProjects) = preSolution
|
||||
{3F804F82-57E8-47EE-BE48-FF19462C3B97} = {A5C9C74C-A503-4375-B56A-1411181B6E5A}
|
||||
{C2E3F840-F1D4-4995-BF41-E3EE8BB3D0CA} = {A5C9C74C-A503-4375-B56A-1411181B6E5A}
|
||||
{41864624-DF9B-4E24-821C-134C79C7E2B3} = {33116698-64BF-46E3-A655-86981600BFAD}
|
||||
{C43260E6-62B6-415F-9301-ED34DA1816D7} = {1AE10EDE-F6CB-4EE3-9096-FFBBA86B0627}
|
||||
EndGlobalSection
|
||||
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||
SolutionGuid = {0720A3F0-7CD3-4F9C-8DFF-858B38D44C31}
|
||||
|
|
|
@ -1,93 +0,0 @@
|
|||
name: $(date:yyyyMMdd)$(rev:-rr)
|
||||
|
||||
resources:
|
||||
repositories:
|
||||
- repository: templates
|
||||
endpoint: wieslawsoltes
|
||||
type: github
|
||||
name: wieslawsoltes/BuildTemplates
|
||||
ref: refs/tags/v2.0.0
|
||||
|
||||
variables:
|
||||
BuildConfiguration: 'Release'
|
||||
BuildPlatform: 'Any CPU'
|
||||
PublishFramework: 'net7.0'
|
||||
PublishProject: 'Core2D'
|
||||
PublishRuntime: ''
|
||||
Workloads: ''
|
||||
|
||||
jobs:
|
||||
- template: Test-PowerShell.yml@templates
|
||||
parameters:
|
||||
name: 'Test_Windows'
|
||||
vmImage: 'windows-2022'
|
||||
BuildConfiguration: ${{ variables.BuildConfiguration }}
|
||||
Workloads: ${{ variables.Workloads }}
|
||||
|
||||
- template: Test-Bash.yml@templates
|
||||
parameters:
|
||||
name: 'Test_Linux'
|
||||
vmImage: 'ubuntu-20.04'
|
||||
BuildConfiguration: ${{ variables.BuildConfiguration }}
|
||||
Workloads: ${{ variables.Workloads }}
|
||||
|
||||
- template: Test-Bash.yml@templates
|
||||
parameters:
|
||||
name: 'Test_macOS'
|
||||
vmImage: 'macOS-11'
|
||||
BuildConfiguration: ${{ variables.BuildConfiguration }}
|
||||
Workloads: ${{ variables.Workloads }}
|
||||
|
||||
- template: Pack-MyGet.yml@templates
|
||||
parameters:
|
||||
name: 'Pack_MyGet'
|
||||
vmImage: 'windows-2022'
|
||||
BuildConfiguration: ${{ variables.BuildConfiguration }}
|
||||
Workloads: ${{ variables.Workloads }}
|
||||
|
||||
- template: Pack-NuGet.yml@templates
|
||||
parameters:
|
||||
name: 'Pack_NuGet'
|
||||
vmImage: 'windows-2022'
|
||||
BuildConfiguration: ${{ variables.BuildConfiguration }}
|
||||
Workloads: ${{ variables.Workloads }}
|
||||
|
||||
- template: Publish-PowerShell.yml@templates
|
||||
parameters:
|
||||
name: 'Publish_Windows'
|
||||
vmImage: 'windows-2022'
|
||||
BuildConfiguration: ${{ variables.BuildConfiguration }}
|
||||
Workloads: ${{ variables.Workloads }}
|
||||
PublishFramework: ${{ variables.PublishFramework }}
|
||||
PublishProject: ${{ variables.PublishProject }}
|
||||
PublishRuntime: 'win7-x64'
|
||||
|
||||
- template: Publish-Bash.yml@templates
|
||||
parameters:
|
||||
name: 'Publish_Ubuntu'
|
||||
vmImage: 'ubuntu-20.04'
|
||||
BuildConfiguration: ${{ variables.BuildConfiguration }}
|
||||
Workloads: ${{ variables.Workloads }}
|
||||
PublishFramework: ${{ variables.PublishFramework }}
|
||||
PublishProject: ${{ variables.PublishProject }}
|
||||
PublishRuntime: 'ubuntu.14.04-x64'
|
||||
|
||||
- template: Publish-Bash.yml@templates
|
||||
parameters:
|
||||
name: 'Publish_Debian'
|
||||
vmImage: 'ubuntu-20.04'
|
||||
BuildConfiguration: ${{ variables.BuildConfiguration }}
|
||||
Workloads: ${{ variables.Workloads }}
|
||||
PublishFramework: ${{ variables.PublishFramework }}
|
||||
PublishProject: ${{ variables.PublishProject }}
|
||||
PublishRuntime: 'debian.8-x64'
|
||||
|
||||
- template: Publish-Bash.yml@templates
|
||||
parameters:
|
||||
name: 'Publish_macOS'
|
||||
vmImage: 'macOS-11'
|
||||
BuildConfiguration: ${{ variables.BuildConfiguration }}
|
||||
Workloads: ${{ variables.Workloads }}
|
||||
PublishFramework: ${{ variables.PublishFramework }}
|
||||
PublishProject: ${{ variables.PublishProject }}
|
||||
PublishRuntime: 'osx.10.12-x64'
|
|
@ -1,7 +0,0 @@
|
|||
:; 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" %*
|
69
build.ps1
69
build.ps1
|
@ -1,69 +0,0 @@
|
|||
[CmdletBinding()]
|
||||
Param(
|
||||
[Parameter(Position=0,Mandatory=$false,ValueFromRemainingArguments=$true)]
|
||||
[string[]]$BuildArguments
|
||||
)
|
||||
|
||||
Write-Output "PowerShell $($PSVersionTable.PSEdition) version $($PSVersionTable.PSVersion)"
|
||||
|
||||
Set-StrictMode -Version 2.0; $ErrorActionPreference = "Stop"; $ConfirmPreference = "None"; trap { Write-Error $_ -ErrorAction Continue; exit 1 }
|
||||
$PSScriptRoot = Split-Path $MyInvocation.MyCommand.Path -Parent
|
||||
|
||||
###########################################################################
|
||||
# CONFIGURATION
|
||||
###########################################################################
|
||||
|
||||
$BuildProjectFile = "$PSScriptRoot\build\build\_build.csproj"
|
||||
$TempDirectory = "$PSScriptRoot\\.nuke\temp"
|
||||
|
||||
$DotNetGlobalFile = "$PSScriptRoot\\global.json"
|
||||
$DotNetInstallUrl = "https://dot.net/v1/dotnet-install.ps1"
|
||||
$DotNetChannel = "Current"
|
||||
|
||||
$env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE = 1
|
||||
$env:DOTNET_CLI_TELEMETRY_OPTOUT = 1
|
||||
$env:DOTNET_MULTILEVEL_LOOKUP = 0
|
||||
|
||||
###########################################################################
|
||||
# EXECUTION
|
||||
###########################################################################
|
||||
|
||||
function ExecSafe([scriptblock] $cmd) {
|
||||
& $cmd
|
||||
if ($LASTEXITCODE) { exit $LASTEXITCODE }
|
||||
}
|
||||
|
||||
# If dotnet CLI is installed globally and it matches requested version, use for execution
|
||||
if ($null -ne (Get-Command "dotnet" -ErrorAction SilentlyContinue) -and `
|
||||
$(dotnet --version) -and $LASTEXITCODE -eq 0) {
|
||||
$env:DOTNET_EXE = (Get-Command "dotnet").Path
|
||||
}
|
||||
else {
|
||||
# Download install script
|
||||
$DotNetInstallFile = "$TempDirectory\dotnet-install.ps1"
|
||||
New-Item -ItemType Directory -Path $TempDirectory -Force | Out-Null
|
||||
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
|
||||
(New-Object System.Net.WebClient).DownloadFile($DotNetInstallUrl, $DotNetInstallFile)
|
||||
|
||||
# If global.json exists, load expected version
|
||||
if (Test-Path $DotNetGlobalFile) {
|
||||
$DotNetGlobal = $(Get-Content $DotNetGlobalFile | Out-String | ConvertFrom-Json)
|
||||
if ($DotNetGlobal.PSObject.Properties["sdk"] -and $DotNetGlobal.sdk.PSObject.Properties["version"]) {
|
||||
$DotNetVersion = $DotNetGlobal.sdk.version
|
||||
}
|
||||
}
|
||||
|
||||
# Install by channel or version
|
||||
$DotNetDirectory = "$TempDirectory\dotnet-win"
|
||||
if (!(Test-Path variable:DotNetVersion)) {
|
||||
ExecSafe { & powershell $DotNetInstallFile -InstallDir $DotNetDirectory -Channel $DotNetChannel -NoPath }
|
||||
} else {
|
||||
ExecSafe { & powershell $DotNetInstallFile -InstallDir $DotNetDirectory -Version $DotNetVersion -NoPath }
|
||||
}
|
||||
$env:DOTNET_EXE = "$DotNetDirectory\dotnet.exe"
|
||||
}
|
||||
|
||||
Write-Output "Microsoft (R) .NET Core SDK version $(& $env:DOTNET_EXE --version)"
|
||||
|
||||
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 }
|
62
build.sh
62
build.sh
|
@ -1,62 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
bash --version 2>&1 | head -n 1
|
||||
|
||||
set -eo pipefail
|
||||
SCRIPT_DIR=$(cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd)
|
||||
|
||||
###########################################################################
|
||||
# CONFIGURATION
|
||||
###########################################################################
|
||||
|
||||
BUILD_PROJECT_FILE="$SCRIPT_DIR/build/build/_build.csproj"
|
||||
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"
|
||||
|
||||
export DOTNET_CLI_TELEMETRY_OPTOUT=1
|
||||
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
|
||||
export DOTNET_MULTILEVEL_LOOKUP=0
|
||||
|
||||
###########################################################################
|
||||
# EXECUTION
|
||||
###########################################################################
|
||||
|
||||
function FirstJsonValue {
|
||||
perl -nle 'print $1 if m{"'"$1"'": "([^"]+)",?}' <<< "${@:2}"
|
||||
}
|
||||
|
||||
# If dotnet CLI is installed globally and it matches requested version, use for execution
|
||||
if [ -x "$(command -v dotnet)" ] && dotnet --version &>/dev/null; then
|
||||
export DOTNET_EXE="$(command -v dotnet)"
|
||||
else
|
||||
# Download install script
|
||||
DOTNET_INSTALL_FILE="$TEMP_DIRECTORY/dotnet-install.sh"
|
||||
mkdir -p "$TEMP_DIRECTORY"
|
||||
curl -Lsfo "$DOTNET_INSTALL_FILE" "$DOTNET_INSTALL_URL"
|
||||
chmod +x "$DOTNET_INSTALL_FILE"
|
||||
|
||||
# If global.json exists, load expected version
|
||||
if [[ -f "$DOTNET_GLOBAL_FILE" ]]; then
|
||||
DOTNET_VERSION=$(FirstJsonValue "version" "$(cat "$DOTNET_GLOBAL_FILE")")
|
||||
if [[ "$DOTNET_VERSION" == "" ]]; then
|
||||
unset DOTNET_VERSION
|
||||
fi
|
||||
fi
|
||||
|
||||
# Install by channel or version
|
||||
DOTNET_DIRECTORY="$TEMP_DIRECTORY/dotnet-unix"
|
||||
if [[ -z ${DOTNET_VERSION+x} ]]; then
|
||||
"$DOTNET_INSTALL_FILE" --install-dir "$DOTNET_DIRECTORY" --channel "$DOTNET_CHANNEL" --no-path
|
||||
else
|
||||
"$DOTNET_INSTALL_FILE" --install-dir "$DOTNET_DIRECTORY" --version "$DOTNET_VERSION" --no-path
|
||||
fi
|
||||
export DOTNET_EXE="$DOTNET_DIRECTORY/dotnet"
|
||||
fi
|
||||
|
||||
echo "Microsoft (R) .NET Core SDK version $("$DOTNET_EXE" --version)"
|
||||
|
||||
"$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 -- "$@"
|
|
@ -1,128 +0,0 @@
|
|||
using System.Collections.Generic;
|
||||
using Nuke.Common;
|
||||
using Nuke.Common.Git;
|
||||
using Nuke.Common.ProjectModel;
|
||||
using Nuke.Common.Tools.DotNet;
|
||||
using Nuke.Common.IO;
|
||||
using static Nuke.Common.IO.FileSystemTasks;
|
||||
using static Nuke.Common.IO.PathConstruction;
|
||||
using static Nuke.Common.Tools.DotNet.DotNetTasks;
|
||||
|
||||
class Build : NukeBuild
|
||||
{
|
||||
public static int Main() => Execute<Build>(x => x.Compile);
|
||||
|
||||
[Solution]
|
||||
readonly Solution Solution;
|
||||
|
||||
[GitRepository]
|
||||
readonly GitRepository GitRepository;
|
||||
|
||||
[Parameter("configuration")]
|
||||
public string Configuration { get; set; }
|
||||
|
||||
[Parameter("version-suffix")]
|
||||
public string VersionSuffix { get; set; }
|
||||
|
||||
[Parameter("publish-framework")]
|
||||
public string PublishFramework { get; set; }
|
||||
|
||||
[Parameter("publish-runtime")]
|
||||
public string PublishRuntime { get; set; }
|
||||
|
||||
[Parameter("publish-project")]
|
||||
public string PublishProject { get; set; }
|
||||
|
||||
[Parameter("publish-self-contained")]
|
||||
public bool PublishSelfContained { get; set; } = true;
|
||||
|
||||
AbsolutePath SourceDirectory => RootDirectory / "src";
|
||||
|
||||
AbsolutePath TestsDirectory => RootDirectory / "tests";
|
||||
|
||||
AbsolutePath ArtifactsDirectory => RootDirectory / "artifacts";
|
||||
|
||||
protected override void OnBuildInitialized()
|
||||
{
|
||||
Configuration = Configuration ?? "Release";
|
||||
VersionSuffix = VersionSuffix ?? "";
|
||||
}
|
||||
|
||||
private void DeleteDirectories(IReadOnlyCollection<string> directories)
|
||||
{
|
||||
foreach (var directory in directories)
|
||||
{
|
||||
DeleteDirectory(directory);
|
||||
}
|
||||
}
|
||||
|
||||
Target Clean => _ => _
|
||||
.Executes(() =>
|
||||
{
|
||||
DeleteDirectories(GlobDirectories(SourceDirectory, "**/bin", "**/obj"));
|
||||
DeleteDirectories(GlobDirectories(TestsDirectory, "**/bin", "**/obj"));
|
||||
EnsureCleanDirectory(ArtifactsDirectory);
|
||||
});
|
||||
|
||||
Target Restore => _ => _
|
||||
.DependsOn(Clean)
|
||||
.Executes(() =>
|
||||
{
|
||||
DotNetRestore(s => s
|
||||
.SetProjectFile(Solution));
|
||||
});
|
||||
|
||||
Target Compile => _ => _
|
||||
.DependsOn(Restore)
|
||||
.Executes(() =>
|
||||
{
|
||||
DotNetBuild(s => s
|
||||
.SetProjectFile(Solution)
|
||||
.SetConfiguration(Configuration)
|
||||
.SetVersionSuffix(VersionSuffix)
|
||||
.EnableNoRestore());
|
||||
});
|
||||
|
||||
Target Test => _ => _
|
||||
.DependsOn(Compile)
|
||||
.Executes(() =>
|
||||
{
|
||||
DotNetTest(s => s
|
||||
.SetProjectFile(Solution)
|
||||
.SetConfiguration(Configuration)
|
||||
.SetLoggers("trx")
|
||||
.SetResultsDirectory(ArtifactsDirectory / "TestResults")
|
||||
.EnableNoBuild()
|
||||
.EnableNoRestore());
|
||||
});
|
||||
|
||||
Target Pack => _ => _
|
||||
.DependsOn(Test)
|
||||
.Executes(() =>
|
||||
{
|
||||
DotNetPack(s => s
|
||||
.SetProject(Solution)
|
||||
.SetConfiguration(Configuration)
|
||||
.SetVersionSuffix(VersionSuffix)
|
||||
.SetOutputDirectory(ArtifactsDirectory / "NuGet")
|
||||
.EnableNoBuild()
|
||||
.EnableNoRestore());
|
||||
});
|
||||
|
||||
Target Publish => _ => _
|
||||
.DependsOn(Test)
|
||||
.Requires(() => PublishRuntime)
|
||||
.Requires(() => PublishFramework)
|
||||
.Requires(() => PublishProject)
|
||||
.Executes(() =>
|
||||
{
|
||||
DotNetPublish(s => s
|
||||
.SetProject(Solution.GetProject(PublishProject))
|
||||
.SetConfiguration(Configuration)
|
||||
.SetVersionSuffix(VersionSuffix)
|
||||
.SetFramework(PublishFramework)
|
||||
.SetRuntime(PublishRuntime)
|
||||
.SetSelfContained(PublishSelfContained)
|
||||
.SetOutput(ArtifactsDirectory / "Publish" / PublishProject + "-" + PublishFramework + "-" + PublishRuntime));
|
||||
});
|
||||
}
|
|
@ -1,22 +0,0 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>net7.0</TargetFramework>
|
||||
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
|
||||
<IsPackable>False</IsPackable>
|
||||
<NoWarn>CS0649;CS0169</NoWarn>
|
||||
<NukeTelemetryVersion>1</NukeTelemetryVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Nuke.Common" Version="5.3.0" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<NukeMetadata Include="**\*.json" Exclude="bin\**;obj\**" />
|
||||
<NukeExternalFiles Include="**\*.*.ext" Exclude="bin\**;obj\**" />
|
||||
<None Remove="*.ref;*.txt" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
Двоичные данные
icons.project
Двоичные данные
icons.project
Двоичный файл не отображается.
|
@ -1,12 +0,0 @@
|
|||
{
|
||||
"fileOptions": {
|
||||
"systemExcludeSearchPatterns": [
|
||||
"icon/**/*",
|
||||
"images/**/*",
|
||||
"scripts/**/*",
|
||||
"**/bin/**/*",
|
||||
"**/obj/**/*"
|
||||
],
|
||||
"excludeSearchPatterns": []
|
||||
}
|
||||
}
|
|
@ -1,29 +0,0 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk" ToolsVersion="15.0">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net7.0</TargetFramework>
|
||||
<OutputType>Library</OutputType>
|
||||
<GenerateAssemblyInfo>False</GenerateAssemblyInfo>
|
||||
<GenerateRuntimeConfigurationFiles>True</GenerateRuntimeConfigurationFiles>
|
||||
<IsPackable>False</IsPackable>
|
||||
<Nullable>enable</Nullable>
|
||||
<RootNamespace>NodeEditor.UnitTests</RootNamespace>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="xunit" Version="$(XUnitVersion)" />
|
||||
<PackageReference Include="xunit.abstractions" Version="$(XUnitAbstractionsVersion)" />
|
||||
<PackageReference Include="xunit.assert" Version="$(XUnitVersion)" />
|
||||
<PackageReference Include="xunit.core" Version="$(XUnitVersion)" />
|
||||
<PackageReference Include="xunit.extensibility.core" Version="$(XUnitVersion)" />
|
||||
<PackageReference Include="xunit.extensibility.execution" Version="$(XUnitVersion)" />
|
||||
<PackageReference Include="xunit.runner.console" Version="$(XUnitVersion)" />
|
||||
<PackageReference Include="xunit.runner.visualstudio" Version="$(XUnitVersion)" />
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="$(MicrosoftNETTestSdkVersion)" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\src\Core2D\Core2D.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
|
@ -1,6 +0,0 @@
|
|||
using System.Reflection;
|
||||
using Xunit;
|
||||
|
||||
[assembly: AssemblyTitle("Core2D.UnitTests.UnitTests")]
|
||||
|
||||
[assembly: CollectionBehavior(DisableTestParallelization = true)]
|
Загрузка…
Ссылка в новой задаче