| /* |
| * 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 { |
| mavenCentral() |
| } |
| } |
| |
| plugins { |
| id 'com.google.protobuf' |
| id 'java' |
| id 'checkstyle' |
| } |
| |
| subprojects { |
| task allDeps(type: DependencyReportTask) {} |
| } |
| |
| apply from: "$rootDir/version.gradle" |
| |
| allprojects { |
| apply from: "$rootDir/dependencies.gradle" |
| if (it.path != ':circe-checksum:src:main:circe' |
| && it.path != ':cpu-affinity:src:main:affinity' |
| && it.name != 'src' |
| && it.name != 'main') { |
| apply plugin: 'java' |
| apply plugin: 'maven-publish' |
| apply plugin: 'signing' |
| apply plugin: "checkstyle" |
| checkstyle { |
| toolVersion "${checkStyleVersion}" |
| configFile file("$rootDir/buildtools/src/main/resources/bookkeeper/checkstyle.xml") |
| checkstyleMain { |
| source ='src/main/java' |
| } |
| |
| checkstyleTest { |
| source ='src/test/java' |
| } |
| } |
| |
| task testJar(type: Jar, dependsOn: testClasses) { |
| classifier = 'tests' |
| from sourceSets.test.output |
| } |
| |
| configurations { |
| testArtifacts.extendsFrom testRuntime |
| } |
| |
| artifacts { |
| testArtifacts testJar |
| } |
| |
| plugins.withType(DistributionPlugin) { |
| distTar { |
| compression = Compression.GZIP |
| archiveExtension = 'tar.gz' |
| } |
| } |
| |
| def componentName = it.name |
| publishing { |
| publications { |
| maven(MavenPublication) { |
| groupId = 'org.apache.bookkeeper' |
| artifactId = componentName |
| version = buildVersion |
| |
| from components.java |
| artifact testJar |
| } |
| } |
| } |
| signing { |
| def skipSigning = project.hasProperty('skipSigning') && skipSigning.toBoolean() |
| def shouldSign = !skipSigning |
| |
| if (shouldSign) { |
| if (project.hasProperty("singingKey")) { |
| // The following allow the secretKey and password to be specified using env var |
| // This is mainly for the CI system. |
| // * ORG_GRADLE_PROJECT_signingKey |
| // * ORG_GRADLE_PROJECT_signingPassword |
| // * ORG_GRADLE_PROJECT_signingKeyId |
| // See https://docs.gradle.org/current/userguide/signing_plugin.html#sec:in-memory-keys |
| // for details |
| def signingKey = findProperty("signingKey") |
| def signingKeyId = findProperty("signingKeyId") |
| def signingPassword = findProperty("signingPassword") |
| if (signingKeyId && signingKey && signingPassword) { |
| useInMemoryPgpKeys(signingKeyId, signingKey, signingPassword) |
| } else if (signingKey && signingPassword) { |
| useInMemoryPgpKeys(signingKey, signingPassword) |
| } |
| } |
| sign publishing.publications.maven |
| } |
| } |
| } |
| |
| repositories { |
| mavenCentral() |
| } |
| |
| } |
| |
| pluginManager.withPlugin('java') { |
| sourceCompatibility = targetCompatibility = 8 |
| } |