blob: de501c6b7e7d5bb548c417af1f2b9099c7709a75 [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.
*/
allprojects {
apply plugin: 'java'
sourceCompatibility = 1.8
targetCompatibility = 1.8
compileJava.options.encoding = 'UTF-8'
}
subprojects {
apply plugin: 'java'
// apply compiler options
gradle.taskGraph.whenReady({ graph ->
tasks.withType(JavaCompile).each { javac ->
javac.configure {
sourceCompatibility '1.8'
targetCompatibility '1.8'
options.encoding = 'UTF-8'
}
}
})
// apply default manifest
gradle.taskGraph.whenReady({ graph ->
tasks.withType(Jar).each { jar ->
jar.doFirst {
manifest {
attributes(
"Manifest-Version": "1.0",
"Created-By": System.getProperty("user.name"),
"Title": rootProject.name,
"Version": version,
"Organization": productOrg
)
}
metaInf {
from("$rootDir/LICENSE")
if (!jar.source.contains('NOTICE')) {
from("$rootDir/NOTICE")
}
}
}
}
})
configurations {
provided {
description 'a dependency that is provided externally at runtime'
visible true
}
testOutput {
extendsFrom testCompile
description 'a dependency that exposes test artifacts'
}
}
// This ensures that javadoc and source jars also have any prefix paths stripped and will
// be created as libs/foo-sources.jar instead of libs/extensions/foo-sources.jar for example.
tasks.all { task ->
if (task instanceof Jar) {
baseName = sanitizedName()
}
}
task jarTest(type: Jar, dependsOn: testClasses) {
description 'Assembles a jar archive of test classes.'
from sourceSets.test.output
classifier 'test'
}
artifacts {
testOutput jarTest
}
sourceSets {
main.compileClasspath += configurations.provided
main.runtimeClasspath -= configurations.provided
test.compileClasspath += configurations.provided
test.runtimeClasspath += configurations.provided
}
javadoc.classpath += configurations.provided
javadoc {
options.addStringOption('Xdoclint:none', '-quiet')
options.encoding = 'UTF-8'
}
}