xpipe-mirror/app/build.gradle

157 lines
5.7 KiB
Groovy
Raw Normal View History

2023-01-27 02:34:46 +00:00
plugins {
id 'application'
id 'jvm-test-suite'
id 'java-library'
2023-01-27 02:34:46 +00:00
}
repositories {
mavenCentral()
}
apply from: "$rootDir/gradle/gradle_scripts/java.gradle"
apply from: "$rootDir/gradle/gradle_scripts/javafx.gradle"
2024-03-25 08:15:31 +00:00
apply from: "$rootDir/gradle/gradle_scripts/jna.gradle"
2023-01-27 02:34:46 +00:00
apply from: "$rootDir/gradle/gradle_scripts/lombok.gradle"
configurations {
implementation.extendsFrom(javafx)
2024-03-25 08:15:31 +00:00
api.extendsFrom(jna)
2023-01-27 02:34:46 +00:00
}
dependencies {
api project(':core')
api project(':beacon')
2023-01-27 02:34:46 +00:00
2023-02-19 17:44:47 +00:00
compileOnly 'org.hamcrest:hamcrest:2.2'
compileOnly 'org.junit.jupiter:junit-jupiter-api:5.10.2'
compileOnly 'org.junit.jupiter:junit-jupiter-params:5.10.2'
2024-02-28 15:14:13 +00:00
api 'com.vladsch.flexmark:flexmark:0.64.8'
api 'com.vladsch.flexmark:flexmark-util-data:0.64.8'
api 'com.vladsch.flexmark:flexmark-util-ast:0.64.8'
api 'com.vladsch.flexmark:flexmark-util-builder:0.64.8'
api 'com.vladsch.flexmark:flexmark-util-sequence:0.64.8'
api 'com.vladsch.flexmark:flexmark-util-misc:0.64.8'
api 'com.vladsch.flexmark:flexmark-util-dependency:0.64.8'
api 'com.vladsch.flexmark:flexmark-util-collection:0.64.8'
api 'com.vladsch.flexmark:flexmark-util-format:0.64.8'
api 'com.vladsch.flexmark:flexmark-util-html:0.64.8'
api 'com.vladsch.flexmark:flexmark-util-visitor:0.64.8'
api files("$rootDir/gradle/gradle_scripts/markdowngenerator-1.3.1.1.jar")
2024-04-13 16:23:09 +00:00
api files("$rootDir/gradle/gradle_scripts/vernacular-1.16.jar")
api 'info.picocli:picocli:4.7.5'
2024-03-21 06:14:50 +00:00
api 'org.kohsuke:github-api:1.321'
2024-04-13 16:23:09 +00:00
api 'io.sentry:sentry:7.8.0'
2024-03-21 06:14:50 +00:00
api 'org.ocpsoft.prettytime:prettytime:5.0.7.Final'
2024-04-13 16:23:09 +00:00
api 'commons-io:commons-io:2.16.1'
2024-03-21 06:14:50 +00:00
api group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: "2.17.0"
api group: 'com.fasterxml.jackson.module', name: 'jackson-module-parameter-names', version: "2.17.0"
api group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: "2.17.0"
api group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jdk8', version: "2.17.0"
api group: 'org.kordamp.ikonli', name: 'ikonli-material2-pack', version: "12.2.0"
api group: 'org.kordamp.ikonli', name: 'ikonli-materialdesign2-pack', version: "12.2.0"
api group: 'org.kordamp.ikonli', name: 'ikonli-javafx', version: "12.2.0"
api group: 'org.kordamp.ikonli', name: 'ikonli-material-pack', version: "12.2.0"
api group: 'org.kordamp.ikonli', name: 'ikonli-feather-pack', version: "12.2.0"
2024-04-24 17:31:48 +00:00
api group: 'org.slf4j', name: 'slf4j-api', version: '2.0.13'
api group: 'org.slf4j', name: 'slf4j-jdk-platform-logging', version: '2.0.13'
api 'io.xpipe:modulefs:0.1.5'
api 'net.synedra:validatorfx:0.4.2'
api ('io.github.mkpaz:atlantafx-base:2.0.1') {
exclude group: 'org.openjfx', module: 'javafx-base'
exclude group: 'org.openjfx', module: 'javafx-controls'
}
2023-01-27 02:34:46 +00:00
}
apply from: "$rootDir/gradle/gradle_scripts/local_junit_suite.gradle"
2023-01-27 02:34:46 +00:00
2023-04-04 16:11:31 +00:00
def extensionJarDepList = project.allExtensions.stream().map(p -> p.getTasksByName('jar', true)).toList();
2023-01-27 02:34:46 +00:00
jar {
finalizedBy(extensionJarDepList)
}
application {
mainModule = 'io.xpipe.app'
mainClass = 'io.xpipe.app.Main'
applicationDefaultJvmArgs = jvmRunArgs
2023-10-16 03:37:22 +00:00
applicationDefaultJvmArgs.add('-XX:+EnableDynamicAgentLoading')
2023-01-27 02:34:46 +00:00
}
run {
systemProperty 'io.xpipe.app.useVirtualThreads', 'false'
2023-01-27 02:34:46 +00:00
systemProperty 'io.xpipe.app.mode', 'gui'
2024-03-25 08:15:31 +00:00
systemProperty 'io.xpipe.app.dataDir', "$projectDir/local_git23/"
2023-01-27 02:34:46 +00:00
systemProperty 'io.xpipe.app.writeLogs', "true"
systemProperty 'io.xpipe.app.writeSysOut', "true"
systemProperty 'io.xpipe.app.developerMode', "true"
2023-03-19 19:38:29 +00:00
systemProperty 'io.xpipe.app.logLevel', "trace"
2023-02-19 17:44:47 +00:00
systemProperty 'io.xpipe.app.fullVersion', rootProject.fullVersion
systemProperty 'io.xpipe.app.showcase', 'true'
systemProperty 'io.xpipe.app.staging', isStage
// systemProperty "io.xpipe.beacon.port", "21724"
2023-01-27 02:34:46 +00:00
// systemProperty "io.xpipe.beacon.printMessages", "true"
// systemProperty 'io.xpipe.app.debugPlatform', "true"
// Apply passed xpipe properties
for (final def e in System.getProperties().entrySet()) {
if (e.getKey().toString().contains("xpipe")) {
systemProperty e.getKey().toString(), e.getValue()
}
}
2023-01-27 02:34:46 +00:00
2023-07-29 12:36:04 +00:00
workingDir = rootDir
2023-01-27 02:34:46 +00:00
}
task runAttachedDebugger(type: JavaExec) {
2023-07-29 12:36:04 +00:00
workingDir = rootDir
2023-01-27 02:34:46 +00:00
classpath = run.classpath
mainModule = 'io.xpipe.app'
mainClass = 'io.xpipe.app.Main'
modularity.inferModulePath = true
jvmArgs += jvmRunArgs
jvmArgs += List.of(
2023-11-18 07:40:32 +00:00
"-javaagent:${System.getProperty("user.home")}/.attachme/attachme-agent-1.2.4.jar=port:7857,host:localhost".toString(),
2023-01-27 02:34:46 +00:00
"-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=127.0.0.1:0"
)
2023-10-16 03:37:22 +00:00
jvmArgs += '-XX:+EnableDynamicAgentLoading'
2023-01-27 02:34:46 +00:00
systemProperties run.systemProperties
}
2023-11-22 19:24:14 +00:00
processResources {
doLast {
def cssFiles = fileTree(dir: "$sourceSets.main.output.resourcesDir/io/xpipe/app/resources/style")
cssFiles.include "**/*.css"
cssFiles.each { css ->
logger.info("converting CSS to BSS ${css}");
javaexec {
workingDir = project.projectDir
jvmArgs += "--module-path=${configurations.javafx.asFileTree.asPath},"
2023-11-22 19:24:14 +00:00
jvmArgs += "--add-modules=javafx.graphics"
main = "com.sun.javafx.css.parser.Css2Bin"
args css
}
delete css
}
}
2023-01-27 02:34:46 +00:00
doLast {
def resourcesDir = new File(sourceSets.main.output.resourcesDir, "io/xpipe/app/resources/third-party")
resourcesDir.mkdirs()
copy {
from "$rootDir/dist/licenses"
into resourcesDir
}
}
}
distTar {
enabled = false;
}
distZip {
enabled = false;
}