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