/*
 * Copyright (c) 2021, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
 *
 * WSO2 Inc. 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.
 */

import org.apache.tools.ant.taskdefs.condition.Os

apply plugin: 'java'

description = 'Ballerina - gRPC Examples'

def ballerinaDist = "${project.rootDir}/target/ballerina-runtime"

task runIntegrationTests {
    doLast {
        try {
            exec {
                workingDir project.projectDir
                if (Os.isFamily(Os.FAMILY_WINDOWS)) {
                    commandLine 'cmd', '/c', "${ballerinaDist}/bin/bal.bat test --offline && exit %%ERRORLEVEL%%"
                } else {
                    commandLine 'sh', '-c', "${ballerinaDist}/bin/bal test --offline"
                }
            }
        } catch (Exception e) {
            throw e
        }
    }
}

runIntegrationTests.dependsOn ":grpc-ballerina:build"
test.dependsOn runIntegrationTests
