import com.github.jengelman.gradle.plugins.shadow.transformers.AppendingTransformer plugins { id 'java' id 'com.gradleup.shadow' version '9.0.0-beta7' id 'org.springframework.boot' version '4.1.0-M4' id 'io.spring.dependency-management' version '1.1.4' } group = 'me.zacharias' version = '1.0-SNAPSHOT' repositories { mavenCentral() mavenLocal() } dependencies { implementation('me.neurodock:Core:+'); implementation('io.github.jvoice-project:piper-jni:+') implementation('com.microsoft.onnxruntime:onnxruntime:1.27.0') implementation('org.jetbrains:annotations:23.1.0') implementation('com.fasterxml.jackson.core:jackson-databind:2.17.2') implementation('com.vdurmont:emoji-java:5.1.1') implementation('info.picocli:picocli:4.7.7') implementation('org.springframework.boot:spring-boot-starter-web:4.1.0-M4') implementation('org.springframework.boot:spring-boot-starter-webflux:4.1.0-M4') implementation('org.springdoc:springdoc-openapi-starter-webmvc-ui:3.0.0-M1') testImplementation platform('org.junit:junit-bom:6.0.0') testImplementation 'org.junit.jupiter:junit-jupiter' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' } sourceSets { main { resources { } } } tasks.register('copyPythonRuntime', Copy) { from 'src/main/python' into "${layout.buildDirectory.get()}/resources/main/python" } tasks.shadowJar { mergeServiceFiles() // merges META-INF/services/* transform(AppendingTransformer) { resource = "META-INF/spring.handlers" } transform(AppendingTransformer) { resource = "META-INF/spring.schemas" } transform(AppendingTransformer) { resource = "META-INF/spring.factories" } // Spring Boot 2.4+ auto-configuration file, needs line-merging too transform(AppendingTransformer) { resource = "META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports" } } tasks.named('processResources') { dependsOn 'copyPythonRuntime' } jar { manifest { attributes 'Main-Class': 'me.neurodock.glados.Main' } } test { useJUnitPlatform() }