-
-
Notifications
You must be signed in to change notification settings - Fork 23
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #89 from tomvanenckevort/upgrade-jint-v3
Upgraded to Jint v3
- Loading branch information
Showing
47 changed files
with
1,701 additions
and
664 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -194,3 +194,6 @@ pip-log.txt | |
|
||
# Mac crap | ||
.DS_Store | ||
|
||
# Nuke build tool | ||
.nuke/temp |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,134 @@ | ||
{ | ||
"$schema": "http://json-schema.org/draft-04/schema#", | ||
"title": "Build Schema", | ||
"$ref": "#/definitions/build", | ||
"definitions": { | ||
"build": { | ||
"type": "object", | ||
"properties": { | ||
"Configuration": { | ||
"type": "string", | ||
"description": "Configuration to build - Default is 'Debug' (local) or 'Release' (server)", | ||
"enum": [ | ||
"Debug", | ||
"Release" | ||
] | ||
}, | ||
"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", | ||
"Bitbucket", | ||
"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" | ||
} | ||
}, | ||
"ReleaseNotesFilePath": { | ||
"type": "string", | ||
"description": "ReleaseNotesFilePath - To determine the SemanticVersion" | ||
}, | ||
"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", | ||
"CopyFiles", | ||
"CreatePackage", | ||
"Default", | ||
"Package", | ||
"PrePublish", | ||
"Publish", | ||
"PublishPackage", | ||
"PublishPreRelease", | ||
"PublishRelease", | ||
"Restore", | ||
"RunUnitTests" | ||
] | ||
} | ||
}, | ||
"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", | ||
"CopyFiles", | ||
"CreatePackage", | ||
"Default", | ||
"Package", | ||
"PrePublish", | ||
"Publish", | ||
"PublishPackage", | ||
"PublishPreRelease", | ||
"PublishRelease", | ||
"Restore", | ||
"RunUnitTests" | ||
] | ||
} | ||
}, | ||
"Verbosity": { | ||
"type": "string", | ||
"description": "Logging verbosity during build execution. Default is 'Normal'", | ||
"enum": [ | ||
"Minimal", | ||
"Normal", | ||
"Quiet", | ||
"Verbose" | ||
] | ||
} | ||
} | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
{ | ||
"$schema": "./build.schema.json", | ||
"Solution": "src/AngleSharp.Js.sln" | ||
} |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +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" %* |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,81 +1,69 @@ | ||
[CmdletBinding()] | ||
Param( | ||
[string]$Script = "build.cake", | ||
[string]$Target = "Default", | ||
[ValidateSet("Release", "Debug")] | ||
[string]$Configuration = "Release", | ||
[ValidateSet("Quiet", "Minimal", "Normal", "Verbose", "Diagnostic")] | ||
[string]$Verbosity = "Verbose", | ||
[switch]$Experimental, | ||
[switch]$WhatIf, | ||
[switch]$Mono, | ||
[switch]$SkipToolPackageRestore, | ||
[Parameter(Position=0,Mandatory=$false,ValueFromRemainingArguments=$true)] | ||
[string[]]$ScriptArgs | ||
[string[]]$BuildArguments | ||
) | ||
|
||
$PSScriptRoot = split-path -parent $MyInvocation.MyCommand.Definition; | ||
$UseDryRun = ""; | ||
$UseMono = ""; | ||
$TOOLS_DIR = Join-Path $PSScriptRoot "tools" | ||
$NUGET_EXE = Join-Path $TOOLS_DIR "nuget.exe" | ||
$NUGET_OLD_EXE = Join-Path $TOOLS_DIR "nuget_old.exe" | ||
$CAKE_EXE = Join-Path $TOOLS_DIR "Cake/Cake.exe" | ||
$NUGET_URL = "https://dist.nuget.org/win-x86-commandline/latest/nuget.exe" | ||
$NUGET_OLD_URL = "https://dist.nuget.org/win-x86-commandline/v3.5.0/nuget.exe" | ||
Write-Output "PowerShell $($PSVersionTable.PSEdition) version $($PSVersionTable.PSVersion)" | ||
|
||
# Should we use experimental build of Roslyn? | ||
$UseExperimental = ""; | ||
if ($Experimental.IsPresent) { | ||
$UseExperimental = "--experimental" | ||
} | ||
Set-StrictMode -Version 2.0; $ErrorActionPreference = "Stop"; $ConfirmPreference = "None"; trap { Write-Error $_ -ErrorAction Continue; exit 1 } | ||
$PSScriptRoot = Split-Path $MyInvocation.MyCommand.Path -Parent | ||
|
||
# Is this a dry run? | ||
if ($WhatIf.IsPresent) { | ||
$UseDryRun = "--dryrun" | ||
} | ||
########################################################################### | ||
# CONFIGURATION | ||
########################################################################### | ||
|
||
# Should we use mono? | ||
if ($Mono.IsPresent) { | ||
$UseMono = "--mono" | ||
} | ||
$BuildProjectFile = "$PSScriptRoot\nuke\_build.csproj" | ||
$TempDirectory = "$PSScriptRoot\\.nuke\temp" | ||
|
||
# Try download NuGet.exe if do not exist. | ||
if (!(Test-Path $NUGET_EXE)) { | ||
(New-Object System.Net.WebClient).DownloadFile($NUGET_URL, $NUGET_EXE) | ||
} | ||
$DotNetGlobalFile = "$PSScriptRoot\\global.json" | ||
$DotNetInstallUrl = "https://dot.net/v1/dotnet-install.ps1" | ||
$DotNetChannel = "Current" | ||
|
||
# Try download NuGet.exe if do not exist. | ||
if (!(Test-Path $NUGET_OLD_URL)) { | ||
(New-Object System.Net.WebClient).DownloadFile($NUGET_OLD_URL, $NUGET_OLD_EXE) | ||
} | ||
$env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE = 1 | ||
$env:DOTNET_CLI_TELEMETRY_OPTOUT = 1 | ||
$env:DOTNET_MULTILEVEL_LOOKUP = 0 | ||
|
||
# Make sure NuGet (latest) exists where we expect it. | ||
if (!(Test-Path $NUGET_EXE)) { | ||
Throw "Could not find nuget.exe" | ||
########################################################################### | ||
# EXECUTION | ||
########################################################################### | ||
|
||
function ExecSafe([scriptblock] $cmd) { | ||
& $cmd | ||
if ($LASTEXITCODE) { exit $LASTEXITCODE } | ||
} | ||
|
||
# Make sure NuGet (v3.5.0) exists where we expect it. | ||
if (!(Test-Path $NUGET_OLD_EXE)) { | ||
Throw "Could not find nuget_old.exe" | ||
# 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) | ||
|
||
# Restore tools from NuGet? | ||
if (-Not $SkipToolPackageRestore.IsPresent) | ||
{ | ||
Push-Location | ||
Set-Location $TOOLS_DIR | ||
Invoke-Expression "$NUGET_EXE install -ExcludeVersion" | ||
Pop-Location | ||
if ($LASTEXITCODE -ne 0) { | ||
exit $LASTEXITCODE | ||
# 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 | ||
} | ||
} | ||
} | ||
|
||
# Make sure that Cake has been installed. | ||
if (!(Test-Path $CAKE_EXE)) { | ||
Throw "Could not find Cake.exe" | ||
# 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" | ||
} | ||
|
||
# Start Cake | ||
Invoke-Expression "$CAKE_EXE `"$Script`" --target=`"$Target`" --configuration=`"$Configuration`" --verbosity=`"$Verbosity`" $UseMono $UseDryRun $UseExperimental $ScriptArgs" | ||
exit $LASTEXITCODE | ||
Write-Output "Microsoft (R) .NET 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 } |
Oops, something went wrong.