plugins { id 'org.jetbrains.kotlin.jvm' version '1.4.10' id 'org.openjfx.javafxplugin' version '0.0.8' id 'org.springframework.boot' version "$springBootVersion" id 'io.spring.dependency-management' version "$springDependencyManagementVersion" id 'idea' } group 'com.bartlomiejpluta.base' version 'unspecified' repositories { mavenCentral() maven { url 'https://oss.sonatype.org/content/repositories/snapshots' } } sourceSets { main.kotlin.srcDirs += 'src/main/kotlin' } javafx { version = javaFxVersion modules = ['javafx.controls', 'javafx.graphics'] } compileKotlin { kotlinOptions.jvmTarget = "14" } compileTestKotlin { kotlinOptions.jvmTarget = "14" } dependencies { implementation project(":api") implementation project(":proto") implementation "org.jetbrains.kotlin:kotlin-stdlib" implementation "no.tornado:tornadofx:${tornadoFxVersion}" implementation platform("org.kordamp.ikonli:ikonli-bom:${ikonliVersion}") implementation 'org.kordamp.ikonli:ikonli-javafx' implementation 'org.kordamp.ikonli:ikonli-fontawesome-pack' implementation "org.fxmisc.richtext:richtextfx:${richtextfxVersion}" implementation "org.codehaus.janino:janino:${janinoVersion}" implementation "org.codehaus.janino:commons-compiler:${janinoVersion}" // Spring implementation 'org.springframework.boot:spring-boot-starter' implementation 'org.springframework.boot:spring-boot-starter-freemarker' } task provideGameEngine(type: Copy) { dependsOn(":engine:build") from project(':engine').file('build/libs/engine.jar') into file("build/resources/main/engine") } task provideAPIWithDependences(type: Copy) { dependsOn(":api:build") from project(':api').file('build/libs') from project(':api').configurations.runtimeClasspath into file("build/resources/main/dependencies") } task provideAPISources(type: Copy) { from project(':api').file('src/main/java') into file('build/resources/main/api') doLast { def apiDir = file('build/resources/main/api') def apiIndex = file('build/resources/main/api.idx') def buffer = new StringBuilder() fileTree(apiDir).matching { include "**/*.java" }.each { buffer.append(apiDir.relativePath(it)).append("\n") } apiIndex.write(buffer.toString()) } } processResources { dependsOn(provideGameEngine) dependsOn(provideAPIWithDependences) dependsOn(provideAPISources) }