New features in Kordamp Gradle plugins

Version 0.14.0 of the Kordamp Gradle plugin suite is ready! This release brings a host of updates that should make your life easier when looking for gaining insights into your build. To begin with, all reporting tasks provided by the org.kordamp.gradle.base plugin will use ANSI colors if the terminal supports them. This make its easier to determine a particular setting, here’s for example the settings for the info and test (new) sections found in the alibaba/Sentinel project:

The color code is as follows

  • white: property names
  • yellow: string literals
  • cyan: numbers
  • green: boolean, when true
  • red: boolean, when false

Speaking of the test section, it configures a brand new plugin (org.kordamp.gradle.test) that provides additional behavior for test tasks, such as an inline report of test executions. The following screenshot shows a typical run

Each testcase will report the total of tests executed (white), how many were successful (green), failed (red), and skipped (yellow). The screenshot shows the project having all test cases succeeding and as such they are preceded with a green check sign, however a red cross would appear instead had that not been the case. Now that we’re discussing tests and reports, Gradle does not offer aggregate reports by default but the org.kordamp.gradle.test plugin does, because we believe in

The plugin configures 4 new tasks on the root project:

  • aggregateTestReports: aggregates all “regular” test reports.
  • aggregateIntegrationTestReports: aggregates all integration tests (those configured via the org.kordamp.gradle.integration-test plugin).
  • aggregateFunctionalTestReports: aggregates all functional tests (those configured via the org.kordamp.gradle.functional-test plugin).
  • aggregateAllTestReports: aggregates all reports (unit, integration, functional, etc).

Here’s how an aggregate test report looks like for the alibaba/Sentinel project

This report collects test results from 33 projects. As always, feedback is welcome to make these plugins better.

Keep on coding!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

ˆ Back To Top