import java.time.Instant plugins { id 'java' id 'application' } group projectGroup version projectVersion jar.archiveFileName = "telemetry.jar" application { mainClass = 'cz.senslog.telemetry.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 Telemetry', 'Implementation-Version': version, 'Main-Class': 'cz.senslog.telemetry.app.Main' } from { configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } } } test { useJUnitPlatform() } dependencies { implementation 'org.apache.logging.log4j:log4j-api:2.22.0' implementation 'org.apache.logging.log4j:log4j-core:2.22.0' implementation 'io.vertx:vertx-core:4.5.8' implementation 'io.vertx:vertx-web:4.5.8' implementation 'io.vertx:vertx-web-openapi:4.5.8' implementation 'io.vertx:vertx-auth-jwt:4.5.8' implementation 'io.vertx:vertx-pg-client:4.5.8' implementation 'org.postgresql:postgresql:42.7.3' implementation 'com.ongres.scram:client:2.1' implementation 'org.apache.pdfbox:pdfbox:3.0.3' testImplementation 'org.junit.jupiter:junit-jupiter-api:5.9.2' testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.9.2' testImplementation 'uk.org.webcompere:system-stubs-jupiter:2.1.5' testImplementation 'org.mockito:mockito-core:5.3.1' testImplementation 'io.vertx:vertx-junit5:4.5.7' testImplementation 'io.vertx:vertx-unit:4.5.7' testImplementation 'org.assertj:assertj-core:3.24.2' testImplementation 'org.openapi4j:openapi-parser:1.0.7' testImplementation 'org.openapi4j:openapi-schema-validator:1.0.7' }