buildscript { ext.kotlinVersion = '1.9.20' repositories { mavenCentral() } dependencies { classpath group: "org.ajoberstar", name: "gradle-git", version: "1.1.0" } } plugins { id 'java' id('org.jetbrains.kotlin.jvm') version '1.9.20' } apply plugin: "war" apply plugin: "jacoco" apply plugin: "idea" idea { project { languageLevel = "17" } } group = "net.pterodactylus" version = "0.1" sourceCompatibility = 1.8 targetCompatibility = 1.8 repositories { mavenCentral() jcenter() } dependencies { implementation group: "org.jetbrains.kotlin", name: "kotlin-stdlib", version: kotlinVersion implementation group: "com.google.guava", name: "guava", version: "14.0-rc1" implementation group: "log4j", name: "log4j", version: "1.2.17" implementation group: "org.apache.httpcomponents", name: "httpclient", version: "4.4" implementation group: "org.jsoup", name: "jsoup", version: "1.16.1" implementation group: "javax.mail", name: "mail", version: "1.4.6-rc1" implementation group: "org.apache.commons", name: "commons-lang3", version: "3.1" implementation group: "com.fasterxml.jackson.core", name: "jackson-databind", version: "2.16.1" implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: '2.16.1' implementation group: 'com.fasterxml.jackson.module', name: 'jackson-module-kotlin', version: '2.16.1' implementation group: "com.google.inject", name: "guice", version: "7.0.0" implementation group: "org.jetbrains.kotlinx", name: "kotlinx-html-jvm", version: "0.11.0" implementation group: 'com.google.code.findbugs', name: 'jsr305', version: '3.0.2' testImplementation group: "junit", name: "junit", version: "4.13.2" testImplementation group: "org.hamcrest", name: "hamcrest-library", version: "1.3" testImplementation group: "org.mockito", name: "mockito-core", version: "1.9.5" } task fatJar(type: Jar) { baseName = project.name + "-all" manifest { attributes( "Main-Class": "net.pterodactylus.rhynodge.engine.Starter" ) } from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } } from { sourceSets.generated.resources.srcDirs } with jar dependsOn test } task createVersion() { sourceSets { generated { resources { srcDir "src/generated/resources" } } } processResources.dependsOn(createVersion) } import org.ajoberstar.grgit.Grgit createVersion { doLast { def gitRepo = Grgit.open(projectDir) version = gitRepo.describe() new File("src/generated/resources").mkdirs() new File("src/generated/resources/version.txt").withWriter() { it.write(version) } } } war { classpath sourceSets.generated.output dependsOn(test) } jacoco { toolVersion = "0.7.6.201602180812" } /* vim: set ts=4 sw=4 et: */