plugins { id 'java' id 'application' id 'idea' id 'org.jetbrains.kotlin.jvm' version '1.3.72' } group 'ley.anvil' version '1.1-SNAPSHOT' sourceCompatibility = 1.8 repositories { mavenCentral() maven { url 'https://jitpack.io' } } dependencies { //Kotlin compile 'org.jetbrains.kotlin:kotlin-reflect:1.3.72' compile 'org.jetbrains.kotlin:kotlin-stdlib-jdk8' compile 'org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:1.3.8' //Other compile 'com.github.Anvilcraft:addonscript-java:c412911790' compile 'com.squareup.okhttp3:okhttp:4.8.0' compile group: 'com.google.code.gson', name: 'gson', version: '2.8.6' compile 'com.moandjiezana.toml:toml4j:0.7.2' compile "com.github.TheRandomLabs:CurseAPI:master-SNAPSHOT" compile 'org.apache.commons:commons-csv:1.8' testCompile group: 'junit', name: 'junit', version: '4.12' compile 'org.slf4j:slf4j-simple:2.0.0-alpha1' compile 'com.j2html:j2html:1.4.0' compile 'org.reflections:reflections:0.9.12' compile 'commons-io:commons-io:2.7' } compileKotlin { kotlinOptions.jvmTarget = "1.8" kotlinOptions { //without this option, kotlin interfaces dont support default methods in java (will be changed in kt 1.4) freeCompilerArgs = ['-Xjvm-default=compatibility'] } } compileTestKotlin { kotlinOptions.jvmTarget = "1.8" kotlinOptions { //without this option, kotlin interfaces dont support default methods in java (will be changed in kt 1.4) freeCompilerArgs = ['-Xjvm-default=compatibility'] } } sourceSets { main { resources { srcDirs "src/main/resources" } } } mainClassName = 'ley.anvil.modpacktools.Main' //create a single Jar with all dependencies task fatJar(type: Jar) { clean manifest { attributes 'Main-Class': mainClassName } archiveBaseName = 'ModPackTools' from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } with jar }