mdns-explorer/build.gradle
2023-08-10 14:33:09 +02:00

120 lines
3.4 KiB
Groovy

import org.apache.tools.ant.filters.ReplaceTokens
plugins {
id 'application'
id 'org.openjfx.javafxplugin' version '0.0.14'
id "com.github.johnrengelman.shadow" version "8.1.1"
id 'com.gluonhq.gluonfx-gradle-plugin' version '1.0.19'
}
repositories {
mavenCentral()
mavenLocal()
maven {
url 'https://nexus.gluonhq.com/nexus/content/repositories/releases'
}
}
version = "0.0.1"
mainClassName = "biz.nellemann.mdexpl.App"
application.mainModule = "biz.nellemann.mdexpl"
tasks.withType(JavaCompile).configureEach {
options.encoding = 'UTF-8'
}
java {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
modularity.inferModulePath = false
}
/* This is to be able to build with a JDK not bundled with JavaFX */
javafx {
version = '21+'
modules = [ 'javafx.controls', 'javafx.fxml' ]
// platform("linux-aarch64")
}
dependencies {
implementation 'com.gluonhq:charm-glisten:6.2.3'
implementation 'com.gluonhq:glisten-afterburner:2.1.0'
implementation 'org.slf4j:slf4j-api:2.0.7' // Logging API
runtimeOnly 'org.slf4j:slf4j-simple:2.0.7' // Logging API
implementation 'org.jmdns:jmdns:3.5.8'
testImplementation 'org.spockframework:spock-core:2.3-groovy-3.0'
testImplementation 'org.slf4j:slf4j-simple:2.0.7'
}
test {
useJUnitPlatform()
}
gluonfx {
verbose = true
target = project.hasProperty("target") ? project.getProperty("target") : 'host'
//target = 'ios' // Uncomment to enable iOS - see https://docs.gluonhq.com/#prerequisites_ios
//target = 'android' // Uncomment to enable Android - see https://docs.gluonhq.com/#prerequisites_android
attachConfig {
version = "4.0.18"
services 'storage', 'display', 'lifecycle', 'statusbar'
}
reflectionList = [
"javafx.fxml.FXMLLoader",
"com.gluonhq.charm.glisten.mvc.View",
"com.gluonhq.charm.glisten.control.Icon",
"com.gluonhq.charm.glisten.control.DropdownButton",
"com.gluonhq.charm.glisten.control.BottomNavigation",
"com.gluonhq.charm.glisten.control.BottomNavigationButton",
"biz.nellemann.mdexpl.view.AboutPresenter",
"biz.nellemann.mdexpl.view.MainPresenter", "biz.nellemann.mdexpl.model.MainModel",
"biz.nellemann.mdexpl.service.DiscoveryService",
]
compilerArgs = [
'-Djava.awt.headless=true'
]
appIdentifier = 'biz.nellemann.mdexpl'
release {
// Android
appLabel = "mDNS Explorer"
//versionCode = "1"
//versionName = "1.0"
//providedKeyStorePath = ""
//providedKeyStorePassword = ""
//providedKeyAlias = ""
//providedKeyAliasPassword = ""
// iOS
//bundleName = "mDNS Explorer"
//bundleVersion = ""
//bundleShortVersion = ""
//providedSigningIdentity = ""
//providedProvisioningProfile = ""
//skipSigning = true // Will not run or deploy if not signed
}
}
shadowJar {
//archiveBaseName.set("vtd-poc-app")
//archiveClassifier.set('all')
archiveVersion.set("${System.env.BITBUCKET_BRANCH ?: 'dev' }")
}
tasks.build.dependsOn tasks.shadowJar
tasks.processResources {
filesMatching('**/configuration.properties') {
filter(ReplaceTokens, tokens: [copyright: '2023', version: System.env.BITBUCKET_BUILD_NUMBER ?: 'development' ])
}
}