/*
 *  Copyright (c) 2024, WSO2 LLC. (http://www.wso2.com)
 *
 *  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.
 */

apply plugin: "com.github.johnrengelman.shadow"
apply from: "$rootDir/gradle/javaProject.gradle"

description = 'Central client for the flow model LS extension'

configurations.configureEach {
    resolutionStrategy.preferProjectModules()
}

configurations {
    dist {
        transitive true
    }
}

dependencies {
    implementation "org.ballerinalang:ballerina-lang:${ballerinaLangVersion}"
    implementation "org.ballerinalang:central-client:${ballerinaLangVersion}"
    implementation "org.ballerinalang:diagram-util:${ballerinaLangVersion}"
    implementation "com.google.code.gson:gson:${gsonVersion}"
    implementation "com.graphql-java:graphql-java:${graphqlJavaVersion}"
}

shadowJar {
    configurations = [project.configurations.runtimeClasspath]
    dependencies {
        exclude('META-INF/*.SF')
        exclude('META-INF/*.DSA')
        exclude('META-INF/*.RSA')
    }
}

ext.moduleName = 'io.ballerina.centralconnector'

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

