2018-11-04 16:55:33 +01:00
|
|
|
buildscript {
|
|
|
|
repositories {
|
|
|
|
jcenter()
|
|
|
|
}
|
|
|
|
dependencies {
|
|
|
|
classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.5'
|
|
|
|
classpath 'com.google.gradle:osdetector-gradle-plugin:1.6.0'
|
2018-11-14 07:55:21 +01:00
|
|
|
classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.2'
|
2018-11-04 17:37:32 +01:00
|
|
|
classpath files('gradle/witness/gradle-witness.jar')
|
2018-11-04 17:57:00 +01:00
|
|
|
classpath 'org.springframework.boot:spring-boot-gradle-plugin:1.5.10.RELEASE'
|
2018-11-04 16:55:33 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
Generate scripts for Bisq executables in root dir
This change configures the Gradle build to generate "start scripts" for
each Bisq executable (e.g. Bisq Desktop, Bisq Seednode, etc) in the root
project directory, such that after invoking `./gradle build`, the
following executable scripts become available:
~/Work/bisq-network/bisq
$ ls -1 | egrep '(bisq*|lib)'
bisq-desktop
bisq-desktop.bat
bisq-monitor
bisq-monitor.bat
bisq-relay
bisq-relay.bat
bisq-seednode
bisq-seednode.bat
bisq-statsnode
bisq-statsnode.bat
lib
This makes it possible for users (developers) to easily discover and use
these scripts in an idiomatic and platform-agnostic way as opposed to
the previous situation where we would advise users to run e.g.
java -jar desktop/build/libs/desktop-0.8.0-SNAPSHOT-all.jar
This approach works, but is cumbersome and focuses unnecessarily on the
Java-based nature of the project. Now, with the changes in this commit,
the user would simply run:
./bisq-desktop
The 'lib' directory shown above contains all the jar files necessary to
construct classpaths for these various scripts. The 'cleanInstallDist'
task deletes the 'bisq-*' files and the 'lib' directory, and the default
'clean' task has been configured to depend on the 'cleanInstallDist'
task to ensure this cleanup happens automatically when most users would
expect it.
In the future, these same scripts can be used when installing Bisq
executables properly on users' systems via package managers like Brew
and Apt. The goal is to have the user experience around running
`bisq-desktop` (and more importantly, the forthcoming `bisqd`) be
similar in every way to installing and using `bitcoind`, `lnd` and other
idiomatic *nix-style utilities, be they Bitcoin-related or not.
See the changes in docs/build.md and docs/dev-setup.md for a further
sense of the how this change impacts the developer experience.
2018-11-23 14:33:44 +01:00
|
|
|
configure(rootProject) {
|
|
|
|
// remove the 'bisq-*' scripts and 'lib' dir generated by the 'installDist' task
|
|
|
|
task clean {
|
|
|
|
doLast {
|
|
|
|
delete fileTree(dir: rootProject.projectDir, include: 'bisq-*'), 'lib'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2018-11-04 18:43:20 +01:00
|
|
|
|
2018-11-04 16:27:52 +01:00
|
|
|
configure(subprojects) {
|
2018-11-04 13:40:00 +01:00
|
|
|
apply plugin: 'java'
|
2018-11-04 18:16:07 +01:00
|
|
|
apply plugin: 'com.google.osdetector'
|
|
|
|
|
2018-11-04 13:40:00 +01:00
|
|
|
sourceCompatibility = 1.10
|
2018-11-04 18:41:56 +01:00
|
|
|
|
2018-11-04 18:16:07 +01:00
|
|
|
ext {
|
2018-11-04 18:41:56 +01:00
|
|
|
bcVersion = '1.56'
|
|
|
|
codecVersion = '1.9'
|
|
|
|
easyVersion = '4.0.1'
|
|
|
|
jmockitVersion = '1.42'
|
|
|
|
joptVersion = '5.0.3'
|
|
|
|
langVersion = '3.4'
|
2018-12-06 02:22:58 +01:00
|
|
|
libdohjVersion = '7be803fa'
|
2018-12-29 11:37:48 +01:00
|
|
|
logbackVersion = '1.1.10'
|
2018-11-04 18:41:56 +01:00
|
|
|
lombokVersion = '1.18.2'
|
|
|
|
mockitoVersion = '2.21.0'
|
|
|
|
powermockVersion = '2.0.0-beta.5'
|
|
|
|
protobufVersion = '3.5.1'
|
2018-12-29 11:37:48 +01:00
|
|
|
slf4jVersion = '1.7.22'
|
2018-11-04 18:41:56 +01:00
|
|
|
sparkVersion = '2.5.2'
|
|
|
|
springVersion = '4.3.6.RELEASE'
|
|
|
|
|
2018-11-04 18:16:07 +01:00
|
|
|
os = osdetector.os == 'osx' ? 'mac' : osdetector.os == 'windows' ? 'win' : osdetector.os
|
|
|
|
}
|
2018-11-04 14:06:23 +01:00
|
|
|
|
|
|
|
repositories {
|
2018-11-07 17:58:26 +01:00
|
|
|
mavenCentral()
|
2018-11-04 14:06:23 +01:00
|
|
|
maven { url 'https://jitpack.io' }
|
2019-01-03 14:18:57 +01:00
|
|
|
maven { url 'https://raw.githubusercontent.com/JesusMcCloud/tor-binary/8.0.3/release/' }
|
2018-11-04 14:06:23 +01:00
|
|
|
}
|
2018-11-04 14:14:56 +01:00
|
|
|
|
2018-11-04 18:41:56 +01:00
|
|
|
dependencies {
|
|
|
|
testCompile 'junit:junit:4.12'
|
|
|
|
}
|
|
|
|
|
2018-11-04 14:14:56 +01:00
|
|
|
tasks.withType(JavaCompile) {
|
|
|
|
options.encoding = 'UTF-8'
|
|
|
|
}
|
2018-11-04 13:40:00 +01:00
|
|
|
}
|
2018-11-04 16:27:52 +01:00
|
|
|
|
2018-11-04 18:43:20 +01:00
|
|
|
|
2018-11-04 16:27:52 +01:00
|
|
|
configure([project(':desktop'),
|
|
|
|
project(':monitor'),
|
|
|
|
project(':relay'),
|
|
|
|
project(':seednode'),
|
|
|
|
project(':statsnode')]) {
|
Generate scripts for Bisq executables in root dir
This change configures the Gradle build to generate "start scripts" for
each Bisq executable (e.g. Bisq Desktop, Bisq Seednode, etc) in the root
project directory, such that after invoking `./gradle build`, the
following executable scripts become available:
~/Work/bisq-network/bisq
$ ls -1 | egrep '(bisq*|lib)'
bisq-desktop
bisq-desktop.bat
bisq-monitor
bisq-monitor.bat
bisq-relay
bisq-relay.bat
bisq-seednode
bisq-seednode.bat
bisq-statsnode
bisq-statsnode.bat
lib
This makes it possible for users (developers) to easily discover and use
these scripts in an idiomatic and platform-agnostic way as opposed to
the previous situation where we would advise users to run e.g.
java -jar desktop/build/libs/desktop-0.8.0-SNAPSHOT-all.jar
This approach works, but is cumbersome and focuses unnecessarily on the
Java-based nature of the project. Now, with the changes in this commit,
the user would simply run:
./bisq-desktop
The 'lib' directory shown above contains all the jar files necessary to
construct classpaths for these various scripts. The 'cleanInstallDist'
task deletes the 'bisq-*' files and the 'lib' directory, and the default
'clean' task has been configured to depend on the 'cleanInstallDist'
task to ensure this cleanup happens automatically when most users would
expect it.
In the future, these same scripts can be used when installing Bisq
executables properly on users' systems via package managers like Brew
and Apt. The goal is to have the user experience around running
`bisq-desktop` (and more importantly, the forthcoming `bisqd`) be
similar in every way to installing and using `bitcoind`, `lnd` and other
idiomatic *nix-style utilities, be they Bitcoin-related or not.
See the changes in docs/build.md and docs/dev-setup.md for a further
sense of the how this change impacts the developer experience.
2018-11-23 14:33:44 +01:00
|
|
|
|
2018-11-04 16:27:52 +01:00
|
|
|
apply plugin: 'application'
|
|
|
|
|
|
|
|
build.dependsOn installDist
|
|
|
|
installDist.destinationDir = file('build/app')
|
|
|
|
distZip.enabled = false
|
Generate scripts for Bisq executables in root dir
This change configures the Gradle build to generate "start scripts" for
each Bisq executable (e.g. Bisq Desktop, Bisq Seednode, etc) in the root
project directory, such that after invoking `./gradle build`, the
following executable scripts become available:
~/Work/bisq-network/bisq
$ ls -1 | egrep '(bisq*|lib)'
bisq-desktop
bisq-desktop.bat
bisq-monitor
bisq-monitor.bat
bisq-relay
bisq-relay.bat
bisq-seednode
bisq-seednode.bat
bisq-statsnode
bisq-statsnode.bat
lib
This makes it possible for users (developers) to easily discover and use
these scripts in an idiomatic and platform-agnostic way as opposed to
the previous situation where we would advise users to run e.g.
java -jar desktop/build/libs/desktop-0.8.0-SNAPSHOT-all.jar
This approach works, but is cumbersome and focuses unnecessarily on the
Java-based nature of the project. Now, with the changes in this commit,
the user would simply run:
./bisq-desktop
The 'lib' directory shown above contains all the jar files necessary to
construct classpaths for these various scripts. The 'cleanInstallDist'
task deletes the 'bisq-*' files and the 'lib' directory, and the default
'clean' task has been configured to depend on the 'cleanInstallDist'
task to ensure this cleanup happens automatically when most users would
expect it.
In the future, these same scripts can be used when installing Bisq
executables properly on users' systems via package managers like Brew
and Apt. The goal is to have the user experience around running
`bisq-desktop` (and more importantly, the forthcoming `bisqd`) be
similar in every way to installing and using `bitcoind`, `lnd` and other
idiomatic *nix-style utilities, be they Bitcoin-related or not.
See the changes in docs/build.md and docs/dev-setup.md for a further
sense of the how this change impacts the developer experience.
2018-11-23 14:33:44 +01:00
|
|
|
|
|
|
|
// 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
|
2018-11-26 15:24:06 +01:00
|
|
|
|
|
|
|
// TODO @cbeams The copy task below fails because the copied files are conflicting with the project
|
|
|
|
// folder name. I temporarily delete those files as I think they are duplicated anyway (bisq-* are probably
|
|
|
|
// the one to use). Would be good if those files don't get created in the first place.
|
|
|
|
// The .bat files are also deleted.
|
|
|
|
delete fileTree(dir: "$destinationDir/bin", include: 'desktop*')
|
|
|
|
delete fileTree(dir: "$destinationDir/bin", include: 'monitor*')
|
|
|
|
delete fileTree(dir: "$destinationDir/bin", include: 'seednode*')
|
|
|
|
delete fileTree(dir: "$destinationDir/bin", include: 'pricenode*')
|
|
|
|
delete fileTree(dir: "$destinationDir/bin", include: 'statsnode*')
|
|
|
|
delete fileTree(dir: "$destinationDir/bin", include: 'relay*')
|
|
|
|
|
Generate scripts for Bisq executables in root dir
This change configures the Gradle build to generate "start scripts" for
each Bisq executable (e.g. Bisq Desktop, Bisq Seednode, etc) in the root
project directory, such that after invoking `./gradle build`, the
following executable scripts become available:
~/Work/bisq-network/bisq
$ ls -1 | egrep '(bisq*|lib)'
bisq-desktop
bisq-desktop.bat
bisq-monitor
bisq-monitor.bat
bisq-relay
bisq-relay.bat
bisq-seednode
bisq-seednode.bat
bisq-statsnode
bisq-statsnode.bat
lib
This makes it possible for users (developers) to easily discover and use
these scripts in an idiomatic and platform-agnostic way as opposed to
the previous situation where we would advise users to run e.g.
java -jar desktop/build/libs/desktop-0.8.0-SNAPSHOT-all.jar
This approach works, but is cumbersome and focuses unnecessarily on the
Java-based nature of the project. Now, with the changes in this commit,
the user would simply run:
./bisq-desktop
The 'lib' directory shown above contains all the jar files necessary to
construct classpaths for these various scripts. The 'cleanInstallDist'
task deletes the 'bisq-*' files and the 'lib' directory, and the default
'clean' task has been configured to depend on the 'cleanInstallDist'
task to ensure this cleanup happens automatically when most users would
expect it.
In the future, these same scripts can be used when installing Bisq
executables properly on users' systems via package managers like Brew
and Apt. The goal is to have the user experience around running
`bisq-desktop` (and more importantly, the forthcoming `bisqd`) be
similar in every way to installing and using `bitcoind`, `lnd` and other
idiomatic *nix-style utilities, be they Bitcoin-related or not.
See the changes in docs/build.md and docs/dev-setup.md for a further
sense of the how this change impacts the developer experience.
2018-11-23 14:33:44 +01:00
|
|
|
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"
|
|
|
|
}
|
2018-11-24 10:07:39 +01:00
|
|
|
|
2018-11-27 02:52:35 +01:00
|
|
|
// edit generated shell scripts such that they expect to be executed in the
|
|
|
|
// project root dir as opposed to a 'bin' subdirectory
|
2018-11-27 10:31:44 +01:00
|
|
|
def windowsScriptFile = file("${rootProject.projectDir}/bisq-${applicationName}.bat")
|
2018-11-27 02:52:35 +01:00
|
|
|
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(
|
|
|
|
'cd "`dirname \\"$PRG\\"`/.." >/dev/null', 'cd "`dirname \\"$PRG\\"`" >/dev/null')
|
|
|
|
|
2018-11-24 10:07:39 +01:00
|
|
|
if (osdetector.os != 'windows')
|
|
|
|
delete fileTree(dir: rootProject.projectDir, include: 'bisq-*.bat')
|
2018-11-25 09:35:04 +01:00
|
|
|
else
|
|
|
|
delete fileTree(dir: rootProject.projectDir, include: 'bisq-*', exclude: '*.bat')
|
Generate scripts for Bisq executables in root dir
This change configures the Gradle build to generate "start scripts" for
each Bisq executable (e.g. Bisq Desktop, Bisq Seednode, etc) in the root
project directory, such that after invoking `./gradle build`, the
following executable scripts become available:
~/Work/bisq-network/bisq
$ ls -1 | egrep '(bisq*|lib)'
bisq-desktop
bisq-desktop.bat
bisq-monitor
bisq-monitor.bat
bisq-relay
bisq-relay.bat
bisq-seednode
bisq-seednode.bat
bisq-statsnode
bisq-statsnode.bat
lib
This makes it possible for users (developers) to easily discover and use
these scripts in an idiomatic and platform-agnostic way as opposed to
the previous situation where we would advise users to run e.g.
java -jar desktop/build/libs/desktop-0.8.0-SNAPSHOT-all.jar
This approach works, but is cumbersome and focuses unnecessarily on the
Java-based nature of the project. Now, with the changes in this commit,
the user would simply run:
./bisq-desktop
The 'lib' directory shown above contains all the jar files necessary to
construct classpaths for these various scripts. The 'cleanInstallDist'
task deletes the 'bisq-*' files and the 'lib' directory, and the default
'clean' task has been configured to depend on the 'cleanInstallDist'
task to ensure this cleanup happens automatically when most users would
expect it.
In the future, these same scripts can be used when installing Bisq
executables properly on users' systems via package managers like Brew
and Apt. The goal is to have the user experience around running
`bisq-desktop` (and more importantly, the forthcoming `bisqd`) be
similar in every way to installing and using `bitcoind`, `lnd` and other
idiomatic *nix-style utilities, be they Bitcoin-related or not.
See the changes in docs/build.md and docs/dev-setup.md for a further
sense of the how this change impacts the developer experience.
2018-11-23 14:33:44 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
startScripts {
|
|
|
|
// rename scripts from, e.g. `desktop` to `bisq-desktop`
|
|
|
|
applicationName = "bisq-$applicationName"
|
|
|
|
}
|
2018-11-04 16:27:52 +01:00
|
|
|
}
|
2018-11-04 16:44:10 +01:00
|
|
|
|
2018-11-04 18:43:20 +01:00
|
|
|
|
2018-11-04 16:44:10 +01:00
|
|
|
configure(project(':assets')) {
|
|
|
|
dependencies {
|
2018-11-04 18:41:56 +01:00
|
|
|
compile("network.bisq.libdohj:libdohj-core:$libdohjVersion") {
|
2018-11-04 16:44:10 +01:00
|
|
|
exclude(module: 'protobuf-java')
|
|
|
|
}
|
2018-11-04 18:41:56 +01:00
|
|
|
compile "commons-codec:commons-codec:$codecVersion"
|
|
|
|
compile "org.apache.commons:commons-lang3:$langVersion"
|
|
|
|
compile "org.bouncycastle:bcpg-jdk15on:$bcVersion"
|
2018-11-04 16:44:10 +01:00
|
|
|
}
|
|
|
|
}
|
2018-11-04 16:55:33 +01:00
|
|
|
|
2018-11-04 18:43:20 +01:00
|
|
|
|
2018-11-04 16:55:33 +01:00
|
|
|
configure(project(':common')) {
|
|
|
|
apply plugin: 'com.google.protobuf'
|
|
|
|
|
|
|
|
sourceSets.main.java.srcDir "$buildDir/generated/source/proto/main/java"
|
|
|
|
|
|
|
|
protobuf {
|
|
|
|
protoc {
|
|
|
|
artifact = "com.google.protobuf:protoc:$protobufVersion"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
dependencies {
|
2018-11-04 18:16:07 +01:00
|
|
|
compile "org.openjfx:javafx-base:11:$os"
|
|
|
|
compile "org.openjfx:javafx-graphics:11:$os"
|
2018-11-04 16:55:33 +01:00
|
|
|
compile "com.google.protobuf:protobuf-java:$protobufVersion"
|
|
|
|
compile 'com.google.code.gson:gson:2.7'
|
|
|
|
compile('com.googlecode.json-simple:json-simple:1.1.1') {
|
|
|
|
exclude(module: 'junit')
|
|
|
|
}
|
2018-11-05 11:07:43 +01:00
|
|
|
compile "org.springframework:spring-core:$springVersion"
|
2018-12-29 13:20:10 +01:00
|
|
|
compile "org.slf4j:slf4j-api:$slf4jVersion"
|
|
|
|
compile "ch.qos.logback:logback-core:$logbackVersion"
|
|
|
|
compile "ch.qos.logback:logback-classic:$logbackVersion"
|
2018-12-09 13:38:08 +01:00
|
|
|
compile 'com.google.code.findbugs:jsr305:3.0.2'
|
2018-11-04 16:55:33 +01:00
|
|
|
compile 'com.google.guava:guava:20.0'
|
|
|
|
compile('com.google.inject:guice:4.1.0') {
|
|
|
|
exclude(module: 'guava')
|
|
|
|
}
|
2018-11-04 18:41:56 +01:00
|
|
|
compile("network.bisq.libdohj:libdohj-core:$libdohjVersion") {
|
2018-11-04 16:55:33 +01:00
|
|
|
exclude(module: 'jsr305')
|
|
|
|
exclude(module: 'slf4j-api')
|
|
|
|
exclude(module: 'guava')
|
|
|
|
exclude(module: 'protobuf-java')
|
|
|
|
}
|
|
|
|
compile 'org.jetbrains:annotations:13.0'
|
2018-11-04 18:41:56 +01:00
|
|
|
runtime "org.bouncycastle:bcprov-jdk15on:$bcVersion"
|
|
|
|
compile "org.bouncycastle:bcpg-jdk15on:$bcVersion"
|
2018-11-04 16:55:33 +01:00
|
|
|
compile 'commons-io:commons-io:2.4'
|
2018-11-04 18:41:56 +01:00
|
|
|
compile "org.apache.commons:commons-lang3:$langVersion"
|
|
|
|
compileOnly "org.projectlombok:lombok:$lombokVersion"
|
|
|
|
annotationProcessor "org.projectlombok:lombok:$lombokVersion"
|
2018-11-04 16:55:33 +01:00
|
|
|
}
|
|
|
|
}
|
2018-11-04 17:18:46 +01:00
|
|
|
|
2018-11-04 18:43:20 +01:00
|
|
|
|
2018-11-04 17:46:03 +01:00
|
|
|
configure(project(':p2p')) {
|
|
|
|
dependencies {
|
|
|
|
compile project(':common')
|
2019-01-03 14:18:57 +01:00
|
|
|
compile('com.github.JesusMcCloud.netlayer:tor.native:0.6') {
|
2018-11-16 17:49:04 +01:00
|
|
|
exclude(module: 'slf4j-api')
|
|
|
|
}
|
2019-01-03 14:18:57 +01:00
|
|
|
compile('com.github.JesusMcCloud.netlayer:tor.external:0.6') {
|
2018-11-04 17:46:03 +01:00
|
|
|
exclude(module: 'slf4j-api')
|
|
|
|
}
|
|
|
|
compile('org.apache.httpcomponents:httpclient:4.5.3') {
|
|
|
|
exclude(module: 'commons-logging')
|
|
|
|
}
|
2018-11-04 18:41:56 +01:00
|
|
|
compile "net.sf.jopt-simple:jopt-simple:$joptVersion"
|
2018-11-04 17:46:03 +01:00
|
|
|
compile 'org.fxmisc.easybind:easybind:1.0.3'
|
2018-11-04 18:41:56 +01:00
|
|
|
compileOnly "org.projectlombok:lombok:$lombokVersion"
|
|
|
|
annotationProcessor "org.projectlombok:lombok:$lombokVersion"
|
|
|
|
testCompile 'org.jmockit:jmockit:1.30' // must not use current $jmockitVersion
|
|
|
|
testCompileOnly "org.projectlombok:lombok:$lombokVersion"
|
|
|
|
testAnnotationProcessor "org.projectlombok:lombok:$lombokVersion"
|
2018-11-04 17:46:03 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-11-04 18:43:20 +01:00
|
|
|
|
2018-11-04 17:18:46 +01:00
|
|
|
configure(project(':core')) {
|
|
|
|
dependencies {
|
|
|
|
compile project(':assets')
|
|
|
|
compile project(':p2p')
|
2018-11-04 18:41:56 +01:00
|
|
|
compile "net.sf.jopt-simple:jopt-simple:$joptVersion"
|
2018-12-09 13:38:08 +01:00
|
|
|
compile('network.bisq.btcd-cli4j:btcd-cli4j-core:065d3786') {
|
2018-11-04 17:18:46 +01:00
|
|
|
exclude(module: 'slf4j-api')
|
|
|
|
exclude(module: 'httpclient')
|
|
|
|
exclude(module: 'commons-lang3')
|
|
|
|
exclude(module: 'jackson-core')
|
|
|
|
exclude(module: 'jackson-annotations')
|
|
|
|
exclude(module: 'jackson-databind')
|
|
|
|
}
|
2018-12-09 13:38:08 +01:00
|
|
|
compile('network.bisq.btcd-cli4j:btcd-cli4j-daemon:065d3786') {
|
2018-11-04 17:18:46 +01:00
|
|
|
exclude(module: 'slf4j-api')
|
|
|
|
exclude(module: 'httpclient')
|
|
|
|
exclude(module: 'commons-lang3')
|
|
|
|
exclude(module: 'jackson-core')
|
|
|
|
exclude(module: 'jackson-annotations')
|
|
|
|
exclude(module: 'jackson-databind')
|
|
|
|
}
|
|
|
|
compile 'com.fasterxml.jackson.core:jackson-core:2.8.10'
|
|
|
|
compile 'com.fasterxml.jackson.core:jackson-annotations:2.8.10'
|
|
|
|
compile('com.fasterxml.jackson.core:jackson-databind:2.8.10') {
|
|
|
|
exclude(module: 'jackson-annotations')
|
|
|
|
}
|
|
|
|
|
2018-11-04 18:41:56 +01:00
|
|
|
compileOnly "org.projectlombok:lombok:$lombokVersion"
|
|
|
|
annotationProcessor "org.projectlombok:lombok:$lombokVersion"
|
2018-11-04 17:18:46 +01:00
|
|
|
|
2018-11-04 18:41:56 +01:00
|
|
|
testCompile "org.jmockit:jmockit:$jmockitVersion"
|
|
|
|
testCompile("org.mockito:mockito-core:$mockitoVersion") {
|
2018-11-04 17:18:46 +01:00
|
|
|
exclude(module: 'objenesis')
|
|
|
|
}
|
2018-11-04 18:41:56 +01:00
|
|
|
testCompile "org.powermock:powermock-module-junit4:$powermockVersion"
|
|
|
|
testCompile "org.powermock:powermock-api-mockito2:$powermockVersion"
|
|
|
|
testCompile "org.springframework:spring-test:$springVersion"
|
|
|
|
testCompile "com.natpryce:make-it-easy:$easyVersion"
|
2018-11-04 17:18:46 +01:00
|
|
|
testCompile group: 'org.hamcrest', name: 'hamcrest-all', version: '1.3'
|
2018-11-04 18:41:56 +01:00
|
|
|
testCompileOnly "org.projectlombok:lombok:$lombokVersion"
|
|
|
|
testAnnotationProcessor "org.projectlombok:lombok:$lombokVersion"
|
2018-11-04 17:18:46 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
test {
|
|
|
|
systemProperty 'jdk.attach.allowAttachSelf', true
|
|
|
|
|
|
|
|
def jmockit = configurations.testCompile.files.find { it.name.contains("jmockit") }.absolutePath
|
|
|
|
jvmArgs "-javaagent:$jmockit"
|
|
|
|
}
|
|
|
|
}
|
2018-11-04 17:37:32 +01:00
|
|
|
|
2018-11-04 18:43:20 +01:00
|
|
|
|
2018-11-04 17:37:32 +01:00
|
|
|
configure(project(':desktop')) {
|
|
|
|
apply plugin: 'com.github.johnrengelman.shadow'
|
|
|
|
apply plugin: 'witness'
|
|
|
|
apply from: '../gradle/witness/gradle-witness.gradle'
|
|
|
|
|
2018-12-13 14:32:05 +01:00
|
|
|
version = '0.9.1-SNAPSHOT'
|
2018-11-04 17:37:32 +01:00
|
|
|
|
|
|
|
mainClassName = 'bisq.desktop.app.BisqAppMain'
|
|
|
|
|
|
|
|
tasks.withType(AbstractArchiveTask) {
|
|
|
|
preserveFileTimestamps = false
|
|
|
|
reproducibleFileOrder = true
|
|
|
|
}
|
|
|
|
|
|
|
|
sourceSets.main.resources.srcDirs += ['src/main/java'] // to copy fxml and css files
|
|
|
|
|
|
|
|
dependencies {
|
|
|
|
compile project(':p2p')
|
|
|
|
compile project(':core')
|
|
|
|
compile project(':common')
|
|
|
|
compile 'org.controlsfx:controlsfx:8.0.6_20'
|
|
|
|
compile 'org.reactfx:reactfx:2.0-M3'
|
|
|
|
compile 'net.glxn:qrgen:1.3'
|
|
|
|
compile 'de.jensd:fontawesomefx:8.0.0'
|
|
|
|
compile 'de.jensd:fontawesomefx-commons:9.1.2'
|
|
|
|
compile 'de.jensd:fontawesomefx-materialdesignfont:2.0.26-9.1.2'
|
|
|
|
compile 'com.googlecode.jcsv:jcsv:1.4.0'
|
|
|
|
compile 'com.github.sarxos:webcam-capture:0.3.12'
|
2018-11-04 18:16:07 +01:00
|
|
|
compile "org.openjfx:javafx-controls:11:$os"
|
|
|
|
compile "org.openjfx:javafx-fxml:11:$os"
|
|
|
|
compile "org.openjfx:javafx-swing:11:$os"
|
2018-11-06 18:39:32 +01:00
|
|
|
compile 'com.jfoenix:jfoenix:9.0.6'
|
2018-11-04 17:37:32 +01:00
|
|
|
|
2018-11-04 18:41:56 +01:00
|
|
|
compileOnly "org.projectlombok:lombok:$lombokVersion"
|
|
|
|
annotationProcessor "org.projectlombok:lombok:$lombokVersion"
|
2018-11-04 17:37:32 +01:00
|
|
|
|
2018-11-04 18:41:56 +01:00
|
|
|
testCompile "org.jmockit:jmockit:$jmockitVersion"
|
|
|
|
testCompile("org.mockito:mockito-core:$mockitoVersion") {
|
2018-11-04 17:37:32 +01:00
|
|
|
exclude(module: 'objenesis')
|
|
|
|
}
|
2018-11-04 18:41:56 +01:00
|
|
|
testCompile "org.powermock:powermock-module-junit4:$powermockVersion"
|
|
|
|
testCompile "org.powermock:powermock-api-mockito2:$powermockVersion"
|
|
|
|
testCompile "org.springframework:spring-test:$springVersion"
|
|
|
|
testCompile "com.natpryce:make-it-easy:$easyVersion"
|
|
|
|
testCompileOnly "org.projectlombok:lombok:$lombokVersion"
|
|
|
|
testAnnotationProcessor "org.projectlombok:lombok:$lombokVersion"
|
2018-11-04 17:37:32 +01:00
|
|
|
}
|
|
|
|
}
|
2018-11-04 17:41:37 +01:00
|
|
|
|
2018-11-04 18:43:20 +01:00
|
|
|
|
2018-11-04 17:41:37 +01:00
|
|
|
configure(project(':monitor')) {
|
2018-12-11 12:20:31 +01:00
|
|
|
mainClassName = 'bisq.monitor.Monitor'
|
|
|
|
|
|
|
|
test {
|
|
|
|
useJUnitPlatform()
|
|
|
|
testLogging {
|
|
|
|
events "passed", "skipped", "failed"
|
|
|
|
}
|
|
|
|
}
|
2018-11-04 17:41:37 +01:00
|
|
|
|
|
|
|
dependencies {
|
2018-12-29 13:20:10 +01:00
|
|
|
compile "org.slf4j:slf4j-api:$slf4jVersion"
|
|
|
|
compile "ch.qos.logback:logback-core:$logbackVersion"
|
|
|
|
compile "ch.qos.logback:logback-classic:$logbackVersion"
|
2018-12-29 14:16:10 +01:00
|
|
|
compile 'com.google.guava:guava:20.0'
|
|
|
|
|
2018-11-04 18:41:56 +01:00
|
|
|
compileOnly "org.projectlombok:lombok:$lombokVersion"
|
|
|
|
annotationProcessor "org.projectlombok:lombok:$lombokVersion"
|
2018-12-11 12:20:31 +01:00
|
|
|
|
2018-12-21 11:34:29 +01:00
|
|
|
compile('com.github.JesusMcCloud.netlayer:tor.native:0.6.2') {
|
2018-12-18 11:46:03 +01:00
|
|
|
exclude(module: 'slf4j-api')
|
|
|
|
}
|
|
|
|
|
2018-12-11 12:20:31 +01:00
|
|
|
testCompile 'org.junit.jupiter:junit-jupiter-api:5.3.2'
|
|
|
|
testCompile 'org.junit.jupiter:junit-jupiter-params:5.3.2'
|
|
|
|
testCompileOnly "org.projectlombok:lombok:$lombokVersion"
|
|
|
|
testAnnotationProcessor "org.projectlombok:lombok:$lombokVersion"
|
|
|
|
testRuntime('org.junit.jupiter:junit-jupiter-engine:5.3.2')
|
2018-11-04 17:41:37 +01:00
|
|
|
}
|
|
|
|
}
|
2018-11-04 17:57:00 +01:00
|
|
|
|
2018-11-04 18:43:20 +01:00
|
|
|
|
2018-11-04 17:57:00 +01:00
|
|
|
configure(project(':pricenode')) {
|
|
|
|
apply plugin: "org.springframework.boot"
|
|
|
|
|
2018-11-07 08:43:03 +01:00
|
|
|
version = file("src/main/resources/version.txt").text.trim()
|
2018-11-04 17:57:00 +01:00
|
|
|
|
|
|
|
jar.manifest.attributes(
|
|
|
|
"Implementation-Title": project.name,
|
|
|
|
"Implementation-Version": version)
|
|
|
|
|
|
|
|
dependencies {
|
|
|
|
compile project(":core")
|
|
|
|
compile project(":assets")
|
|
|
|
compile("org.knowm.xchange:xchange-bitcoinaverage:4.3.3")
|
|
|
|
compile("org.knowm.xchange:xchange-coinmarketcap:4.3.3")
|
|
|
|
compile("org.knowm.xchange:xchange-poloniex:4.3.3")
|
|
|
|
compile("org.springframework.boot:spring-boot-starter-web:1.5.10.RELEASE")
|
|
|
|
compile("org.springframework.boot:spring-boot-starter-actuator")
|
|
|
|
}
|
|
|
|
|
|
|
|
task stage {
|
|
|
|
dependsOn assemble
|
|
|
|
}
|
|
|
|
}
|
2018-11-04 17:58:37 +01:00
|
|
|
|
2018-11-04 18:43:20 +01:00
|
|
|
|
2018-11-04 17:58:37 +01:00
|
|
|
configure(project(':relay')) {
|
|
|
|
mainClassName = 'bisq.relay.RelayMain'
|
|
|
|
|
|
|
|
dependencies {
|
|
|
|
compile project(':common')
|
2018-11-04 18:41:56 +01:00
|
|
|
compile "com.sparkjava:spark-core:$sparkVersion"
|
2018-11-04 17:58:37 +01:00
|
|
|
compile 'com.turo:pushy:0.13.2'
|
|
|
|
compile 'com.google.firebase:firebase-admin:6.2.0'
|
2018-11-04 18:41:56 +01:00
|
|
|
compile "commons-codec:commons-codec:$codecVersion"
|
2018-11-04 17:58:37 +01:00
|
|
|
}
|
|
|
|
}
|
2018-11-04 18:00:10 +01:00
|
|
|
|
2018-11-04 18:43:20 +01:00
|
|
|
|
2018-11-04 18:00:10 +01:00
|
|
|
configure(project(':seednode')) {
|
|
|
|
apply plugin: 'com.github.johnrengelman.shadow'
|
|
|
|
|
|
|
|
mainClassName = 'bisq.seednode.SeedNodeMain'
|
|
|
|
|
|
|
|
dependencies {
|
|
|
|
compile project(':core')
|
2018-11-04 18:41:56 +01:00
|
|
|
runtime "org.bouncycastle:bcprov-jdk15on:$bcVersion"
|
|
|
|
compileOnly "org.projectlombok:lombok:$lombokVersion"
|
|
|
|
annotationProcessor "org.projectlombok:lombok:$lombokVersion"
|
2018-11-04 18:00:10 +01:00
|
|
|
}
|
|
|
|
}
|
2018-11-04 18:00:56 +01:00
|
|
|
|
2018-11-04 18:43:20 +01:00
|
|
|
|
2018-11-04 18:00:56 +01:00
|
|
|
configure(project(':statsnode')) {
|
|
|
|
mainClassName = 'bisq.statistics.StatisticsMain'
|
|
|
|
|
|
|
|
dependencies {
|
|
|
|
compile project(':core')
|
2018-11-04 18:41:56 +01:00
|
|
|
compileOnly "org.projectlombok:lombok:$lombokVersion"
|
|
|
|
annotationProcessor "org.projectlombok:lombok:$lombokVersion"
|
2018-11-04 18:00:56 +01:00
|
|
|
}
|
|
|
|
}
|