Skip to content

Commit

Permalink
Gradle: Centralize application setup
Browse files Browse the repository at this point in the history
  • Loading branch information
alvasw committed Aug 5, 2023
1 parent 4639951 commit 9ce8f83
Show file tree
Hide file tree
Showing 7 changed files with 6 additions and 77 deletions.
2 changes: 1 addition & 1 deletion apitest/build.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
plugins {
id 'bisq.java-conventions'
id 'bisq.application'
}

mainClassName = 'bisq.apitest.ApiTestMain'
Expand Down
71 changes: 0 additions & 71 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -19,77 +19,6 @@ configure(rootProject) {
}
}

configure([project(':cli'),
project(':daemon'),
project(':desktop'),
project(':seednode'),
project(':statsnode'),
project(':apitest')]) {

apply plugin: 'application'

build.dependsOn installDist
installDist.destinationDir = file('build/app')
distZip.enabled = false
distTar.enabled = false

// the 'installDist' and 'startScripts' blocks below configure bisq executables to put
// generated shell scripts in the root project directory, such that users can easily
// discover and invoke e.g. ./bisq-desktop, ./bisq-seednode, etc.
// See https://stackoverflow.com/q/46327736 for details.

installDist {
doLast {
// copy generated shell scripts, e.g. `bisq-desktop` directly to the project
// root directory for discoverability and ease of use

copy {
from "$destinationDir/bin"
into rootProject.projectDir
}
// copy libs required for generated shell script classpaths to 'lib' dir under
// the project root directory
copy {
from "$destinationDir/lib"
into "${rootProject.projectDir}/lib"
}

// edit generated shell scripts such that they expect to be executed in the
// project root dir as opposed to a 'bin' subdirectory
def windowsScriptFile = file("${rootProject.projectDir}/bisq-${applicationName}.bat")
windowsScriptFile.text = windowsScriptFile.text.replace(
'set APP_HOME=%DIRNAME%..', 'set APP_HOME=%DIRNAME%')

def unixScriptFile = file("${rootProject.projectDir}/bisq-$applicationName")
unixScriptFile.text = unixScriptFile.text.replace(
'APP_HOME=$( cd "${APP_HOME:-./}.." && pwd -P ) || exit', 'APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit')

if (applicationName == 'desktop') {
def script = file("${rootProject.projectDir}/bisq-$applicationName")
script.text = script.text.replace(
'DEFAULT_JVM_OPTS=""', 'DEFAULT_JVM_OPTS="-XX:MaxRAM=8g -Xss1280k -XX:+UseG1GC ' +
'-XX:MaxHeapFreeRatio=10 -XX:MinHeapFreeRatio=5 -XX:+UseStringDeduplication ' +
'-Djava.net.preferIPv4Stack=true"')
}

if (applicationName == 'apitest') {
// Pass the logback config file as a system property to avoid chatty
// logback startup due to multiple logback.xml files in the classpath
// (:daemon & :cli).
def script = file("${rootProject.projectDir}/bisq-$applicationName")
script.text = script.text.replace(
'DEFAULT_JVM_OPTS=""', 'DEFAULT_JVM_OPTS="' +
'-Dlogback.configurationFile=apitest/build/resources/main/logback.xml"')
}
}
}

startScripts {
// rename scripts from, e.g. `desktop` to `bisq-desktop`
applicationName = "bisq-$applicationName"
}
}

if (hasProperty('buildScan')) {
buildScan {
termsOfServiceUrl = 'https://gradle.com/terms-of-service'
Expand Down
2 changes: 1 addition & 1 deletion cli/build.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
plugins {
id 'bisq.java-conventions'
id 'bisq.application'
}

distTar.enabled = true
Expand Down
2 changes: 1 addition & 1 deletion daemon/build.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
plugins {
id 'bisq.java-conventions'
id 'bisq.application'
}

distTar.enabled = true
Expand Down
2 changes: 1 addition & 1 deletion desktop/build.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
plugins {
id 'bisq.java-conventions'
id 'bisq.application'
id 'bisq.javafx'
}

Expand Down
2 changes: 1 addition & 1 deletion seednode/build.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
plugins {
id 'bisq.java-conventions'
id 'bisq.application'
}

mainClassName = 'bisq.seednode.SeedNodeMain'
Expand Down
2 changes: 1 addition & 1 deletion statsnode/build.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
plugins {
id 'bisq.java-conventions'
id 'bisq.application'
}

mainClassName = 'bisq.statistics.StatisticsMain'
Expand Down

0 comments on commit 9ce8f83

Please sign in to comment.