
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'org.flywaydb:flyway-mysql:10.0.1'
    }
}

plugins {
    id 'java'

    id 'jvm-test-suite'
    id "org.flywaydb.flyway" version "10.0.1"
}

java {
    toolchain {
        languageVersion.set(JavaLanguageVersion.of(rootProject.ext.jvmVersion))
    }
}


configurations {
    flywayMigration.extendsFrom(implementation)
}

apply from: "$rootProject.projectDir/srcsets.gradle"

dependencies {
    implementation project(':code:common:model')

    implementation libs.bundles.slf4j

    implementation libs.guava
    implementation dependencies.create(libs.guice.get()) {
        exclude group: 'com.google.guava'
    }
    implementation libs.bundles.gson

    implementation libs.notnull

    implementation libs.commons.lang3

    implementation libs.trove

    implementation libs.bundles.mariadb
    flywayMigration 'org.flywaydb:flyway-mysql:10.0.1'

    testImplementation libs.bundles.slf4j.test
    testImplementation libs.bundles.junit
    testImplementation libs.mockito


    testImplementation platform('org.testcontainers:testcontainers-bom:1.17.4')
    testImplementation libs.commons.codec
    testImplementation 'org.testcontainers:mariadb:1.17.4'
    testImplementation 'org.testcontainers:junit-jupiter:1.17.4'
    testImplementation project(':code:libraries:test-helpers')
}

flyway {
    url = 'jdbc:mariadb://localhost:3306/WMSA_prod'
    user = 'wmsa'
    password = 'wmsa'
    schemas = ['WMSA_prod']
    configurations = [ 'compileClasspath', 'flywayMigration' ]
    locations = ['filesystem:src/main/resources/db/migration']
    cleanDisabled = false
}

