import java.time.Instant plugins { id 'java' id 'application' } group projectGroup version projectVersion application { mainClass = 'cz.senslog.messaging.app.Main' } repositories { mavenLocal() mavenCentral() } java { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } build { doLast { ant.propertyfile(file: "gradle.properties") { entry( key: "buildVersion", value: Instant.now().getEpochSecond()) } } } jar { duplicatesStrategy = DuplicatesStrategy.EXCLUDE manifest { attributes 'Implementation-Title': 'SensLog Messaging', 'Implementation-Version': version, 'Main-Class': 'cz.senslog.messaging.app.Main' } from { configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } } } jar.archiveFileName = "messaging.jar" test { useJUnitPlatform() } dependencies { implementation 'org.apache.logging.log4j:log4j-api:2.22.1' implementation 'org.apache.logging.log4j:log4j-core:2.22.1' implementation group: 'org.yaml', name: 'snakeyaml', version: '2.2' implementation 'io.vertx:vertx-core:4.5.3' implementation 'io.vertx:vertx-web:4.5.3' implementation 'io.vertx:vertx-web-openapi:4.5.3' implementation 'com.noenv:vertx-jsonpath:4.5.8' implementation 'org.eclipse.angus:angus-mail:2.0.2' testImplementation platform('org.junit:junit-bom:5.9.1') testImplementation 'org.junit.jupiter:junit-jupiter' }