2020-03-22 08:12:07 +00:00
|
|
|
plugins {
|
|
|
|
id 'application'
|
2024-03-07 05:50:23 +00:00
|
|
|
id 'org-openjfx-javafxplugin'
|
2024-01-24 18:27:25 +00:00
|
|
|
id 'org.beryx.jlink' version '3.0.1'
|
2024-11-26 07:31:34 +00:00
|
|
|
id 'org.gradlex.extra-java-module-info' version '1.9'
|
2020-03-22 08:12:07 +00:00
|
|
|
}
|
|
|
|
|
2024-09-18 12:57:23 +00:00
|
|
|
def sparrowVersion = '2.0.1'
|
2020-08-25 13:31:04 +00:00
|
|
|
def os = org.gradle.internal.os.OperatingSystem.current()
|
|
|
|
def osName = os.getFamilyName()
|
|
|
|
if(os.macOsX) {
|
2020-09-14 08:51:38 +00:00
|
|
|
osName = "osx"
|
2020-08-25 13:31:04 +00:00
|
|
|
}
|
2022-05-09 13:01:35 +00:00
|
|
|
def targetName = ""
|
2022-05-06 15:34:23 +00:00
|
|
|
def osArch = "x64"
|
2022-10-25 10:02:00 +00:00
|
|
|
def releaseArch = "x86_64"
|
2022-05-06 15:34:23 +00:00
|
|
|
if(System.getProperty("os.arch") == "aarch64") {
|
|
|
|
osArch = "aarch64"
|
2022-10-25 10:02:00 +00:00
|
|
|
releaseArch = "aarch64"
|
2022-05-09 13:01:35 +00:00
|
|
|
targetName = "-" + osArch
|
2022-05-06 15:34:23 +00:00
|
|
|
}
|
2022-10-25 09:27:37 +00:00
|
|
|
def headless = "true".equals(System.getProperty("java.awt.headless"))
|
2020-08-24 12:52:05 +00:00
|
|
|
|
2023-03-28 12:38:20 +00:00
|
|
|
def vTor = '4.7.13-4'
|
2023-06-22 05:54:48 +00:00
|
|
|
def vKmpTor = '1.4.3'
|
2023-03-28 12:38:20 +00:00
|
|
|
def kmpOs = osName
|
|
|
|
if(os.macOsX) {
|
|
|
|
kmpOs = "macos"
|
|
|
|
} else if(os.windows) {
|
|
|
|
kmpOs = "mingw"
|
|
|
|
}
|
|
|
|
def kmpArch = "x64"
|
|
|
|
if(System.getProperty("os.arch") == "aarch64") {
|
|
|
|
kmpArch = "arm64"
|
|
|
|
}
|
|
|
|
|
2020-08-24 12:52:05 +00:00
|
|
|
group "com.sparrowwallet"
|
|
|
|
version "${sparrowVersion}"
|
2020-03-22 08:12:07 +00:00
|
|
|
|
|
|
|
repositories {
|
|
|
|
mavenCentral()
|
2024-10-28 11:27:44 +00:00
|
|
|
maven { url 'https://code.sparrowwallet.com/api/packages/sparrowwallet/maven' }
|
2020-03-22 08:12:07 +00:00
|
|
|
}
|
|
|
|
|
2020-08-24 12:52:05 +00:00
|
|
|
tasks.withType(AbstractArchiveTask) {
|
|
|
|
preserveFileTimestamps = false
|
|
|
|
reproducibleFileOrder = true
|
|
|
|
}
|
|
|
|
|
2020-03-22 08:12:07 +00:00
|
|
|
javafx {
|
2024-09-04 10:04:00 +00:00
|
|
|
version = headless ? "18" : "22"
|
2020-04-29 10:03:44 +00:00
|
|
|
modules = [ 'javafx.controls', 'javafx.fxml', 'javafx.swing', 'javafx.graphics' ]
|
2020-03-22 08:12:07 +00:00
|
|
|
}
|
|
|
|
|
2020-04-01 11:26:40 +00:00
|
|
|
java {
|
|
|
|
disableAutoTargetJvm()
|
|
|
|
}
|
|
|
|
|
2020-03-22 08:12:07 +00:00
|
|
|
dependencies {
|
2021-07-21 13:30:46 +00:00
|
|
|
//Any changes to the dependencies must be reflected in the module definitions below!
|
2024-02-15 07:24:21 +00:00
|
|
|
implementation(project(':drongo'))
|
|
|
|
implementation('com.google.guava:guava:33.0.0-jre')
|
|
|
|
implementation('com.google.code.gson:gson:2.9.1')
|
2022-07-13 12:06:29 +00:00
|
|
|
implementation('com.h2database:h2:2.1.214')
|
2024-02-15 07:24:21 +00:00
|
|
|
implementation('com.zaxxer:HikariCP:4.0.3') {
|
|
|
|
exclude group: 'org.slf4j'
|
|
|
|
}
|
2021-06-10 10:08:35 +00:00
|
|
|
implementation('org.jdbi:jdbi3-core:3.20.0') {
|
|
|
|
exclude group: 'org.slf4j'
|
|
|
|
}
|
2024-02-15 07:24:21 +00:00
|
|
|
implementation('org.jdbi:jdbi3-sqlobject:3.20.0') {
|
|
|
|
exclude group: 'org.slf4j'
|
|
|
|
}
|
2024-10-10 07:04:01 +00:00
|
|
|
implementation('org.flywaydb:flyway-core:9.1.3')
|
2020-04-01 11:26:40 +00:00
|
|
|
implementation('org.fxmisc.richtext:richtextfx:0.10.4')
|
|
|
|
implementation('no.tornado:tornadofx-controls:1.0.4')
|
2021-06-25 12:56:22 +00:00
|
|
|
implementation('com.google.zxing:javase:3.4.0') {
|
|
|
|
exclude group: 'com.beust', module: 'jcommander'
|
|
|
|
}
|
2024-11-20 11:09:28 +00:00
|
|
|
implementation('org.jcommander:jcommander:2.0')
|
2022-11-21 10:08:27 +00:00
|
|
|
implementation('com.github.arteam:simple-json-rpc-core:1.3')
|
|
|
|
implementation('com.github.arteam:simple-json-rpc-client:1.3') {
|
2021-06-25 12:56:22 +00:00
|
|
|
exclude group: 'com.github.arteam', module: 'simple-json-rpc-core'
|
|
|
|
}
|
2022-11-21 10:08:27 +00:00
|
|
|
implementation('com.github.arteam:simple-json-rpc-server:1.3') {
|
2020-06-09 09:21:34 +00:00
|
|
|
exclude group: 'org.slf4j'
|
|
|
|
}
|
2024-09-20 09:00:28 +00:00
|
|
|
implementation('com.fasterxml.jackson.core:jackson-databind:2.17.2')
|
2024-10-28 07:48:11 +00:00
|
|
|
implementation('com.sparrowwallet:hummingbird:1.7.4')
|
2021-12-08 08:56:33 +00:00
|
|
|
implementation('co.nstant.in:cbor:0.9')
|
2022-05-09 13:01:35 +00:00
|
|
|
implementation("com.nativelibs4java:bridj${targetName}:0.7-20140918-3") {
|
2020-10-19 09:06:59 +00:00
|
|
|
exclude group: 'com.google.android.tools', module: 'dx'
|
|
|
|
}
|
2022-05-09 13:01:35 +00:00
|
|
|
implementation("com.github.sarxos:webcam-capture${targetName}:0.3.13-SNAPSHOT") {
|
2020-08-04 10:47:29 +00:00
|
|
|
exclude group: 'com.nativelibs4java', module: 'bridj'
|
|
|
|
}
|
2024-11-26 07:31:34 +00:00
|
|
|
implementation("io.matthewnelson.kotlin-components:kmp-tor:${vTor}-${vKmpTor}") {
|
|
|
|
exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-common'
|
|
|
|
}
|
2023-03-28 12:38:20 +00:00
|
|
|
if(kmpOs == "linux" && kmpArch == "arm64") {
|
2024-11-26 07:31:34 +00:00
|
|
|
implementation("com.sparrowwallet.kmp-tor-binary:kmp-tor-binary-${kmpOs}${kmpArch}-jvm:${vTor}") {
|
|
|
|
exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-common'
|
|
|
|
}
|
2023-03-28 12:38:20 +00:00
|
|
|
} else {
|
2024-11-26 07:31:34 +00:00
|
|
|
implementation("io.matthewnelson.kotlin-components:kmp-tor-binary-${kmpOs}${kmpArch}:${vTor}") {
|
|
|
|
exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-common'
|
|
|
|
}
|
|
|
|
}
|
|
|
|
implementation("io.matthewnelson.kotlin-components:kmp-tor-binary-extract:${vTor}") {
|
|
|
|
exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-common'
|
|
|
|
}
|
|
|
|
implementation("io.matthewnelson.kotlin-components:kmp-tor-ext-callback-manager:${vKmpTor}") {
|
|
|
|
exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-common'
|
|
|
|
}
|
|
|
|
implementation('org.jetbrains.kotlinx:kotlinx-coroutines-javafx:1.7.1') {
|
|
|
|
exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-common'
|
2021-06-25 12:56:22 +00:00
|
|
|
}
|
2020-06-05 15:25:55 +00:00
|
|
|
implementation('de.codecentric.centerdevice:centerdevice-nsmenufx:2.1.7')
|
2021-05-19 06:41:15 +00:00
|
|
|
implementation('org.controlsfx:controlsfx:11.1.0' ) {
|
2020-04-01 11:26:40 +00:00
|
|
|
exclude group: 'org.openjfx', module: 'javafx-base'
|
|
|
|
exclude group: 'org.openjfx', module: 'javafx-graphics'
|
|
|
|
exclude group: 'org.openjfx', module: 'javafx-controls'
|
|
|
|
exclude group: 'org.openjfx', module: 'javafx-swing'
|
|
|
|
exclude group: 'org.openjfx', module: 'javafx-fxml'
|
|
|
|
exclude group: 'org.openjfx', module: 'javafx-web'
|
|
|
|
exclude group: 'org.openjfx', module: 'javafx-media'
|
|
|
|
}
|
2021-06-25 12:56:22 +00:00
|
|
|
implementation('dev.bwt:bwt-jni:0.1.8')
|
2021-02-16 09:57:34 +00:00
|
|
|
implementation('net.sourceforge.javacsv:javacsv:2.0')
|
2024-02-15 07:24:21 +00:00
|
|
|
implementation ('org.slf4j:slf4j-api:2.0.12')
|
|
|
|
implementation('org.slf4j:jul-to-slf4j:2.0.12') {
|
2021-03-12 16:12:42 +00:00
|
|
|
exclude group: 'org.slf4j'
|
|
|
|
}
|
2024-02-29 13:32:29 +00:00
|
|
|
implementation('com.sparrowwallet.bokmakierie:bokmakierie:1.0')
|
2024-11-25 14:34:17 +00:00
|
|
|
implementation('com.sparrowwallet:tern:1.0.3')
|
2021-11-25 14:15:59 +00:00
|
|
|
implementation('io.reactivex.rxjava2:rxjava:2.2.15')
|
|
|
|
implementation('io.reactivex.rxjava2:rxjavafx:2.2.2')
|
|
|
|
implementation('org.apache.commons:commons-lang3:3.7')
|
2024-09-20 09:00:28 +00:00
|
|
|
implementation('org.apache.commons:commons-compress:1.27.1')
|
2021-11-29 13:31:33 +00:00
|
|
|
implementation('net.sourceforge.streamsupport:streamsupport:1.7.0')
|
2023-03-29 10:00:04 +00:00
|
|
|
implementation('com.github.librepdf:openpdf:1.3.30')
|
2022-10-06 11:10:18 +00:00
|
|
|
implementation('com.googlecode.lanterna:lanterna:3.1.1')
|
2022-11-14 09:00:26 +00:00
|
|
|
implementation('net.coobird:thumbnailator:0.4.18')
|
2024-10-10 07:07:12 +00:00
|
|
|
implementation('com.github.hervegirod:fxsvgimage:1.1')
|
2023-01-05 10:17:49 +00:00
|
|
|
implementation('com.sparrowwallet:toucan:0.9.0')
|
2024-02-26 09:41:10 +00:00
|
|
|
implementation('com.jcraft:jzlib:1.1.3')
|
2024-02-15 07:24:21 +00:00
|
|
|
testImplementation('org.junit.jupiter:junit-jupiter-api:5.10.0')
|
2024-02-15 08:26:29 +00:00
|
|
|
testRuntimeOnly('org.junit.jupiter:junit-jupiter-engine:5.10.0')
|
|
|
|
testRuntimeOnly('org.junit.platform:junit-platform-launcher')
|
2020-03-22 08:12:07 +00:00
|
|
|
}
|
|
|
|
|
2020-06-05 11:29:43 +00:00
|
|
|
compileJava {
|
|
|
|
options.with {
|
|
|
|
fork = true
|
2020-08-29 18:06:50 +00:00
|
|
|
compilerArgs.addAll(["--add-exports", "org.controlsfx.controls/impl.org.controlsfx.skin=com.sparrowwallet.sparrow",
|
|
|
|
"--add-exports", "javafx.graphics/com.sun.glass.ui=com.sparrowwallet.sparrow",
|
|
|
|
"--add-exports", "javafx.graphics/com.sun.javafx.application=com.sparrowwallet.sparrow"])
|
2020-06-05 11:29:43 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-08-25 13:31:04 +00:00
|
|
|
processResources {
|
|
|
|
doLast {
|
2020-09-14 08:51:38 +00:00
|
|
|
delete fileTree("$buildDir/resources/main/native").matching {
|
2022-05-06 15:34:23 +00:00
|
|
|
exclude "${osName}/${osArch}/**"
|
2020-08-25 13:31:04 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-09-08 11:22:21 +00:00
|
|
|
test {
|
2024-02-15 08:26:29 +00:00
|
|
|
useJUnitPlatform()
|
2024-11-25 11:17:39 +00:00
|
|
|
jvmArgs = ["--add-opens=java.base/java.io=ALL-UNNAMED", "--add-opens=java.base/java.io=com.google.gson", "--add-reads=org.flywaydb.core=java.desktop"]
|
2021-09-08 11:22:21 +00:00
|
|
|
}
|
|
|
|
|
2024-01-29 12:35:58 +00:00
|
|
|
application {
|
|
|
|
mainModule = 'com.sparrowwallet.sparrow'
|
|
|
|
mainClass = 'com.sparrowwallet.sparrow.SparrowWallet'
|
|
|
|
|
2022-03-04 08:38:40 +00:00
|
|
|
applicationDefaultJvmArgs = ["-XX:+HeapDumpOnOutOfMemoryError",
|
2022-02-01 08:52:09 +00:00
|
|
|
"--add-opens=javafx.graphics/com.sun.javafx.css=org.controlsfx.controls",
|
2020-06-05 14:05:13 +00:00
|
|
|
"--add-opens=javafx.graphics/javafx.scene=org.controlsfx.controls",
|
|
|
|
"--add-opens=javafx.controls/com.sun.javafx.scene.control.behavior=org.controlsfx.controls",
|
|
|
|
"--add-opens=javafx.controls/com.sun.javafx.scene.control.inputmap=org.controlsfx.controls",
|
|
|
|
"--add-opens=javafx.graphics/com.sun.javafx.scene.traversal=org.controlsfx.controls",
|
|
|
|
"--add-opens=javafx.base/com.sun.javafx.event=org.controlsfx.controls",
|
|
|
|
"--add-opens=javafx.controls/javafx.scene.control.cell=com.sparrowwallet.sparrow",
|
2020-06-05 15:25:55 +00:00
|
|
|
"--add-opens=org.controlsfx.controls/impl.org.controlsfx.skin=com.sparrowwallet.sparrow",
|
2021-05-20 15:27:33 +00:00
|
|
|
"--add-opens=org.controlsfx.controls/impl.org.controlsfx.skin=javafx.fxml",
|
2020-06-05 15:25:55 +00:00
|
|
|
"--add-opens=javafx.graphics/com.sun.javafx.tk=centerdevice.nsmenufx",
|
|
|
|
"--add-opens=javafx.graphics/com.sun.javafx.tk.quantum=centerdevice.nsmenufx",
|
|
|
|
"--add-opens=javafx.graphics/com.sun.glass.ui=centerdevice.nsmenufx",
|
|
|
|
"--add-opens=javafx.controls/com.sun.javafx.scene.control=centerdevice.nsmenufx",
|
2020-08-29 18:06:50 +00:00
|
|
|
"--add-opens=javafx.graphics/com.sun.javafx.menu=centerdevice.nsmenufx",
|
|
|
|
"--add-opens=javafx.graphics/com.sun.glass.ui=com.sparrowwallet.sparrow",
|
2020-09-14 08:51:38 +00:00
|
|
|
"--add-opens=javafx.graphics/com.sun.javafx.application=com.sparrowwallet.sparrow",
|
2023-03-27 09:00:32 +00:00
|
|
|
"--add-opens=javafx.graphics/javafx.scene.input=com.sparrowwallet.sparrow",
|
2021-09-07 09:51:14 +00:00
|
|
|
"--add-opens=java.base/java.net=com.sparrowwallet.sparrow",
|
2023-01-31 07:30:53 +00:00
|
|
|
"--add-opens=java.base/java.io=com.google.gson",
|
2023-03-28 12:38:20 +00:00
|
|
|
"--add-opens=java.smartcardio/sun.security.smartcardio=com.sparrowwallet.sparrow",
|
2024-10-10 07:04:01 +00:00
|
|
|
"--add-reads=kotlin.stdlib=kotlinx.coroutines.core",
|
|
|
|
"--add-reads=org.flywaydb.core=java.desktop"]
|
2020-08-27 13:23:42 +00:00
|
|
|
|
|
|
|
if(os.macOsX) {
|
2021-10-14 07:55:26 +00:00
|
|
|
applicationDefaultJvmArgs += ["-Dprism.lcdtext=false", "-Xdock:name=Sparrow", "-Xdock:icon=/Users/scy/git/sparrow/src/main/resources/sparrow-large.png",
|
2020-08-27 15:16:20 +00:00
|
|
|
"--add-opens=javafx.graphics/com.sun.glass.ui.mac=centerdevice.nsmenufx"]
|
2020-08-27 13:23:42 +00:00
|
|
|
}
|
2022-10-11 13:12:40 +00:00
|
|
|
if(headless) {
|
|
|
|
applicationDefaultJvmArgs += ["-Dglass.platform=Monocle", "-Dmonocle.platform=Headless", "-Dprism.order=sw"]
|
|
|
|
}
|
2020-04-02 10:54:41 +00:00
|
|
|
}
|
2020-04-01 11:26:40 +00:00
|
|
|
|
|
|
|
jlink {
|
|
|
|
mergedModule {
|
2020-08-02 15:54:51 +00:00
|
|
|
requires 'javafx.graphics'
|
|
|
|
requires 'javafx.controls'
|
|
|
|
requires 'java.xml'
|
2020-04-12 15:03:25 +00:00
|
|
|
requires 'java.logging'
|
2020-08-02 15:54:51 +00:00
|
|
|
requires 'javafx.base'
|
2020-08-05 10:36:50 +00:00
|
|
|
requires 'jdk.crypto.cryptoki'
|
2020-09-14 08:51:38 +00:00
|
|
|
requires 'java.management'
|
2021-06-25 12:56:22 +00:00
|
|
|
requires 'io.leangen.geantyref'
|
2021-09-05 13:47:15 +00:00
|
|
|
uses 'org.eclipse.jetty.http.HttpFieldPreEncoder'
|
2020-04-01 11:26:40 +00:00
|
|
|
}
|
|
|
|
|
2024-08-09 07:45:23 +00:00
|
|
|
options = ['--strip-native-commands', '--strip-java-debug-attributes', '--compress', 'zip-6', '--no-header-files', '--no-man-pages', '--ignore-signing-information', '--exclude-files', '**.png', '--exclude-resources', 'glob:/com.sparrowwallet.merged.module/META-INF/*']
|
2020-04-01 11:26:40 +00:00
|
|
|
launcher {
|
|
|
|
name = 'sparrow'
|
2022-03-04 08:38:40 +00:00
|
|
|
jvmArgs = ["--add-opens=javafx.graphics/com.sun.javafx.css=org.controlsfx.controls",
|
2020-06-05 14:05:13 +00:00
|
|
|
"--add-opens=javafx.graphics/javafx.scene=org.controlsfx.controls",
|
|
|
|
"--add-opens=javafx.controls/com.sun.javafx.scene.control.behavior=org.controlsfx.controls",
|
|
|
|
"--add-opens=javafx.controls/com.sun.javafx.scene.control.inputmap=org.controlsfx.controls",
|
|
|
|
"--add-opens=javafx.graphics/com.sun.javafx.scene.traversal=org.controlsfx.controls",
|
|
|
|
"--add-opens=javafx.base/com.sun.javafx.event=org.controlsfx.controls",
|
|
|
|
"--add-opens=javafx.controls/javafx.scene.control.cell=com.sparrowwallet.sparrow",
|
2020-06-05 15:25:55 +00:00
|
|
|
"--add-opens=org.controlsfx.controls/impl.org.controlsfx.skin=com.sparrowwallet.sparrow",
|
2021-05-20 15:27:33 +00:00
|
|
|
"--add-opens=org.controlsfx.controls/impl.org.controlsfx.skin=javafx.fxml",
|
2021-06-25 12:56:22 +00:00
|
|
|
"--add-opens=javafx.graphics/com.sun.javafx.tk=centerdevice.nsmenufx",
|
|
|
|
"--add-opens=javafx.graphics/com.sun.javafx.tk.quantum=centerdevice.nsmenufx",
|
|
|
|
"--add-opens=javafx.graphics/com.sun.glass.ui=centerdevice.nsmenufx",
|
|
|
|
"--add-opens=javafx.controls/com.sun.javafx.scene.control=centerdevice.nsmenufx",
|
|
|
|
"--add-opens=javafx.graphics/com.sun.javafx.menu=centerdevice.nsmenufx",
|
2020-08-29 18:06:50 +00:00
|
|
|
"--add-opens=javafx.graphics/com.sun.glass.ui=com.sparrowwallet.sparrow",
|
2023-03-27 09:00:32 +00:00
|
|
|
"--add-opens=javafx.graphics/javafx.scene.input=com.sparrowwallet.sparrow",
|
2020-08-29 18:06:50 +00:00
|
|
|
"--add-opens=javafx.graphics/com.sun.javafx.application=com.sparrowwallet.sparrow",
|
2020-09-14 08:51:38 +00:00
|
|
|
"--add-opens=java.base/java.net=com.sparrowwallet.sparrow",
|
2021-09-07 09:51:14 +00:00
|
|
|
"--add-opens=java.base/java.io=com.google.gson",
|
2023-01-31 07:30:53 +00:00
|
|
|
"--add-opens=java.smartcardio/sun.security.smartcardio=com.sparrowwallet.sparrow",
|
2021-05-11 10:31:36 +00:00
|
|
|
"--add-reads=com.sparrowwallet.merged.module=java.desktop",
|
2021-06-15 14:50:05 +00:00
|
|
|
"--add-reads=com.sparrowwallet.merged.module=java.sql",
|
2021-06-25 12:56:22 +00:00
|
|
|
"--add-reads=com.sparrowwallet.merged.module=com.sparrowwallet.sparrow",
|
2024-02-15 07:24:21 +00:00
|
|
|
"--add-reads=com.sparrowwallet.merged.module=ch.qos.logback.classic",
|
|
|
|
"--add-reads=com.sparrowwallet.merged.module=org.slf4j",
|
2021-09-05 13:47:15 +00:00
|
|
|
"--add-reads=com.sparrowwallet.merged.module=com.fasterxml.jackson.databind",
|
|
|
|
"--add-reads=com.sparrowwallet.merged.module=com.fasterxml.jackson.annotation",
|
2021-12-10 05:57:56 +00:00
|
|
|
"--add-reads=com.sparrowwallet.merged.module=com.fasterxml.jackson.core",
|
2023-03-28 12:38:20 +00:00
|
|
|
"--add-reads=com.sparrowwallet.merged.module=co.nstant.in.cbor",
|
2024-03-26 08:04:05 +00:00
|
|
|
"--add-reads=com.sparrowwallet.merged.module=org.bouncycastle.pg",
|
|
|
|
"--add-reads=com.sparrowwallet.merged.module=org.bouncycastle.provider",
|
2024-10-10 07:04:01 +00:00
|
|
|
"--add-reads=kotlin.stdlib=kotlinx.coroutines.core",
|
|
|
|
"--add-reads=org.flywaydb.core=java.desktop"]
|
2021-01-25 13:54:12 +00:00
|
|
|
|
2022-10-31 15:14:58 +00:00
|
|
|
if(os.windows) {
|
|
|
|
jvmArgs += ["-Djavax.accessibility.assistive_technologies", "-Djavax.accessibility.screen_magnifier_present=false"]
|
|
|
|
}
|
2021-01-25 13:54:12 +00:00
|
|
|
if(os.macOsX) {
|
2021-10-14 07:55:26 +00:00
|
|
|
jvmArgs += ["-Dprism.lcdtext=false", "--add-opens=javafx.graphics/com.sun.glass.ui.mac=com.sparrowwallet.merged.module"]
|
2021-01-25 13:54:12 +00:00
|
|
|
}
|
2022-10-11 13:12:40 +00:00
|
|
|
if(headless) {
|
|
|
|
jvmArgs += ["-Dglass.platform=Monocle", "-Dmonocle.platform=Headless", "-Dprism.order=sw"]
|
|
|
|
}
|
2020-04-01 11:26:40 +00:00
|
|
|
}
|
|
|
|
addExtraDependencies("javafx")
|
2020-04-02 10:54:41 +00:00
|
|
|
jpackage {
|
|
|
|
imageName = "Sparrow"
|
2022-10-25 08:23:17 +00:00
|
|
|
installerName = "Sparrow"
|
2020-08-24 12:52:05 +00:00
|
|
|
appVersion = "${sparrowVersion}"
|
2021-09-08 11:22:21 +00:00
|
|
|
skipInstaller = os.macOsX || properties.skipInstallers
|
2020-04-02 10:54:41 +00:00
|
|
|
imageOptions = []
|
2024-03-04 13:07:56 +00:00
|
|
|
installerOptions = ['--file-associations', 'src/main/deploy/psbt.properties', '--file-associations', 'src/main/deploy/txn.properties', '--file-associations', 'src/main/deploy/asc.properties', '--file-associations', 'src/main/deploy/bitcoin.properties', '--file-associations', 'src/main/deploy/auth47.properties', '--file-associations', 'src/main/deploy/lightning.properties', '--license-file', 'LICENSE']
|
2020-08-25 13:31:04 +00:00
|
|
|
if(os.windows) {
|
2021-12-09 09:50:32 +00:00
|
|
|
installerOptions += ['--win-per-user-install', '--win-dir-chooser', '--win-menu', '--win-menu-group', 'Sparrow', '--win-shortcut', '--resource-dir', 'src/main/deploy/package/windows/']
|
2020-08-25 13:31:04 +00:00
|
|
|
imageOptions += ['--icon', 'src/main/deploy/package/windows/sparrow.ico']
|
2024-08-09 07:44:33 +00:00
|
|
|
installerType = "msi"
|
2020-08-25 17:30:19 +00:00
|
|
|
}
|
|
|
|
if(os.linux) {
|
2022-11-07 08:08:50 +00:00
|
|
|
if(headless) {
|
2024-09-20 08:20:07 +00:00
|
|
|
installerOptions = ['--license-file', 'LICENSE', '--resource-dir', "src/main/deploy/package/linux-headless/${osArch}"]
|
2022-11-07 08:08:50 +00:00
|
|
|
} else {
|
|
|
|
installerOptions += ['--resource-dir', 'src/main/deploy/package/linux/', '--linux-shortcut', '--linux-menu-group', 'Sparrow']
|
|
|
|
}
|
|
|
|
installerOptions += ['--linux-app-category', 'utils', '--linux-app-release', '1', '--linux-rpm-license-type', 'ASL 2.0', '--linux-deb-maintainer', 'mail@sparrowwallet.com']
|
2020-08-28 14:02:08 +00:00
|
|
|
imageOptions += ['--icon', 'src/main/deploy/package/linux/Sparrow.png', '--resource-dir', 'src/main/deploy/package/linux/']
|
2020-04-02 10:54:41 +00:00
|
|
|
}
|
2020-08-25 13:31:04 +00:00
|
|
|
if(os.macOsX) {
|
2020-04-14 07:37:14 +00:00
|
|
|
installerOptions += ['--mac-sign', '--mac-signing-key-user-name', 'Craig Raw (UPLVMSK9D7)']
|
2020-09-14 08:51:38 +00:00
|
|
|
imageOptions += ['--icon', 'src/main/deploy/package/osx/sparrow.icns', '--resource-dir', 'src/main/deploy/package/osx/']
|
2020-04-02 10:54:41 +00:00
|
|
|
installerType = "dmg"
|
|
|
|
}
|
|
|
|
}
|
2020-04-01 11:26:40 +00:00
|
|
|
}
|
2021-03-20 12:13:10 +00:00
|
|
|
|
2024-04-18 07:45:58 +00:00
|
|
|
tasks.jlink.finalizedBy "addUserWritePermission"
|
2024-04-18 07:29:11 +00:00
|
|
|
|
|
|
|
task addUserWritePermission(type: Exec) {
|
|
|
|
if(os.windows) {
|
2024-04-18 07:45:58 +00:00
|
|
|
commandLine 'icacls', "$buildDir\\image\\legal", '/grant', 'Users:(OI)(CI)F', '/T'
|
2024-04-18 07:29:11 +00:00
|
|
|
} else {
|
2024-04-18 07:45:58 +00:00
|
|
|
commandLine 'chmod', '-R', 'u+w', "$buildDir/image/legal"
|
2024-04-18 07:29:11 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-03-20 12:48:24 +00:00
|
|
|
task removeGroupWritePermission(type: Exec) {
|
|
|
|
commandLine 'chmod', '-R', 'g-w', "$buildDir/jpackage/Sparrow"
|
|
|
|
}
|
|
|
|
|
2021-03-20 12:13:10 +00:00
|
|
|
task packageZipDistribution(type: Zip) {
|
2022-10-25 08:23:17 +00:00
|
|
|
archiveFileName = "Sparrow-${sparrowVersion}.zip"
|
2021-03-20 12:13:10 +00:00
|
|
|
destinationDirectory = file("$buildDir/jpackage")
|
2024-08-20 11:14:44 +00:00
|
|
|
preserveFileTimestamps = os.macOsX
|
2021-03-20 12:48:24 +00:00
|
|
|
from("$buildDir/jpackage/") {
|
|
|
|
include "Sparrow/**"
|
2022-06-07 13:01:00 +00:00
|
|
|
include "Sparrow.app/**"
|
2021-03-20 12:48:24 +00:00
|
|
|
}
|
2021-03-20 12:13:10 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
task packageTarDistribution(type: Tar) {
|
2021-03-20 12:48:24 +00:00
|
|
|
dependsOn removeGroupWritePermission
|
2022-10-25 10:02:00 +00:00
|
|
|
archiveFileName = "sparrow-${sparrowVersion}-${releaseArch}.tar.gz"
|
2021-03-20 12:13:10 +00:00
|
|
|
destinationDirectory = file("$buildDir/jpackage")
|
|
|
|
compression = Compression.GZIP
|
2021-03-20 12:48:24 +00:00
|
|
|
from("$buildDir/jpackage/") {
|
|
|
|
include "Sparrow/**"
|
|
|
|
}
|
2021-03-20 12:13:10 +00:00
|
|
|
}
|
2021-06-25 12:56:22 +00:00
|
|
|
|
|
|
|
extraJavaModuleInfo {
|
2024-11-26 08:49:38 +00:00
|
|
|
module('no.tornado:tornadofx-controls', 'tornadofx.controls') {
|
2021-06-25 12:56:22 +00:00
|
|
|
exports('tornadofx.control')
|
|
|
|
requires('javafx.controls')
|
|
|
|
}
|
2024-11-26 08:49:38 +00:00
|
|
|
module('com.github.arteam:simple-json-rpc-core', 'simple.json.rpc.core') {
|
2021-06-25 12:56:22 +00:00
|
|
|
exports('com.github.arteam.simplejsonrpc.core.annotation')
|
|
|
|
exports('com.github.arteam.simplejsonrpc.core.domain')
|
|
|
|
requires('com.fasterxml.jackson.core')
|
|
|
|
requires('com.fasterxml.jackson.annotation')
|
|
|
|
requires('com.fasterxml.jackson.databind')
|
|
|
|
requires('org.jetbrains.annotations')
|
|
|
|
}
|
2024-11-26 08:49:38 +00:00
|
|
|
module('com.github.arteam:simple-json-rpc-client', 'simple.json.rpc.client') {
|
2021-06-25 12:56:22 +00:00
|
|
|
exports('com.github.arteam.simplejsonrpc.client')
|
|
|
|
exports('com.github.arteam.simplejsonrpc.client.builder')
|
|
|
|
exports('com.github.arteam.simplejsonrpc.client.exception')
|
2021-09-06 08:18:36 +00:00
|
|
|
requires('com.fasterxml.jackson.core')
|
2021-06-25 12:56:22 +00:00
|
|
|
requires('com.fasterxml.jackson.databind')
|
|
|
|
requires('simple.json.rpc.core')
|
|
|
|
}
|
2024-11-26 08:49:38 +00:00
|
|
|
module('com.github.arteam:simple-json-rpc-server', 'simple.json.rpc.server') {
|
2021-06-25 12:56:22 +00:00
|
|
|
exports('com.github.arteam.simplejsonrpc.server')
|
|
|
|
requires('simple.json.rpc.core')
|
|
|
|
requires('com.google.common')
|
|
|
|
requires('org.slf4j')
|
|
|
|
requires('com.fasterxml.jackson.databind')
|
|
|
|
}
|
2024-11-26 08:49:38 +00:00
|
|
|
module("com.nativelibs4java:bridj${targetName}", 'com.nativelibs4java.bridj') {
|
2021-06-25 12:56:22 +00:00
|
|
|
exports('org.bridj')
|
|
|
|
exports('org.bridj.cpp')
|
|
|
|
requires('java.logging')
|
|
|
|
}
|
2024-11-26 08:49:38 +00:00
|
|
|
module("com.github.sarxos:webcam-capture${targetName}", 'com.github.sarxos.webcam.capture') {
|
2021-06-25 12:56:22 +00:00
|
|
|
exports('com.github.sarxos.webcam')
|
|
|
|
exports('com.github.sarxos.webcam.ds.buildin')
|
|
|
|
exports('com.github.sarxos.webcam.ds.buildin.natives')
|
|
|
|
requires('java.desktop')
|
|
|
|
requires('com.nativelibs4java.bridj')
|
|
|
|
requires('org.slf4j')
|
|
|
|
}
|
2024-11-26 08:49:38 +00:00
|
|
|
module('de.codecentric.centerdevice:centerdevice-nsmenufx', 'centerdevice.nsmenufx') {
|
2021-06-25 12:56:22 +00:00
|
|
|
exports('de.codecentric.centerdevice')
|
|
|
|
requires('javafx.base')
|
|
|
|
requires('javafx.controls')
|
|
|
|
requires('javafx.graphics')
|
|
|
|
}
|
2024-11-26 08:49:38 +00:00
|
|
|
module('net.sourceforge.javacsv:javacsv', 'net.sourceforge.javacsv') {
|
2021-06-25 12:56:22 +00:00
|
|
|
exports('com.csvreader')
|
|
|
|
}
|
2024-11-26 08:49:38 +00:00
|
|
|
module('com.google.guava:listenablefuture|empty-to-avoid-conflict-with-guava', 'com.google.guava.listenablefuture')
|
|
|
|
module('com.google.code.findbugs:jsr305', 'com.google.code.findbugs.jsr305')
|
2024-02-15 07:24:21 +00:00
|
|
|
module('j2objc-annotations-2.8.jar', 'com.google.j2objc.j2objc.annotations', '2.8')
|
2024-11-26 08:49:38 +00:00
|
|
|
module('org.jdbi:jdbi3-core', 'org.jdbi.v3.core') {
|
2021-06-25 12:56:22 +00:00
|
|
|
exports('org.jdbi.v3.core')
|
|
|
|
exports('org.jdbi.v3.core.mapper')
|
|
|
|
exports('org.jdbi.v3.core.statement')
|
|
|
|
exports('org.jdbi.v3.core.result')
|
|
|
|
exports('org.jdbi.v3.core.h2')
|
|
|
|
exports('org.jdbi.v3.core.spi')
|
|
|
|
requires('io.leangen.geantyref')
|
|
|
|
requires('java.sql')
|
|
|
|
requires('org.slf4j')
|
2024-02-15 07:24:21 +00:00
|
|
|
requires('com.github.benmanes.caffeine')
|
2021-06-25 12:56:22 +00:00
|
|
|
}
|
2024-11-26 08:49:38 +00:00
|
|
|
module('io.leangen.geantyref:geantyref', 'io.leangen.geantyref') {
|
2021-06-25 12:56:22 +00:00
|
|
|
exports('io.leangen.geantyref')
|
|
|
|
}
|
2024-11-26 08:49:38 +00:00
|
|
|
module('org.fxmisc.richtext:richtextfx', 'org.fxmisc.richtext') {
|
2021-06-25 12:56:22 +00:00
|
|
|
exports('org.fxmisc.richtext')
|
|
|
|
exports('org.fxmisc.richtext.event')
|
|
|
|
exports('org.fxmisc.richtext.model')
|
|
|
|
requires('javafx.base')
|
|
|
|
requires('javafx.controls')
|
|
|
|
requires('javafx.graphics')
|
|
|
|
requires('org.fxmisc.flowless')
|
|
|
|
requires('org.reactfx.reactfx')
|
|
|
|
requires('org.fxmisc.undo.undofx')
|
|
|
|
requires('org.fxmisc.wellbehaved')
|
|
|
|
}
|
2024-11-26 08:49:38 +00:00
|
|
|
module('org.fxmisc.undo:undofx', 'org.fxmisc.undo.undofx') {
|
2021-06-25 12:56:22 +00:00
|
|
|
requires('javafx.base')
|
|
|
|
requires('javafx.controls')
|
|
|
|
requires('javafx.graphics')
|
|
|
|
requires('org.reactfx.reactfx')
|
|
|
|
}
|
2024-11-26 08:49:38 +00:00
|
|
|
module('org.fxmisc.flowless:flowless', 'org.fxmisc.flowless') {
|
2021-06-25 12:56:22 +00:00
|
|
|
exports('org.fxmisc.flowless')
|
|
|
|
requires('javafx.base')
|
|
|
|
requires('javafx.controls')
|
|
|
|
requires('javafx.graphics')
|
|
|
|
requires('org.reactfx.reactfx')
|
|
|
|
}
|
2024-11-26 08:49:38 +00:00
|
|
|
module('org.reactfx:reactfx', 'org.reactfx.reactfx') {
|
2021-06-25 12:56:22 +00:00
|
|
|
exports('org.reactfx')
|
|
|
|
exports('org.reactfx.value')
|
|
|
|
exports('org.reactfx.collection')
|
|
|
|
exports('org.reactfx.util')
|
|
|
|
requires('javafx.base')
|
|
|
|
requires('javafx.graphics')
|
|
|
|
requires('javafx.controls')
|
|
|
|
}
|
2024-11-26 08:49:38 +00:00
|
|
|
module('io.reactivex.rxjava2:rxjavafx', 'io.reactivex.rxjava2fx') {
|
2021-11-25 14:15:59 +00:00
|
|
|
exports('io.reactivex.rxjavafx.schedulers')
|
|
|
|
requires('io.reactivex.rxjava2')
|
|
|
|
requires('javafx.graphics')
|
|
|
|
}
|
2024-11-26 08:49:38 +00:00
|
|
|
module('org.flywaydb:flyway-core', 'org.flywaydb.core') {
|
2024-10-10 07:04:01 +00:00
|
|
|
exports('org.flywaydb.core')
|
|
|
|
exports('org.flywaydb.core.api')
|
|
|
|
exports('org.flywaydb.core.api.exception')
|
|
|
|
exports('org.flywaydb.core.api.configuration')
|
|
|
|
uses('org.flywaydb.core.extensibility.Plugin')
|
|
|
|
requires('java.sql')
|
|
|
|
}
|
2024-11-26 08:49:38 +00:00
|
|
|
module('org.fxmisc.wellbehaved:wellbehavedfx', 'org.fxmisc.wellbehaved') {
|
2021-06-25 12:56:22 +00:00
|
|
|
requires('javafx.base')
|
|
|
|
requires('javafx.graphics')
|
|
|
|
}
|
2024-11-26 08:49:38 +00:00
|
|
|
module('com.github.jai-imageio:jai-imageio-core', 'com.github.jai.imageio.jai.imageio.core') {
|
|
|
|
requires('java.desktop')
|
|
|
|
}
|
|
|
|
module('co.nstant.in:cbor', 'co.nstant.in.cbor') {
|
2021-06-25 12:56:22 +00:00
|
|
|
exports('co.nstant.in.cbor')
|
2023-01-25 12:19:22 +00:00
|
|
|
exports('co.nstant.in.cbor.model')
|
|
|
|
exports('co.nstant.in.cbor.builder')
|
2021-06-25 12:56:22 +00:00
|
|
|
}
|
2024-11-26 08:49:38 +00:00
|
|
|
module('net.sourceforge.streamsupport:streamsupport', 'net.sourceforge.streamsupport') {
|
2021-08-12 15:50:13 +00:00
|
|
|
requires('jdk.unsupported')
|
|
|
|
exports('java8.util')
|
|
|
|
exports('java8.util.function')
|
|
|
|
exports('java8.util.stream')
|
|
|
|
}
|
2024-11-26 08:49:38 +00:00
|
|
|
module('net.coobird:thumbnailator', 'net.coobird.thumbnailator') {
|
2022-11-14 09:00:26 +00:00
|
|
|
exports('net.coobird.thumbnailator')
|
|
|
|
requires('java.desktop')
|
|
|
|
}
|
2024-11-26 08:49:38 +00:00
|
|
|
module("io.matthewnelson.kotlin-components:kmp-tor-jvm", 'kmp.tor.jvm') {
|
2023-03-28 12:38:20 +00:00
|
|
|
exports('io.matthewnelson.kmp.tor')
|
|
|
|
requires('kmp.tor.binary.extract.jvm')
|
|
|
|
requires('kmp.tor.manager.jvm')
|
|
|
|
requires('kmp.tor.manager.common.jvm')
|
|
|
|
requires('kmp.tor.controller.common.jvm')
|
|
|
|
requires('kotlin.stdlib')
|
2023-06-22 05:54:48 +00:00
|
|
|
requires('kotlinx.coroutines.core')
|
2021-06-25 12:56:22 +00:00
|
|
|
requires('java.management')
|
|
|
|
}
|
2023-03-28 12:38:20 +00:00
|
|
|
if(kmpOs == "linux" && kmpArch == "arm64") {
|
2024-11-26 09:00:26 +00:00
|
|
|
module("com.sparrowwallet.kmp-tor-binary:kmp-tor-binary-${kmpOs}${kmpArch}-jvm", "kmp.tor.binary.${kmpOs}${kmpArch}") {
|
2023-03-28 12:38:20 +00:00
|
|
|
exports("io.matthewnelson.kmp.tor.resource.${kmpOs}.${kmpArch}")
|
|
|
|
exports("kmptor.${kmpOs}.${kmpArch}")
|
|
|
|
}
|
|
|
|
} else {
|
2024-11-26 08:49:38 +00:00
|
|
|
module("io.matthewnelson.kotlin-components:kmp-tor-binary-${kmpOs}${kmpArch}-jvm", "kmp.tor.binary.${kmpOs}${kmpArch}") {
|
2023-03-28 12:38:20 +00:00
|
|
|
exports("io.matthewnelson.kmp.tor.binary.${kmpOs}.${kmpArch}")
|
|
|
|
exports("kmptor.${kmpOs}.${kmpArch}")
|
|
|
|
}
|
2021-06-25 12:56:22 +00:00
|
|
|
}
|
2024-11-26 08:49:38 +00:00
|
|
|
module("io.matthewnelson.kotlin-components:kmp-tor-binary-extract-jvm", 'kmp.tor.binary.extract.jvm') {
|
2023-03-28 12:38:20 +00:00
|
|
|
exports('io.matthewnelson.kmp.tor.binary.extract')
|
|
|
|
exports('io.matthewnelson.kmp.tor.binary.extract.internal')
|
|
|
|
requires('kotlin.stdlib')
|
|
|
|
requires("kmp.tor.binary.${kmpOs}${kmpArch}")
|
|
|
|
requires('kmp.tor.binary.geoip.jvm')
|
|
|
|
}
|
2024-11-26 08:49:38 +00:00
|
|
|
module("io.matthewnelson.kotlin-components:kmp-tor-manager-jvm", 'kmp.tor.manager.jvm') {
|
2023-03-28 12:38:20 +00:00
|
|
|
exports('io.matthewnelson.kmp.tor.manager')
|
|
|
|
exports('io.matthewnelson.kmp.tor.manager.util')
|
|
|
|
requires('kmp.tor.controller.common.jvm')
|
|
|
|
requires('kmp.tor.manager.common.jvm')
|
|
|
|
requires('kotlin.stdlib')
|
2023-06-22 05:54:48 +00:00
|
|
|
requires('kotlinx.coroutines.core')
|
2023-03-28 12:38:20 +00:00
|
|
|
requires('kotlinx.atomicfu')
|
|
|
|
requires('kmp.tor.controller.jvm')
|
|
|
|
requires('kmp.tor.common.jvm')
|
|
|
|
}
|
2024-11-26 08:49:38 +00:00
|
|
|
module("io.matthewnelson.kotlin-components:kmp-tor-manager-common-jvm", 'kmp.tor.manager.common.jvm') {
|
2023-03-28 12:38:20 +00:00
|
|
|
exports('io.matthewnelson.kmp.tor.manager.common')
|
|
|
|
exports('io.matthewnelson.kmp.tor.manager.common.event')
|
|
|
|
exports('io.matthewnelson.kmp.tor.manager.common.state')
|
|
|
|
requires('kmp.tor.controller.common.jvm')
|
|
|
|
requires('kmp.tor.common.jvm')
|
|
|
|
requires('kotlin.stdlib')
|
2021-06-25 12:56:22 +00:00
|
|
|
}
|
2024-11-26 08:49:38 +00:00
|
|
|
module("io.matthewnelson.kotlin-components:kmp-tor-controller-common-jvm", 'kmp.tor.controller.common.jvm') {
|
2023-03-28 12:38:20 +00:00
|
|
|
exports('io.matthewnelson.kmp.tor.controller.common.config')
|
|
|
|
exports('io.matthewnelson.kmp.tor.controller.common.file')
|
|
|
|
exports('io.matthewnelson.kmp.tor.controller.common.control')
|
|
|
|
exports('io.matthewnelson.kmp.tor.controller.common.control.usecase')
|
|
|
|
exports('io.matthewnelson.kmp.tor.controller.common.events')
|
|
|
|
exports('io.matthewnelson.kmp.tor.controller.common.exceptions')
|
|
|
|
requires('kmp.tor.common.jvm')
|
|
|
|
requires('kotlin.stdlib')
|
|
|
|
requires('kotlinx.atomicfu')
|
2021-06-25 12:56:22 +00:00
|
|
|
}
|
2024-11-26 08:49:38 +00:00
|
|
|
module("io.matthewnelson.kotlin-components:kmp-tor-common-jvm", 'kmp.tor.common.jvm') {
|
2023-03-28 12:38:20 +00:00
|
|
|
exports('io.matthewnelson.kmp.tor.common.address')
|
|
|
|
requires('parcelize.jvm')
|
|
|
|
requires('kotlin.stdlib')
|
|
|
|
}
|
2024-11-26 08:49:38 +00:00
|
|
|
module("io.matthewnelson.kotlin-components:kmp-tor-controller-jvm", 'kmp.tor.controller.jvm') {
|
2023-03-28 12:38:20 +00:00
|
|
|
exports('io.matthewnelson.kmp.tor.controller.internal.controller')
|
|
|
|
requires('kmp.tor.common.jvm')
|
|
|
|
requires('kmp.tor.controller.common.jvm')
|
2023-06-22 05:54:48 +00:00
|
|
|
requires('kotlinx.coroutines.core')
|
2023-03-28 12:38:20 +00:00
|
|
|
requires('kotlin.stdlib')
|
|
|
|
requires('kotlinx.atomicfu')
|
|
|
|
requires('encoding.core.jvm')
|
|
|
|
requires('encoding.base16.jvm')
|
|
|
|
}
|
2024-11-26 08:49:38 +00:00
|
|
|
module("io.matthewnelson.kotlin-components:kmp-tor-ext-callback-common-jvm", 'kmp.tor.ext.callback.common.jvm') {
|
2023-03-28 12:38:20 +00:00
|
|
|
exports('io.matthewnelson.kmp.tor.ext.callback.common')
|
|
|
|
}
|
2024-11-26 08:49:38 +00:00
|
|
|
module("io.matthewnelson.kotlin-components:kmp-tor-ext-callback-manager-jvm", 'kmp.tor.ext.callback.manager.jvm') {
|
2023-03-28 12:38:20 +00:00
|
|
|
exports('io.matthewnelson.kmp.tor.ext.callback.manager')
|
|
|
|
requires('kmp.tor.manager.jvm')
|
|
|
|
requires('kmp.tor.ext.callback.common.jvm')
|
|
|
|
requires('kmp.tor.ext.callback.manager.common.jvm')
|
|
|
|
requires('kmp.tor.ext.callback.controller.common.jvm')
|
|
|
|
requires('kmp.tor.manager.common.jvm')
|
|
|
|
requires('kmp.tor.controller.common.jvm')
|
|
|
|
requires('kotlin.stdlib')
|
2023-06-22 05:54:48 +00:00
|
|
|
requires('kotlinx.coroutines.core')
|
2023-03-28 12:38:20 +00:00
|
|
|
}
|
2024-11-26 08:49:38 +00:00
|
|
|
module("io.matthewnelson.kotlin-components:kmp-tor-ext-callback-manager-common-jvm", 'kmp.tor.ext.callback.manager.common.jvm') {
|
2023-03-28 12:38:20 +00:00
|
|
|
exports('io.matthewnelson.kmp.tor.ext.callback.manager.common')
|
|
|
|
requires('kmp.tor.ext.callback.controller.common.jvm')
|
|
|
|
}
|
2024-11-26 08:49:38 +00:00
|
|
|
module("io.matthewnelson.kotlin-components:kmp-tor-ext-callback-controller-common-jvm", 'kmp.tor.ext.callback.controller.common.jvm') {
|
2023-03-28 12:38:20 +00:00
|
|
|
exports('io.matthewnelson.kmp.tor.ext.callback.controller.common.control')
|
|
|
|
exports('io.matthewnelson.kmp.tor.ext.callback.controller.common.control.usecase')
|
|
|
|
}
|
2024-11-26 08:49:38 +00:00
|
|
|
module("io.matthewnelson.kotlin-components:kmp-tor-binary-geoip-jvm", 'kmp.tor.binary.geoip.jvm') {
|
2023-03-28 12:38:20 +00:00
|
|
|
exports('io.matthewnelson.kmp.tor.binary.geoip')
|
|
|
|
exports('kmptor')
|
|
|
|
}
|
2023-06-22 05:54:48 +00:00
|
|
|
module("base16-jvm-2.0.0.jar", 'encoding.base16.jvm', "2.0.0") {
|
2023-03-28 12:38:20 +00:00
|
|
|
exports('io.matthewnelson.encoding.base16')
|
|
|
|
requires('encoding.core.jvm')
|
|
|
|
requires('kotlin.stdlib')
|
|
|
|
}
|
2023-06-22 05:54:48 +00:00
|
|
|
module("base32-jvm-2.0.0.jar", 'encoding.base32.jvm', "2.0.0")
|
|
|
|
module("base64-jvm-2.0.0.jar", 'encoding.base64.jvm', "2.0.0")
|
|
|
|
module("core-jvm-2.0.0.jar", 'encoding.core.jvm', "2.0.0") {
|
2023-03-28 12:38:20 +00:00
|
|
|
exports('io.matthewnelson.encoding.core')
|
|
|
|
requires('kotlin.stdlib')
|
|
|
|
}
|
|
|
|
module("parcelize-jvm-0.1.2.jar", 'parcelize.jvm', "0.1.2") {
|
|
|
|
exports('io.matthewnelson.component.parcelize')
|
2021-06-25 12:56:22 +00:00
|
|
|
}
|
2024-11-26 08:49:38 +00:00
|
|
|
module('org.jcommander:jcommander', 'org.jcommander') {
|
2021-06-25 12:56:22 +00:00
|
|
|
exports('com.beust.jcommander')
|
|
|
|
}
|
2024-11-26 08:49:38 +00:00
|
|
|
module('com.jcraft:jzlib', 'com.jcraft.jzlib') {
|
2024-02-26 09:41:10 +00:00
|
|
|
exports('com.jcraft.jzlib')
|
|
|
|
}
|
2021-06-25 12:56:22 +00:00
|
|
|
}
|