Moved source and javadoc publish tasks into a default publish tasks plugin.

This commit is contained in:
Clinton Alexander 2016-09-29 14:53:28 +01:00
parent 25d10376de
commit 9a4cc04eb5
5 changed files with 25 additions and 32 deletions

View File

@ -1,3 +1,5 @@
apply plugin: 'maven'
repositories {
mavenCentral()
}

View File

@ -0,0 +1,20 @@
import org.gradle.api.*
import org.gradle.api.tasks.bundling.Jar
import org.gradle.api.tasks.javadoc.Javadoc
/**
* A utility plugin that when applied will automatically create source and javadoc publishing tasks
*/
class DefaultPublishTasks implements Plugin<Project> {
void apply(Project project) {
project.task("sourceJar", type: Jar, dependsOn: project.classes) {
classifier = 'sources'
from project.sourceSets.main.allSource
}
project.task("javadocJar", type: Jar, dependsOn: project.javadoc) {
classifier = 'javadoc'
from project.javadoc.destinationDir
}
}
}

View File

@ -1,5 +1,6 @@
apply plugin: 'kotlin'
apply plugin: CanonicalizerPlugin
apply plugin: DefaultPublishTasks
repositories {
mavenLocal()
@ -28,16 +29,6 @@ sourceSets {
}
}
task sourceJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
from sourceSets.main.allSource
}
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}
publishing {
publications {
contracts(MavenPublication) {

View File

@ -1,7 +1,7 @@
apply plugin: 'kotlin'
apply plugin: QuasarPlugin
// Applying the maven plugin means this will get installed locally when running "gradle install"
apply plugin: 'maven'
apply plugin: DefaultPublishTasks
buildscript {
repositories {
@ -84,16 +84,6 @@ dependencies {
compile "org.bouncycastle:bcpkix-jdk15on:${bouncycastle_version}"
}
task sourceJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
from sourceSets.main.allSource
}
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}
publishing {
publications {
core(MavenPublication) {

View File

@ -1,5 +1,6 @@
apply plugin: 'kotlin'
apply plugin: QuasarPlugin
apply plugin: DefaultPublishTasks
repositories {
mavenLocal()
@ -16,7 +17,6 @@ repositories {
//noinspection GroovyAssignabilityCheck
configurations {
// we don't want isolated.jar in classPath, since we want to test jar being dynamically loaded as an attachment
runtime.exclude module: 'isolated'
@ -143,16 +143,6 @@ task integrationTest(type: Test) {
classpath = sourceSets.integrationTest.runtimeClasspath
}
task sourceJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
from sourceSets.main.allSource
}
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}
publishing {
publications {
node(MavenPublication) {