blob: 844fdf838383f32c4da204603180a3686e6d81ce [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
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
// This file contains common tasks and configuration for artifact generation.
// Create a configuration so that the test jar can be referenced in other modules.
task testJar(type: Jar, dependsOn: testClasses, group: "Build") {
description = "Assembles a jar archive containing the test classes."
from sourceSets.test.output
classifier = "tests"
extension "jar"
task sourcesJar(type: Jar, dependsOn: classes, group: "Build") {
description = "Assembles a jar archive containing the main source."
from sourceSets.main.allSource
classifier "sources"
extension "jar"
task testSourcesJar(type: Jar, dependsOn: testJar, group: "Build") {
description = "Assembles a jar archive containing the test source."
from sourceSets.test.allSource
classifier "test-sources"
extension "jar"
task javadocJar(type: Jar, dependsOn: javadoc, group: "Build") {
description = "Assembles a jar archive containing the javadoc."
from javadoc.destinationDir
classifier "javadoc"
extension "jar"
tasks.withType(Jar) {
// Configure the manifest content of the Jars.
manifest {
attributes "Implementation-Title": "$project.archivesBaseName"
attributes "Implementation-Version": "$project.version"
from ("$rootDir/../NOTICE.txt") {
into "META-INF"
from ("$rootDir/../LICENSE.txt") {
into "META-INF"
// Prevent empty directories in the Jars.
includeEmptyDirs = false
artifacts {
test testJar
archives testJar
archives sourcesJar
archives testSourcesJar
archives javadocJar