You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@polygene.apache.org by pa...@apache.org on 2016/11/19 22:50:16 UTC
[15/35] zest-java git commit: build: fix task groups
build: fix task groups
Project: http://git-wip-us.apache.org/repos/asf/zest-java/repo
Commit: http://git-wip-us.apache.org/repos/asf/zest-java/commit/051290e9
Tree: http://git-wip-us.apache.org/repos/asf/zest-java/tree/051290e9
Diff: http://git-wip-us.apache.org/repos/asf/zest-java/diff/051290e9
Branch: refs/heads/develop
Commit: 051290e9d21e8a0ba00a6e57ba912efb29e9890c
Parents: 496b8b1
Author: Paul Merlin <pa...@apache.org>
Authored: Sat Nov 19 14:02:55 2016 +0100
Committer: Paul Merlin <pa...@apache.org>
Committed: Sat Nov 19 14:02:55 2016 +0100
----------------------------------------------------------------------
.../zest/gradle/CodeProjectsPlugin.groovy | 8 ++++
.../apache/zest/gradle/RootProjectPlugin.groovy | 22 ++++++-----
.../org/apache/zest/gradle/TaskGroups.groovy | 20 ++++++++++
.../zest/gradle/dist/DistributionPlugin.groovy | 40 ++++++++++++--------
.../gradle/doc/AsciidocBuildInfoPlugin.groovy | 5 ++-
.../gradle/release/ReleaseSpecPlugin.groovy | 8 +---
6 files changed, 72 insertions(+), 31 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/zest-java/blob/051290e9/buildSrc/src/main/groovy/org/apache/zest/gradle/CodeProjectsPlugin.groovy
----------------------------------------------------------------------
diff --git a/buildSrc/src/main/groovy/org/apache/zest/gradle/CodeProjectsPlugin.groovy b/buildSrc/src/main/groovy/org/apache/zest/gradle/CodeProjectsPlugin.groovy
index ed2d941..8fb411a 100644
--- a/buildSrc/src/main/groovy/org/apache/zest/gradle/CodeProjectsPlugin.groovy
+++ b/buildSrc/src/main/groovy/org/apache/zest/gradle/CodeProjectsPlugin.groovy
@@ -28,6 +28,7 @@ import org.gradle.api.plugins.osgi.OsgiManifest
import org.gradle.api.tasks.javadoc.Javadoc
import org.gradle.jvm.tasks.Jar
import org.gradle.testing.jacoco.plugins.JacocoPluginExtension
+import org.gradle.testing.jacoco.tasks.JacocoReport
@CompileStatic
class CodeProjectsPlugin implements Plugin<Project>
@@ -72,15 +73,18 @@ class CodeProjectsPlugin implements Plugin<Project>
{
def javaConvention = project.convention.getPlugin( JavaPluginConvention )
def sourceJar = project.tasks.create( 'sourceJar', Jar ) { Jar task ->
+ task.description = 'Builds -sources.jar'
task.classifier = 'sources'
task.from javaConvention.sourceSets.getByName( 'main' ).allSource
}
def testSourceJar = project.tasks.create( 'testSourceJar', Jar ) { Jar task ->
+ task.description = 'Builds -testsources.jar'
task.classifier = 'testsources'
task.from javaConvention.sourceSets.getByName( 'test' ).allSource
}
def javadoc = project.tasks.getByName( 'javadoc' ) as Javadoc
def javadocJar = project.tasks.create( 'javadocJar', Jar ) { Jar task ->
+ task.description = 'Builds -javadoc.jar'
task.classifier = 'javadoc'
task.from javadoc.destinationDir
task.dependsOn javadoc
@@ -98,6 +102,10 @@ class CodeProjectsPlugin implements Plugin<Project>
project.plugins.apply 'jacoco'
def jacoco = project.extensions.getByType( JacocoPluginExtension )
jacoco.toolVersion = '0.7.5.201505241946'
+ project.tasks.withType( JacocoReport ) { JacocoReport task ->
+ task.group = TaskGroups.VERIFICATION
+ task.description = 'Generates test coverage report.'
+ }
}
}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/051290e9/buildSrc/src/main/groovy/org/apache/zest/gradle/RootProjectPlugin.groovy
----------------------------------------------------------------------
diff --git a/buildSrc/src/main/groovy/org/apache/zest/gradle/RootProjectPlugin.groovy b/buildSrc/src/main/groovy/org/apache/zest/gradle/RootProjectPlugin.groovy
index b915cea..80b9a2f 100644
--- a/buildSrc/src/main/groovy/org/apache/zest/gradle/RootProjectPlugin.groovy
+++ b/buildSrc/src/main/groovy/org/apache/zest/gradle/RootProjectPlugin.groovy
@@ -43,12 +43,6 @@ class RootProjectPlugin implements Plugin<Project>
static final String PROJECT_DESCRIPTION = 'Apache Zest\u2122 (Java Edition) is a framework for domain centric ' +
'application development, including evolved concepts from AOP, DI and DDD.'
- static class TaskGroups
- {
- static final String HELPER_TASKS = 'Helper tasks'
- static final String DOCUMENTATION = 'Documentation'
- }
-
static class TaskNames
{
static final String GO_OFFLINE = 'goOffline'
@@ -86,7 +80,8 @@ class RootProjectPlugin implements Plugin<Project>
private static void applyHelperTasks( Project project )
{
project.tasks.create( TaskNames.GO_OFFLINE ) { Task task ->
- task.group = TaskGroups.HELPER_TASKS
+ task.group = TaskGroups.HELP
+ task.description = 'Resolves all dependencies configuration'
task.doLast {
def allConfigurations = project.allprojects.collect { Project each ->
each.configurations
@@ -95,6 +90,8 @@ class RootProjectPlugin implements Plugin<Project>
}
}
def buildAll = project.tasks.create( TaskNames.BUILD_ALL )
+ buildAll.group = TaskGroups.BUILD
+ buildAll.description = 'Builds all'
buildAll.dependsOn 'javadocs', 'check', 'jar',
project.subprojects.collect { p -> p.tasks.getByName( 'dependencyReport' ) },
project.subprojects.collect { p -> p.tasks.getByName( 'assemble' ) },
@@ -111,6 +108,8 @@ class RootProjectPlugin implements Plugin<Project>
project.configurations.create( 'jacoco' )
project.dependencies.add( 'jacoco', 'org.jacoco:org.jacoco.ant:0.7.5.201505241946' )
def task = project.tasks.create( 'coverageReport', AggregatedJacocoReportTask ) { AggregatedJacocoReportTask task ->
+ task.group = TaskGroups.VERIFICATION
+ task.description = 'Generates global coverage report'
// ZEST-175
task.enabled = JavaVersion.current() < JavaVersion.VERSION_1_9
task.dependsOn project.subprojects.collect( { Project p -> p.tasks.getByName( 'test' ) } )
@@ -121,6 +120,8 @@ class RootProjectPlugin implements Plugin<Project>
private static void configureTestReport( Project project )
{
project.tasks.create( TaskNames.GLOBAL_TEST_REPORT, TestReport ) { TestReport task ->
+ task.group = TaskGroups.VERIFICATION
+ task.description = 'Generates global test report'
task.destinationDir = project.file( "$project.buildDir/reports/tests" )
task.reportOn project.subprojects.collect { it.tasks.getByName( 'test' ) }
}
@@ -135,7 +136,7 @@ class RootProjectPlugin implements Plugin<Project>
def releaseSpec = project.extensions.getByType( ReleaseSpecExtension )
project.tasks.create( TaskNames.JAVADOCS, Javadoc ) { Javadoc task ->
task.group = TaskGroups.DOCUMENTATION
- task.description = 'Build the whole SDK public Javadoc'
+ task.description = 'Builds the whole SDK public Javadoc'
task.dependsOn ReleaseSpecPlugin.TaskNames.RELEASE_APPROVED_PROJECTS
def options = task.options as StandardJavadocDocletOptions
options.docFilesSubDirs = true
@@ -181,6 +182,8 @@ class RootProjectPlugin implements Plugin<Project>
] )
}
project.tasks.create( TaskNames.ARCHIVE_JAVADOCS, Copy ) { Copy task ->
+ task.group = TaskGroups.DOCUMENTATION
+ task.description = 'Copy SDK public Javadoc to ../zest-web'
task.dependsOn TaskNames.JAVADOCS
task.from 'build/docs/javadoc/'
if( project.version == '0' || project.version.toString().contains( "SNAPSHOT" ) )
@@ -197,6 +200,7 @@ class RootProjectPlugin implements Plugin<Project>
private static void configureRat( Project project )
{
def rat = project.tasks.getByName( 'rat' ) as RatTask
+ rat.group = TaskGroups.VERIFICATION
rat.onlyIf { project.version != '0' }
rat.excludes = [
'**/.DS_Store/**', '**/._*',
@@ -242,7 +246,7 @@ class RootProjectPlugin implements Plugin<Project>
{
def release = project.tasks.create( 'release' )
release.description = 'Builds, tests and uploads the release artifacts'
- release.group = 'Release'
+ release.group = TaskGroups.RELEASE
release.doFirst {
if( System.properties[ 'version' ] == null || System.properties[ 'version' ].toString().contains( 'SNAPSHOT' ) )
{
http://git-wip-us.apache.org/repos/asf/zest-java/blob/051290e9/buildSrc/src/main/groovy/org/apache/zest/gradle/TaskGroups.groovy
----------------------------------------------------------------------
diff --git a/buildSrc/src/main/groovy/org/apache/zest/gradle/TaskGroups.groovy b/buildSrc/src/main/groovy/org/apache/zest/gradle/TaskGroups.groovy
new file mode 100644
index 0000000..03ec348
--- /dev/null
+++ b/buildSrc/src/main/groovy/org/apache/zest/gradle/TaskGroups.groovy
@@ -0,0 +1,20 @@
+package org.apache.zest.gradle
+
+import org.gradle.api.plugins.ApplicationPlugin
+import org.gradle.api.plugins.BasePlugin
+import org.gradle.api.plugins.HelpTasksPlugin
+import org.gradle.api.plugins.JavaBasePlugin
+import org.gradle.language.base.plugins.LifecycleBasePlugin
+
+class TaskGroups
+{
+ static final String HELP = HelpTasksPlugin.HELP_GROUP
+ static final String BUILD = LifecycleBasePlugin.BUILD_GROUP
+ static final String VERIFICATION = LifecycleBasePlugin.VERIFICATION_GROUP
+ static final String DOCUMENTATION = JavaBasePlugin.DOCUMENTATION_GROUP
+ static final String DISTRIBUTION = ApplicationPlugin.APPLICATION_GROUP
+ static final String DISTRIBUTION_VERIFICATION = 'distribution verification'
+ static final String RELEASE = 'release'
+ static final String RELEASE_VERIFICATION = 'release verification'
+ static final String UPLOAD = BasePlugin.UPLOAD_GROUP
+}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/051290e9/buildSrc/src/main/groovy/org/apache/zest/gradle/dist/DistributionPlugin.groovy
----------------------------------------------------------------------
diff --git a/buildSrc/src/main/groovy/org/apache/zest/gradle/dist/DistributionPlugin.groovy b/buildSrc/src/main/groovy/org/apache/zest/gradle/dist/DistributionPlugin.groovy
index fc4e23d..930e68e 100644
--- a/buildSrc/src/main/groovy/org/apache/zest/gradle/dist/DistributionPlugin.groovy
+++ b/buildSrc/src/main/groovy/org/apache/zest/gradle/dist/DistributionPlugin.groovy
@@ -22,6 +22,7 @@ import groovy.transform.TypeCheckingMode
import org.apache.rat.gradle.RatTask
import org.apache.tools.ant.filters.ReplaceTokens
import org.apache.zest.gradle.RootProjectPlugin
+import org.apache.zest.gradle.TaskGroups
import org.apache.zest.gradle.dependencies.DependenciesPlugin
import org.apache.zest.gradle.release.ReleaseSpecExtension
import org.apache.zest.gradle.release.ReleaseSpecPlugin
@@ -40,12 +41,6 @@ import org.gradle.api.tasks.bundling.Zip
@CompileStatic
class DistributionPlugin implements Plugin<Project>
{
- static class TaskGroups
- {
- static final String DISTRIBUTION = 'Distribution'
- static final String DISTRIBUTION_VERIFICATION = 'Distribution verification'
- }
-
static class TaskNames
{
static final String UNPACK_SOURCE_DIST = 'unpackSrcDist'
@@ -113,6 +108,7 @@ class DistributionPlugin implements Plugin<Project>
spec.into '.'
}
def srcDistFilteredFilesTask = project.tasks.create( 'srcDistFilteredFiles' )
+ srcDistFilteredFilesTask.description = 'Apply release specification to source distribution build scripts'
// Generates various files for the source distribution
// - settings.gradle
// - gradle.properties to set version !
@@ -161,11 +157,15 @@ class DistributionPlugin implements Plugin<Project>
}
def zipSources = project.tasks.create( 'zipSources', Zip ) { Zip task ->
+ task.group = TaskGroups.DISTRIBUTION
+ task.description = 'Assemble .zip source distribution'
task.baseName = 'apache-zest-java'
task.with srcDistCopySpec
task.classifier = 'src'
}
def tarSources = project.tasks.create( 'tarSources', Tar ) { Tar task ->
+ task.group = TaskGroups.DISTRIBUTION
+ task.description = 'Assemble .tar.gz source distribution'
task.baseName = 'apache-zest-java'
task.with srcDistCopySpec
task.compression = Compression.GZIP
@@ -175,16 +175,16 @@ class DistributionPlugin implements Plugin<Project>
project.artifacts.add( 'archives', tarSources )
project.tasks.create( TaskNames.UNPACK_SOURCE_DIST, Copy ) { Copy task ->
- task.description = "Unpack the source distribution"
task.group = TaskGroups.DISTRIBUTION
+ task.description = "Unpack source distribution"
task.with srcDistCopySpec
task.into 'build/unpacked-distributions/src'
}
def unpackedSrcDistDir = project.file( "build/unpacked-distributions/src/apache-zest-java-$project.version-src" )
project.tasks.create( TaskNames.CHECK_SOURCE_DIST, GradleBuild.class, { GradleBuild task ->
- task.description = "Check the source distribution by running the 'check' and 'assemble' tasks inside"
task.group = TaskGroups.DISTRIBUTION_VERIFICATION
+ task.description = "Check the source distribution by running the 'check' and 'assemble' tasks inside"
task.dependsOn TaskNames.UNPACK_SOURCE_DIST
task.buildFile = "$unpackedSrcDistDir/build.gradle"
task.tasks = [ 'check', 'assemble' ]
@@ -260,12 +260,16 @@ class DistributionPlugin implements Plugin<Project>
}
def zipBinaries = project.tasks.create( 'zipBinaries', Zip ) { Zip task ->
+ task.group = TaskGroups.DISTRIBUTION
+ task.description = 'Assemble .zip binary distribution'
task.dependsOn project.tasks.getByName( RootProjectPlugin.TaskNames.BUILD_ALL )
task.baseName = 'apache-zest-java'
task.classifier = 'bin'
task.with binDistImage
}
def tarBinaries = project.tasks.create( 'tarBinaries', Tar ) { Tar task ->
+ task.group = TaskGroups.DISTRIBUTION
+ task.description = 'Assemble .tar.gz binary distribution'
task.dependsOn project.tasks.getByName( RootProjectPlugin.TaskNames.BUILD_ALL )
task.baseName = 'apache-zest-java'
task.classifier = 'bin'
@@ -276,8 +280,8 @@ class DistributionPlugin implements Plugin<Project>
project.artifacts.add( 'archives', tarBinaries )
project.tasks.create( TaskNames.UNPACK_BINARY_DIST, Copy ) { Copy task ->
- task.description = "Unpack the binary distribution"
task.group = TaskGroups.DISTRIBUTION
+ task.description = "Unpack binary distribution"
task.with binDistImage
task.into 'build/unpacked-distributions/bin'
}
@@ -300,9 +304,13 @@ class DistributionPlugin implements Plugin<Project>
}
def checkOfflineMaven = project.tasks.create( TaskNames.CHECK_MAVEN_OFFLINE_HELPERS,
GoOfflineHelpersTasks.CheckMaven )
+ checkOfflineMaven.group = TaskGroups.DISTRIBUTION_VERIFICATION
+ checkOfflineMaven.description = 'Check binary distribution Maven dependencies download helper'
+ checkOfflineMaven.dependsOn genOfflineMaven
def checkOfflineGradle = project.tasks.create( TaskNames.CHECK_GRADLE_OFFLINE_HELPERS,
GoOfflineHelpersTasks.CheckGradle )
- checkOfflineMaven.dependsOn genOfflineMaven
+ checkOfflineGradle.group = TaskGroups.DISTRIBUTION_VERIFICATION
+ checkOfflineGradle.description = 'Check binary distribution Gradle dependencies download helper'
checkOfflineGradle.dependsOn genOfflineGradle
[ checkOfflineMaven, checkOfflineGradle ].each { task ->
task.group = TaskGroups.DISTRIBUTION_VERIFICATION
@@ -314,9 +322,9 @@ class DistributionPlugin implements Plugin<Project>
{
def unpackedBinDistDir = project.file( "build/unpacked-distributions/bin/apache-zest-java-$project.version-bin" )
project.tasks.create( TaskNames.CHECK_BINARY_DIST_RAT, RatTask, { RatTask task ->
- task.dependsOn TaskNames.UNPACK_BINARY_DIST
- task.description = "Check the binary distribution using Apache RAT"
task.group = TaskGroups.DISTRIBUTION_VERIFICATION
+ task.description = "Checks binary distribution using Apache RAT"
+ task.dependsOn TaskNames.UNPACK_BINARY_DIST
task.inputDir = unpackedBinDistDir.absolutePath
task.reportDir = project.file( 'build/reports/rat-bin-dist' )
task.excludes = [
@@ -334,6 +342,8 @@ class DistributionPlugin implements Plugin<Project>
task.mustRunAfter TaskNames.CHECK_MAVEN_OFFLINE_HELPERS
}
project.tasks.create( TaskNames.CHECK_BINARY_DIST ) { Task task ->
+ task.group = TaskGroups.DISTRIBUTION_VERIFICATION
+ task.description = 'Checks binary distribution'
task.dependsOn TaskNames.CHECK_BINARY_DIST_RAT
task.dependsOn TaskNames.CHECK_MAVEN_OFFLINE_HELPERS
task.dependsOn TaskNames.CHECK_GRADLE_OFFLINE_HELPERS
@@ -360,15 +370,15 @@ class DistributionPlugin implements Plugin<Project>
private static void configureHelperTasks( Project project )
{
project.tasks.create( 'dist', Copy ) { Copy task ->
- task.dependsOn 'install'
- task.description = "Unpack the binary distribution"
task.group = TaskGroups.DISTRIBUTION
+ task.description = "Assembles source and binary distributions"
+ task.dependsOn 'install'
task.from project.tasks.getByName( 'unpackBinDist' )
task.into "$project.buildDir/dist"
}
project.tasks.create( 'checkDists' ) { Task task ->
- task.description = "Check the source and binary distributions"
task.group = TaskGroups.DISTRIBUTION_VERIFICATION
+ task.description = "Checks source and binary distributions"
task.dependsOn TaskNames.CHECK_SOURCE_DIST, TaskNames.CHECK_BINARY_DIST
}
}
http://git-wip-us.apache.org/repos/asf/zest-java/blob/051290e9/buildSrc/src/main/groovy/org/apache/zest/gradle/doc/AsciidocBuildInfoPlugin.groovy
----------------------------------------------------------------------
diff --git a/buildSrc/src/main/groovy/org/apache/zest/gradle/doc/AsciidocBuildInfoPlugin.groovy b/buildSrc/src/main/groovy/org/apache/zest/gradle/doc/AsciidocBuildInfoPlugin.groovy
index dad0f6d..324c196 100644
--- a/buildSrc/src/main/groovy/org/apache/zest/gradle/doc/AsciidocBuildInfoPlugin.groovy
+++ b/buildSrc/src/main/groovy/org/apache/zest/gradle/doc/AsciidocBuildInfoPlugin.groovy
@@ -18,6 +18,7 @@
package org.apache.zest.gradle.doc
import groovy.transform.CompileStatic
+import org.apache.zest.gradle.TaskGroups
import org.gradle.api.Project
import org.gradle.api.Plugin
@@ -30,7 +31,9 @@ class AsciidocBuildInfoPlugin implements Plugin<Project>
{
def buildInfoDir = new File( project.buildDir, "docs/buildinfo" );
- def makeAsciidocBuildInfoTask = project.task( TASK_NAME )
+ def makeAsciidocBuildInfoTask = project.tasks.create( TASK_NAME )
+ makeAsciidocBuildInfoTask.group = TaskGroups.DOCUMENTATION
+ makeAsciidocBuildInfoTask.description = 'Generates asciidoc artifact snippet'
makeAsciidocBuildInfoTask.doLast {
buildInfoDir.mkdirs()
http://git-wip-us.apache.org/repos/asf/zest-java/blob/051290e9/buildSrc/src/main/groovy/org/apache/zest/gradle/release/ReleaseSpecPlugin.groovy
----------------------------------------------------------------------
diff --git a/buildSrc/src/main/groovy/org/apache/zest/gradle/release/ReleaseSpecPlugin.groovy b/buildSrc/src/main/groovy/org/apache/zest/gradle/release/ReleaseSpecPlugin.groovy
index ac46eed..55eac67 100644
--- a/buildSrc/src/main/groovy/org/apache/zest/gradle/release/ReleaseSpecPlugin.groovy
+++ b/buildSrc/src/main/groovy/org/apache/zest/gradle/release/ReleaseSpecPlugin.groovy
@@ -18,6 +18,7 @@
package org.apache.zest.gradle.release
import groovy.transform.CompileStatic
+import org.apache.zest.gradle.TaskGroups
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.api.Task
@@ -25,12 +26,6 @@ import org.gradle.api.Task
@CompileStatic
class ReleaseSpecPlugin implements Plugin<Project>
{
- static class TaskGroups
- {
- static final String RELEASE = 'Release'
- static final String RELEASE_VERIFICATION = 'Release verification'
- }
-
static class TaskNames
{
static final String RELEASE_APPROVED_PROJECTS = 'releaseSpecApprovedProjects'
@@ -52,6 +47,7 @@ class ReleaseSpecPlugin implements Plugin<Project>
project.extensions.create( ReleaseSpecExtension.NAME, ReleaseSpecExtension, project.rootProject )
project.tasks.create( TaskNames.RELEASE_APPROVED_PROJECTS, ReleaseApprovedProjectsTask ) { Task task ->
task.group = TaskGroups.RELEASE
+ task.description = 'Apply release specification to projects in the build'
}
project.tasks.create( TaskNames.CHECK_RELEASE_SPEC, CheckReleaseSpecTask ) { Task task ->
task.group = TaskGroups.RELEASE_VERIFICATION