2 ext.kotlinVersion = '1.9.20'
8 classpath group: "org.ajoberstar", name: "gradle-git", version: "1.1.0"
14 id('org.jetbrains.kotlin.jvm') version '1.9.20'
17 apply plugin: "jacoco"
26 languageVersion.set(JavaLanguageVersion.of(17))
36 group = "net.pterodactylus"
44 implementation group: "com.google.guava", name: "guava", version: "14.0-rc1"
45 implementation group: "log4j", name: "log4j", version: "1.2.17"
46 implementation group: "org.apache.httpcomponents", name: "httpclient", version: "4.4"
47 implementation group: "org.jsoup", name: "jsoup", version: "1.16.1"
48 implementation group: "javax.mail", name: "mail", version: "1.4.6-rc1"
49 implementation group: "org.apache.commons", name: "commons-lang3", version: "3.1"
50 implementation group: "com.fasterxml.jackson.core", name: "jackson-databind", version: "2.16.1"
51 implementation group: 'com.fasterxml.jackson.datatype', name: 'jackson-datatype-jsr310', version: '2.16.1'
52 implementation group: 'com.fasterxml.jackson.module', name: 'jackson-module-kotlin', version: '2.16.1'
53 implementation group: "com.google.inject", name: "guice", version: "7.0.0"
54 implementation group: "org.jetbrains.kotlinx", name: "kotlinx-html-jvm", version: "0.11.0"
55 implementation group: 'com.google.code.findbugs', name: 'jsr305', version: '3.0.2'
57 testImplementation group: "junit", name: "junit", version: "4.13.2"
58 testImplementation group: "org.hamcrest", name: "hamcrest-library", version: "1.3"
59 testImplementation group: "org.mockito", name: "mockito-core", version: "5.11.0"
62 task fatJar(type: Jar) {
63 archiveBaseName.set(project.name + "-all")
66 "Main-Class": "net.pterodactylus.rhynodge.engine.Starter"
69 duplicatesStrategy = DuplicatesStrategy.INCLUDE
70 from { configurations.compileClasspath.collect { it.isDirectory() ? it : zipTree(it) } }
71 from { sourceSets.generated.resources.srcDirs }
77 jvmArgs += "--add-opens=java.base/java.lang=ALL-UNNAMED"
78 jvmArgs += "--add-opens=java.base/java.util=ALL-UNNAMED"
81 task createVersion() {
85 srcDir "src/generated/resources"
89 processResources.dependsOn(createVersion)
92 tasks.named("processGeneratedResources") {
93 duplicatesStrategy = DuplicatesStrategy.INCLUDE
96 import org.ajoberstar.grgit.Grgit
99 def gitRepo = Grgit.open(projectDir)
100 version = gitRepo.describe()
101 new File("src/generated/resources").mkdirs()
102 new File("src/generated/resources/version.txt").withWriter() { it.write(version) }
107 toolVersion = "0.8.11"
110 /* vim: set ts=4 sw=4 et: */