/*
 * Copyright (C) 2020 The Arrow Authors
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

plugins {
    id "org.jetbrains.kotlin.jvm"
}

dependencies {
    implementation project(":new-plugin-runtime")

    testImplementation "org.junit.jupiter:junit-jupiter:$JUNIT_VERSION"
}

compileKotlin {
    kotlinOptions {
        jvmTarget = "$JVM_TARGET_VERSION"
        freeCompilerArgs += ["-Xplugin=${rootDir}/new-plugin/build/libs/new-plugin.jar",
        "-P", "plugin:arrow.meta.plugin.compiler:generatedSrcOutputDir=${buildDir}"]
    }
}

compileTestKotlin {
    kotlinOptions {
        jvmTarget = "$JVM_TARGET_VERSION"
    }
}

test {
    useJUnitPlatform()
}

tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile) {
    compileTask -> compileTask.dependsOn ":new-plugin:assemble"
}
