buildscript {
- ext.kotlinVersion = '1.4.10'
+ ext.kotlinVersion = '1.9.20'
repositories {
mavenCentral()
plugins {
id 'java'
- id('org.jetbrains.kotlin.jvm') version '1.4.10'
+ id('org.jetbrains.kotlin.jvm') version '1.9.20'
}
apply plugin: "war"
apply plugin: "idea"
idea {
- project {
- languageLevel = "1.8"
- }
+ project {
+ languageLevel = "17"
+ }
}
group = "net.pterodactylus"
}
dependencies {
- compile group: "org.jetbrains.kotlin", name: "kotlin-stdlib", version: "$kotlinVersion"
- compile group: "com.google.guava", name: "guava", version: "14.0-rc1"
- compile group: "log4j", name: "log4j", version: "1.2.17"
- compile group: "org.apache.httpcomponents", name: "httpclient", version: "4.4"
- compile group: "org.jsoup", name: "jsoup", version: "1.16.1"
- compile group: "javax.mail", name: "mail", version: "1.4.6-rc1"
- compile group: "org.apache.commons", name: "commons-lang3", version: "3.1"
- compile group: "com.fasterxml.jackson.core", name: "jackson-databind", version: "2.15.1"
- compile group: "com.google.inject", name: "guice", version: "4.0"
- compile group: "org.jetbrains.kotlinx", name: "kotlinx-html-jvm", version: "0.7.1"
- compile group: 'com.google.code.findbugs', name: 'jsr305', version: '3.0.2'
-
- testCompile group: "junit", name: "junit", version:"4.12"
- testCompile group: "org.hamcrest", name: "hamcrest-library", version:"1.3"
- testCompile group: "org.mockito", name: "mockito-core", version:"1.9.5"
+ 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) {
import java.io.IOException;
import java.util.Optional;
-import javax.inject.Inject;
-import javax.inject.Singleton;
+import com.fasterxml.jackson.databind.SerializationFeature;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
+import com.fasterxml.jackson.module.kotlin.KotlinModule;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
import net.pterodactylus.rhynodge.State;
/** Jackson object mapper. */
private final ObjectMapper objectMapper = new ObjectMapper();
+ {
+ objectMapper.registerModule(new KotlinModule.Builder().build());
+ objectMapper.registerModule(new JavaTimeModule());
+ objectMapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
+ }
+
/** The directory in which to store states. */
private final String directory;