/*
 * 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 take a look at the 'Building Java & JVM projects' chapter in the Gradle
 * User Manual available at https://docs.gradle.org/8.1.1/userguide/building_java_projects.html
 */

plugins {
    // Apply the application plugin to add support for building a CLI application in Java.
    id 'application'
}

repositories {
    // Use Maven Central for resolving dependencies.
    mavenCentral()
}

def appmapJar = findProperty("appmapJar")

dependencies {
    implementation "com.sparkjava:spark-core:2.9.4"
    implementation files(appmapJar)

    // Use JUnit Jupiter for testing.
    testImplementation 'org.junit.jupiter:junit-jupiter:5.9.1'

    // This dependency is used by the application.
    implementation 'com.google.guava:guava:31.1-jre'
    runtimeOnly 'org.slf4j:slf4j-simple:2.0.7'
}
// Apply a specific Java toolchain to ease working on different environments.
java {
    toolchain {
        languageVersion = JavaLanguageVersion.of(8)
    }
}

application {
  applicationDefaultJvmArgs = [
    "-javaagent:${appmapJar}", 
    "-Dappmap.config.file=appmap.yml", 
    "-Dorg.slf4j.simpleLogger.log.org.eclipse.jetty.server=debug",
    "-Djava.util.logging.config.file=${System.env.JUL_CONFIG}"

  ]

    // Define the main class for the application.
    mainClass = 'com.appland.appmap.sparkexample.App'
}

tasks.named('test') {
    // Use JUnit Platform for unit tests.
    useJUnitPlatform()
}
