blob: 18866069017a1e271522d4a793f8d382bbe88f1e [file] [log] [blame]
/*
* 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
}