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', 'cache' } 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 = "" //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' ]) } }