/* * This file was generated by the Gradle 'init' task. * * This generated file contains a sample Java application project to get you started. * For more details on building Java & JVM projects, please refer to https://docs.gradle.org/8.4/userguide/building_java_projects.html in the Gradle documentation. */ plugins { // Apply the application plugin to add support for building a CLI application in Java. application id("com.github.johnrengelman.shadow") version "8.1.1" } repositories { // Use Maven Central for resolving dependencies. mavenCentral() } dependencies { testImplementation("org.junit.jupiter:junit-jupiter:5.10.2") // testImplementation("org.skyscreamer:jsonassert:1.5.0") // For JSON assertions in tests. // testImplementation("com.mashape.unirest:unirest-java:1.4.9") // For HTTP requests in tests. testRuntimeOnly("org.junit.platform:junit-platform-launcher:1.10.2") // implementation("com.google.guava:guava:33.1.0-jre") // Currently not used. implementation("com.sparkjava:spark-core:2.9.4") implementation("com.fasterxml.jackson.core:jackson-core:2.17.0") implementation("com.fasterxml.jackson.core:jackson-databind:2.17.0") implementation("org.slf4j:slf4j-simple:2.0.13") implementation("org.xerial:sqlite-jdbc:3.45.3.0") } // Apply a specific Java toolchain to ease working on different environments. java { toolchain { languageVersion.set(JavaLanguageVersion.of(21)) } } application { // Define the main class for the application. mainClass.set("krusty.ServerMain") } tasks.named("test") { // Use JUnit Platform for unit tests. useJUnitPlatform() } group = "com.krusty" version = "1.0" description = "Krusty" tasks.named("jar") { // Make the JAR executable. manifest { attributes( "Main-Class" to "krusty.ServerMain", "Implementation-Title" to "KrustyCookiesAPI", "Implementation-Version" to version ) } }