/*
 * Copyright 2018 Google LLC
 *
 * 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
 *
 *  https://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.
 */
group = 'com.google.cloud'
version = '0.3'

ext.java = false

// Using ext.java as the scheme to discriminate java projects forces us to 
// depend on subprojects being evaluated ahead of the root project. Please
// note that this is an inversion of Gradle's classic execution and could 
// have side effects. We don't expect this to happen if we keep our subproject
// structure simple.
evaluationDependsOnChildren()

subprojects { subproject ->
    if (subproject.java) { 
        apply plugin: "checkstyle"
        apply plugin: "jacoco"
        apply plugin: "java"
        apply plugin: "maven"

        checkstyle {
            configFile file("${rootDir}/config/checkstyle/checkstyle.xml")
        }

        dependencies {
            checkstyle group: 'com.puppycrawl.tools', name: 'checkstyle', version:'8.12'
        }

        jacocoTestReport {
            sourceDirectories = files("${projectDir}/src")
            classDirectories = files("${buildDir}/classes")
             reports {
                xml.enabled true
                csv.enabled false
                html.enabled false
             }
        }
    }
}
