| /* |
| * 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' |
| } |
| } |
| |
| |