2023-02-05 22:02:13 +01:00
|
|
|
plugins {
|
2023-08-05 15:14:04 +02:00
|
|
|
id 'bisq.application'
|
2023-02-05 22:02:13 +01:00
|
|
|
}
|
2023-08-05 14:51:26 +02:00
|
|
|
|
2023-08-05 19:45:20 +02:00
|
|
|
application {
|
|
|
|
mainClass = 'bisq.apitest.ApiTestMain'
|
|
|
|
}
|
2023-08-05 14:51:26 +02:00
|
|
|
|
|
|
|
// The external dao-setup.gradle file contains tasks to install and clean dao-setup
|
|
|
|
// files downloaded from
|
|
|
|
// https://github.com/bisq-network/bisq/raw/master/docs/dao-setup.zip
|
|
|
|
// These tasks are not run by the default build, but they can can be run during
|
|
|
|
// full or partial builds, or by themselves.
|
|
|
|
// To run the regular clean + build + test (non api), and install dao-setup files:
|
|
|
|
// ./gradlew clean build :apitest:installDaoSetup
|
|
|
|
// To install or re-install dao-setup file only:
|
|
|
|
// ./gradlew :apitest:installDaoSetup -x test
|
|
|
|
// To clean installed dao-setup files:
|
|
|
|
// ./gradlew :apitest:cleanDaoSetup -x test
|
|
|
|
apply from: 'dao-setup.gradle'
|
|
|
|
|
|
|
|
// We have to disable the :apitest 'test' task by default because we do not want
|
|
|
|
// to interfere with normal builds. To run JUnit tests in this subproject:
|
|
|
|
// Run a normal build and install dao-setup files first, then run:
|
|
|
|
// 'gradle :apitest:test -DrunApiTests=true'
|
|
|
|
test.enabled = System.getProperty("runApiTests") == "true"
|
|
|
|
|
|
|
|
sourceSets {
|
|
|
|
main {
|
|
|
|
resources {
|
|
|
|
exclude 'dao-setup'
|
|
|
|
exclude 'dao-setup.zip'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
test {
|
|
|
|
outputs.upToDateWhen { false } // Don't use previously cached test outputs.
|
|
|
|
testLogging {
|
|
|
|
showStackTraces = true // Show full stack traces in the console.
|
|
|
|
exceptionFormat = "full"
|
|
|
|
// Show passed & failed tests, and anything printed to stderr by the tests in the console.
|
|
|
|
// Do not show skipped tests in the console; they are shown in the html report.
|
|
|
|
events "passed", "failed", "standardError"
|
|
|
|
}
|
|
|
|
|
|
|
|
afterSuite { desc, result ->
|
|
|
|
if (!desc.parent) {
|
|
|
|
println("${result.resultType} " +
|
|
|
|
"[${result.testCount} tests, " +
|
|
|
|
"${result.successfulTestCount} passed, " +
|
|
|
|
"${result.failedTestCount} failed, " +
|
|
|
|
"${result.skippedTestCount} skipped] html report contains skipped test info")
|
|
|
|
|
|
|
|
// Show report link if all tests passed in case you want to see more detail, stdout, skipped, etc.
|
|
|
|
if (result.resultType == TestResult.ResultType.SUCCESS) {
|
|
|
|
DirectoryReport htmlReport = getReports().getHtml()
|
|
|
|
String reportUrl = new org.gradle.internal.logging.ConsoleRenderer()
|
|
|
|
.asClickableFileUrl(htmlReport.getEntryPoint())
|
|
|
|
println("REPORT " + reportUrl)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
dependencies {
|
|
|
|
implementation enforcedPlatform(project(':platform'))
|
|
|
|
implementation project(':proto')
|
|
|
|
implementation project(':common')
|
|
|
|
implementation project(':core')
|
|
|
|
implementation project(':seednode')
|
|
|
|
implementation project(':desktop')
|
|
|
|
implementation project(':daemon')
|
|
|
|
implementation project(':cli')
|
|
|
|
annotationProcessor libs.lombok
|
|
|
|
compileOnly libs.javax.annotation
|
|
|
|
compileOnly libs.lombok
|
|
|
|
implementation libs.logback.classic
|
|
|
|
implementation libs.logback.core
|
|
|
|
implementation libs.google.gson
|
|
|
|
implementation libs.google.guava
|
|
|
|
implementation libs.jopt
|
|
|
|
implementation libs.apache.commons.lang3
|
|
|
|
implementation libs.slf4j.api
|
|
|
|
implementation(libs.bitcoinj) {
|
|
|
|
exclude(module: 'bcprov-jdk15on')
|
|
|
|
exclude(module: 'guava')
|
|
|
|
exclude(module: 'jsr305')
|
|
|
|
exclude(module: 'okhttp')
|
|
|
|
exclude(module: 'okio')
|
|
|
|
exclude(module: 'slf4j-api')
|
|
|
|
}
|
|
|
|
implementation(libs.grpc.protobuf) {
|
|
|
|
exclude(module: 'animal-sniffer-annotations')
|
|
|
|
exclude(module: 'guava')
|
|
|
|
}
|
|
|
|
implementation(libs.grpc.stub) {
|
|
|
|
exclude(module: 'animal-sniffer-annotations')
|
|
|
|
exclude(module: 'guava')
|
|
|
|
}
|
|
|
|
testAnnotationProcessor libs.lombok
|
|
|
|
testCompileOnly libs.lombok
|
|
|
|
testRuntimeOnly libs.javax.annotation
|
|
|
|
}
|