diff --git a/dist/win/build.ps1 b/dist/win/build.ps1 index 19b04673d..c630fffdd 100644 --- a/dist/win/build.ps1 +++ b/dist/win/build.ps1 @@ -12,6 +12,9 @@ Param( [bool] $clean ) +[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 +$ProgressPreference = 'SilentlyContinue' # disables Invoke-WebRequest's progress bar, which slows down downloads to a few bytes/s + # check preconditions if ((Get-Command "git" -ErrorAction SilentlyContinue) -eq $null) { @@ -47,11 +50,28 @@ if ($clean -and (Test-Path -Path $runtimeImagePath)) { Remove-Item -Path $runtimeImagePath -Force -Recurse } +## download jfx jmods +$jfxJmodsChecksum = 'd00767334c43b8832b5cf10267d34ca8f563d187c4655b73eb6020dd79c054b5' +$jfxJmodsZip = '.\resources\jfxJmods.zip' +if( !(Test-Path -Path $jfxJmodsZip) ) { + $jmodsUrl = "https://download2.gluonhq.com/openjfx/20.0.1/openjfx-20.0.1_windows-x64_bin-jmods.zip" + Write-Output "Downloading ${jmodsUrl}..." + Invoke-WebRequest $jmodsUrl -OutFile $jfxJmodsZip # redirects are followed by default +} + +$jmodsChecksumActual = $(Get-FileHash -Path $jfxJmodsZip -Algorithm SHA256).Hash +if( $jmodsChecksumActual -ne $jfxJmodsChecksum ) { + Write-Error "Checksum mismatch for jfxJmods.zip. Expected: $jfxJmodsChecksum, actual: $jmodsChecksumActual" + exit 1; +} +Expand-Archive -Force -Path $jfxJmodsZip -DestinationPath ".\resources\" + + & "$Env:JAVA_HOME\bin\jlink" ` --verbose ` --output runtime ` - --module-path "$Env:JAVA_HOME/jmods" ` - --add-modules java.base,java.desktop,java.instrument,java.logging,java.naming,java.net.http,java.scripting,java.sql,java.xml,jdk.unsupported,jdk.crypto.ec,jdk.accessibility,jdk.management.jfr ` + --module-path "$Env:JAVA_HOME/jmods;$buildDir/resources/javafx-jmods-20.0.1" ` + --add-modules java.base,java.desktop,java.instrument,java.logging,java.naming,java.net.http,java.scripting,java.sql,java.xml,jdk.unsupported,jdk.crypto.ec,jdk.accessibility,jdk.management.jfr,javafx.base,javafx.graphics,javafx.controls,javafx.fxml ` --strip-native-commands ` --no-header-files ` --no-man-pages ` @@ -151,8 +171,6 @@ $Env:JP_WIXWIZARD_RESOURCES = "$buildDir\resources" "-Dlicense.licenseMergesUrl=file:///$buildDir/../../license/merges" # download Winfsp -[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 -$ProgressPreference = 'SilentlyContinue' # disables Invoke-WebRequest's progress bar, which slows down downloads to a few bytes/s $winfspMsiUrl= (Select-String -Path ".\bundle\resources\winFspMetaData.wxi" -Pattern '<\?define BundledWinFspDownloadLink="(.+)".*?>').Matches.Groups[1].Value Write-Output "Downloading ${winfspMsiUrl}..." Invoke-WebRequest $winfspMsiUrl -OutFile ".\bundle\resources\winfsp.msi" # redirects are followed by default