Skip to content

Commit

Permalink
[build] improve jpackage configuration
Browse files Browse the repository at this point in the history
- use full os name-arch for in jlink artifacts
- configure all matching artifacts for release
- configure homebrew for bisqfx distribution
- update early-access workflow with override properties
  • Loading branch information
aalmiray committed Jul 27, 2021
1 parent 97d0b0c commit bd91d64
Show file tree
Hide file tree
Showing 3 changed files with 91 additions and 24 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/early-access.yml
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,8 @@ jobs:
uses: jreleaser/release-action@v1
with:
version: early-access
# override {{artifactsDir}}
arguments: full-release -p artifactsDir=artifacts
env:
JRELEASER_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
JRELEASER_GPG_PASSPHRASE: ${{ secrets.CI_SIGNING_PASSPHRASE }}
Expand Down
11 changes: 5 additions & 6 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ if (version.matches("v\\d+\\.\\d+\\.\\d+.*")) {
ext.appVersion = version.substring(0,5) // strip labels and return x.y.z
}

ext.platform = osdetector.os == 'osx' ? 'mac' : osdetector.os == 'windows' ? 'win' : osdetector.os
ext.platform = "${osdetector.os}-${osdetector.arch}"

configure(subprojects) {
apply plugin: 'java-library'
Expand Down Expand Up @@ -215,20 +215,19 @@ configure(project(':app:fx')) {
}

jpackage {
def currentOs = org.gradle.internal.os.OperatingSystem.current()
def imgType = currentOs.windows ? 'ico' : currentOs.macOsX ? 'icns' : 'png'
def imgType = osdetector.os == 'windows' ? 'ico' : osdetector.os == 'osx' ? 'icns' : 'png'
imageName = 'bisqfx'
installerName = 'bisqfx'
appVersion = rootProject.appVersion
imageOptions += ['--icon', "src/main/jpackage/icons/bisqfx.$imgType"]
installerOptions += ['--resource-dir', "src/main/resources"]
installerOptions += ['--vendor', 'Bisq']

if (currentOs.windows) {
if (osdetector.os == 'windows') {
installerOptions += ['--win-per-user-install', '--win-dir-chooser', '--win-menu', '--win-shortcut']
} else if (currentOs.linux) {
} else if (osdetector.os == 'linux') {
installerOptions += ['--linux-package-name', 'bisqfx', '--linux-shortcut']
} else if (currentOs.macOsX) {
} else if (osdetector.os == 'osx') {
installerOptions += ['--mac-package-name', 'bisqfx']
if (project.hasProperty(javafxSdkProperty))
jvmArgs += "--module-path=${project.getProperty(javafxSdkProperty)}/lib"
Expand Down
102 changes: 84 additions & 18 deletions jreleaser.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
environment:
properties:
artifactsDir: app

project:
# Fix this value for the time being
version: 2.0.0-early-access
Expand Down Expand Up @@ -95,42 +99,104 @@ distributions:
java:
mainClass: bisq.app.daemon.BisqDaemon
artifacts:
- path: artifacts/daemon/build/distributions/{{distributionName}}-mac.zip
#- path: '{{artifactsDir}}/daemon/build/jpackage/{{distributionName}}-{{projectVersionNumber}}.dmg'
# transform: '{{distributionName}}/{{distributionName}}-{{projectEffectiveVersion}}.dmg'
# platform: 'osx-x86_64'
- path: '{{artifactsDir}}/daemon/build/jpackage/{{distributionName}}-{{projectVersionNumber}}.pkg'
transform: '{{distributionName}}/{{distributionName}}-{{projectEffectiveVersion}}.pkg'
platform: 'osx-x86_64'
- path: '{{artifactsDir}}/daemon/build/jpackage/{{distributionName}}-{{projectVersionNumber}}.msi'
transform: '{{distributionName}}/{{distributionName}}-{{projectEffectiveVersion}}.msi'
platform: 'windows-x86_64'
- path: '{{artifactsDir}}/daemon/build/jpackage/{{distributionName}}-{{projectVersionNumber}}.exe'
transform: '{{distributionName}}/{{distributionName}}-{{projectEffectiveVersion}}.exe'
platform: 'windows-x86_64'
- path: '{{artifactsDir}}/daemon/build/jpackage/{{distributionName}}-{{projectVersionNumber}}-1.x86_64.rpm'
transform: '{{distributionName}}/{{distributionName}}-{{projectEffectiveVersion}}-1.x86_64.rpm'
platform: 'linux-x86_64'
- path: '{{artifactsDir}}/daemon/build/jpackage/{{distributionName}}-{{projectVersionNumber}}-1_amd64.deb'
transform: '{{distributionName}}/{{distributionName}}-{{projectEffectiveVersion}}-1_amd64.deb'
platform: 'linux-x86_64'
- path: '{{artifactsDir}}/daemon/build/distributions/{{distributionName}}-osx-x86_64.zip'
transform: '{{distributionName}}/{{distributionName}}-{{projectEffectiveVersion}}-osx-x86_64.zip'
platform: osx-x86_64
- path: artifacts/daemon/build/distributions/{{distributionName}}-win.zip
platform: 'osx-x86_64'
- path: '{{artifactsDir}}/daemon/build/distributions/{{distributionName}}-windows-x86_64.zip'
transform: '{{distributionName}}/{{distributionName}}-{{projectEffectiveVersion}}-windows-x86_64.zip'
platform: windows-x86_64
- path: artifacts/daemon/build/distributions/{{distributionName}}-linux.zip
platform: 'windows-x86_64'
- path: '{{artifactsDir}}/daemon/build/distributions/{{distributionName}}-linux-x86_64.zip'
transform: '{{distributionName}}/{{distributionName}}-{{projectEffectiveVersion}}-linux-x86_64.zip'
platform: linux-x86_64
platform: 'linux-x86_64'

bisq:
type: JLINK
java:
mainClass: bisq.app.cli.BisqCLI
artifacts:
- path: artifacts/cli/build/distributions/{{distributionName}}-mac.zip
#- path: '{{artifactsDir}}/cli/build/jpackage/{{distributionName}}-{{projectVersionNumber}}.dmg'
# transform: '{{distributionName}}/{{distributionName}}-{{projectEffectiveVersion}}.dmg'
# platform: 'osx-x86_64'
- path: '{{artifactsDir}}/cli/build/jpackage/{{distributionName}}-{{projectVersionNumber}}.pkg'
transform: '{{distributionName}}/{{distributionName}}-{{projectEffectiveVersion}}.pkg'
platform: 'osx-x86_64'
- path: '{{artifactsDir}}/cli/build/jpackage/{{distributionName}}-{{projectVersionNumber}}.msi'
transform: '{{distributionName}}/{{distributionName}}-{{projectEffectiveVersion}}.msi'
platform: 'windows-x86_64'
- path: '{{artifactsDir}}/cli/build/jpackage/{{distributionName}}-{{projectVersionNumber}}.exe'
transform: '{{distributionName}}/{{distributionName}}-{{projectEffectiveVersion}}.exe'
platform: 'windows-x86_64'
- path: '{{artifactsDir}}/cli/build/jpackage/{{distributionName}}-{{projectVersionNumber}}-1.x86_64.rpm'
transform: '{{distributionName}}/{{distributionName}}-{{projectEffectiveVersion}}-1.x86_64.rpm'
platform: 'linux-x86_64'
- path: '{{artifactsDir}}/cli/build/jpackage/{{distributionName}}-{{projectVersionNumber}}-1_amd64.deb'
transform: '{{distributionName}}/{{distributionName}}-{{projectEffectiveVersion}}-1_amd64.deb'
platform: 'linux-x86_64'
- path: '{{artifactsDir}}/cli/build/distributions/{{distributionName}}-osx-x86_64.zip'
transform: '{{distributionName}}/{{distributionName}}-{{projectEffectiveVersion}}-osx-x86_64.zip'
platform: osx-x86_64
- path: artifacts/cli/build/distributions/{{distributionName}}-win.zip
platform: 'osx-x86_64'
- path: '{{artifactsDir}}/cli/build/distributions/{{distributionName}}-windows-x86_64.zip'
transform: '{{distributionName}}/{{distributionName}}-{{projectEffectiveVersion}}-windows-x86_64.zip'
platform: windows-x86_64
- path: artifacts/cli/build/distributions/{{distributionName}}-linux.zip
platform: 'windows-x86_64'
- path: '{{artifactsDir}}/cli/build/distributions/{{distributionName}}-linux-x86_64.zip'
transform: '{{distributionName}}/{{distributionName}}-{{projectEffectiveVersion}}-linux-x86_64.zip'
platform: linux-x86_64
platform: 'linux-x86_64'

bisqfx:
type: JLINK
brew:
active: always
cask:
enabled: true
java:
mainClass: bisq.app.fx.BisqFX
artifacts:
- path: artifacts/fx/build/distributions/{{distributionName}}-mac.zip
- path: '{{artifactsDir}}/fx/build/jpackage/{{distributionName}}-{{projectVersionNumber}}.dmg'
transform: '{{distributionName}}/{{distributionName}}-{{projectEffectiveVersion}}.dmg'
platform: 'osx-x86_64'
#- path: '{{artifactsDir}}/fx/build/jpackage/{{distributionName}}-{{projectVersionNumber}}.pkg'
# transform: '{{distributionName}}/{{distributionName}}-{{projectEffectiveVersion}}.pkg'
# platform: 'osx-x86_64'
- path: '{{artifactsDir}}/fx/build/jpackage/{{distributionName}}-{{projectVersionNumber}}.msi'
transform: '{{distributionName}}/{{distributionName}}-{{projectEffectiveVersion}}.msi'
platform: 'windows-x86_64'
- path: '{{artifactsDir}}/fx/build/jpackage/{{distributionName}}-{{projectVersionNumber}}.exe'
transform: '{{distributionName}}/{{distributionName}}-{{projectEffectiveVersion}}.exe'
platform: 'windows-x86_64'
- path: '{{artifactsDir}}/fx/build/jpackage/{{distributionName}}-{{projectVersionNumber}}-1.x86_64.rpm'
transform: '{{distributionName}}/{{distributionName}}-{{projectEffectiveVersion}}-1.x86_64.rpm'
platform: 'linux-x86_64'
- path: '{{artifactsDir}}/fx/build/jpackage/{{distributionName}}-{{projectVersionNumber}}-1_amd64.deb'
transform: '{{distributionName}}/{{distributionName}}-{{projectEffectiveVersion}}-1_amd64.deb'
platform: 'linux-x86_64'
- path: '{{artifactsDir}}/fx/build/distributions/{{distributionName}}-osx-x86_64.zip'
transform: '{{distributionName}}/{{distributionName}}-{{projectEffectiveVersion}}-osx-x86_64.zip'
platform: osx-x86_64
- path: artifacts/fx/build/distributions/{{distributionName}}-win.zip
platform: 'osx-x86_64'
extraProperties:
skipBrew: true
- path: '{{artifactsDir}}/fx/build/distributions/{{distributionName}}-windows-x86_64.zip'
transform: '{{distributionName}}/{{distributionName}}-{{projectEffectiveVersion}}-windows-x86_64.zip'
platform: windows-x86_64
- path: artifacts/fx/build/distributions/{{distributionName}}-linux.zip
platform: 'windows-x86_64'
- path: '{{artifactsDir}}/fx/build/distributions/{{distributionName}}-linux-x86_64.zip'
transform: '{{distributionName}}/{{distributionName}}-{{projectEffectiveVersion}}-linux-x86_64.zip'
platform: linux-x86_64
platform: 'linux-x86_64'
extraProperties:
skipBrew: true

0 comments on commit bd91d64

Please sign in to comment.