/*
 * Copyright (c) 2022 WSO2 LLC. (http://www.wso2.com) All Rights Reserved.
 *
 * WSO2 LLC. licenses this file to you 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 'java'
    id 'checkstyle'
    id 'com.github.spotbugs'
}

description = 'Ballerina - Mime test Utils'

repositories {
    mavenCentral()
}

dependencies {
    checkstyle project(":checkstyle")
    checkstyle "com.puppycrawl.tools:checkstyle:${checkstyleToolVersion}"

    implementation project(":mime-native")

    implementation group: 'org.ballerinalang', name: 'ballerina-lang', version: "${ballerinaLangVersion}"
    implementation group: 'org.ballerinalang', name: 'ballerina-runtime', version: "${ballerinaLangVersion}"
    implementation group: 'io.ballerina.stdlib', name: 'io-native', version: "${stdlibIoVersion}"

    implementation group: 'org.jvnet.mimepull', name: 'mimepull', version: "${mimepullVersion}"
    implementation group: 'jakarta.activation', name: 'jakarta.activation-api', version: "${jakartaActivationVersion}"
    implementation group: 'org.slf4j', name: 'slf4j-jdk14', version: "${slf4jVersion}"
}

checkstyle {
    toolVersion '7.8.2'
    configFile rootProject.file("build-config/checkstyle/build/checkstyle.xml")
    configProperties = ["suppressionFile" : file("${rootDir}/build-config/checkstyle/build/suppressions.xml")]
}

def excludePattern = '**/module-info.java'
tasks.withType(Checkstyle) {
    exclude excludePattern
}

checkstyleMain.dependsOn(":checkstyle:downloadCheckstyleRuleFiles")
checkstyleTest.dependsOn(":checkstyle:downloadCheckstyleRuleFiles")

spotbugsTest {
    enabled = false
}

compileJava {
    doFirst {
        options.compilerArgs = [
                '--module-path', classpath.asPath,
        ]
        classpath = files()
    }
}
