plugins {
    id "org.springframework.boot" version "3.0.7"
    id "io.spring.dependency-management" version "1.0.11.RELEASE"
    id "java"
}

def optaplannerVersion = "9.44.0.Final"
def assertjVersion = "3.24.2"

group = "org.acme"
archivesBaseName = "optaplanner-spring-boot-school-timetabling-quickstart"
version = "1.0-SNAPSHOT"
sourceCompatibility = "17"

repositories {
    mavenCentral()
    mavenLocal()
}

dependencies {
    implementation "org.springframework.boot:spring-boot-starter-web"
    implementation "org.springframework.boot:spring-boot-starter-data-rest"
    implementation "org.springframework.boot:spring-boot-starter-data-jpa"
    testImplementation("org.springframework.boot:spring-boot-starter-test")
    testImplementation "io.rest-assured:rest-assured"
    testImplementation "org.awaitility:awaitility"

    implementation platform("org.optaplanner:optaplanner-bom:${optaplannerVersion}")
    implementation "org.optaplanner:optaplanner-spring-boot-starter"
    testImplementation("org.optaplanner:optaplanner-test")
    testImplementation("org.optaplanner:optaplanner-benchmark")
    testImplementation "org.assertj:assertj-core:${assertjVersion}"

    runtimeOnly "com.h2database:h2"
    runtimeOnly "org.webjars:webjars-locator:0.37"
    runtimeOnly "org.webjars:bootstrap:4.3.1"
    runtimeOnly "org.webjars:font-awesome:5.11.2"
    runtimeOnly "org.webjars.npm:js-joda:1.11.0"
}

test {
    useJUnitPlatform()
    // Log the test execution results.
    testLogging {
        events "passed", "skipped", "failed"
    }
}
