| /* |
| * Licensed to the Apache Software Foundation (ASF) under one or more |
| * contributor license agreements. See the NOTICE file distributed with |
| * this work for additional information regarding copyright ownership. |
| * The ASF 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. |
| */ |
| |
| buildscript { |
| repositories { |
| maven { url "https://plugins.gradle.org/m2/" } |
| } |
| |
| dependencies { |
| classpath "gradle.plugin.org.nosphere.apache:creadur-rat-gradle:0.2.0" |
| classpath 'com.bmuschko:gradle-nexus-plugin:2.3.1' |
| classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.0.1' |
| } |
| } |
| |
| apply plugin: 'wrapper' |
| |
| wrapper { |
| gradleVersion = minimumGradleVersion |
| } |
| |
| // Load all properties in dependency-version.properties as project properties, so all projects can read them |
| Properties dependencyVersions = new Properties() |
| dependencyVersions.load(new FileInputStream("${project.projectDir}/gradle/dependency-versions.properties")) |
| dependencyVersions.keys().each{ k -> project.ext[k] = dependencyVersions[k]} |
| |
| allprojects { |
| version = versionNumber + releaseQualifier + releaseType |
| ext.isReleaseVersion = !version.endsWith("SNAPSHOT") |
| |
| // We want to see all test results. This is equivalatent to setting --continue |
| // on the command line. |
| gradle.startParameter.continueOnFailure = true |
| |
| repositories { |
| mavenCentral() |
| maven { url "http://repo.spring.io/release" } |
| } |
| |
| group = "org.apache.geode" |
| |
| buildRoot = buildRoot.trim() |
| if (!buildRoot.isEmpty()) { |
| buildDir = buildRoot + project.path.replace(":", "/") + "/build" |
| } |
| } |
| |
| task cleanAll(type: Delete) { |
| delete rootProject.buildDir |
| if (!buildRoot.isEmpty()) { |
| delete buildRoot |
| } |
| } |
| |
| // allow external projects to override include location |
| if (name == 'geode') { |
| ext.scriptDir = 'gradle' |
| } |
| |
| apply from: "${scriptDir}/utilities.gradle" |
| apply from: "${scriptDir}/java.gradle" |
| apply from: "${scriptDir}/dependency-resolution.gradle" |
| apply from: "${scriptDir}/test.gradle" |
| apply from: "${scriptDir}/publish.gradle" |
| apply from: "${scriptDir}/code-analysis.gradle" |
| apply from: "${scriptDir}/sonar.gradle" |
| apply from: "${scriptDir}/ide.gradle" |
| apply from: "${scriptDir}/rat.gradle" |
| |
| subprojects { |
| // Make sure clean task for rootProject runs last |
| clean.finalizedBy rootProject.cleanAll |
| } |
| |
| task cleanExamples(type: GradleBuild) { |
| buildFile = "${rootProject.projectDir}/geode-examples/build.gradle" |
| tasks = ['clean'] |
| } |
| |
| clean.dependsOn cleanExamples |
| |
| task buildExamples(type: GradleBuild, dependsOn: ':geode-assembly:installDist') { |
| buildFile = "${rootProject.projectDir}/geode-examples/build.gradle" |
| tasks = ['build'] |
| } |