Clone Tools
  • last updated a few seconds ago
Constraints: committers
Constraints: files
Constraints: dates
include Kotlin DSL sample for chapter publishing_ivy (java-multi-project sample)

Signed-off-by: jnizet <>

  1. … 8 more files in changeset.
Convert user manual to be generated by Asciidoctor only

This change replaces all embedded Docbook syntax from the user manual.

Asciidoctor files are now converted directly to HTML and PDF.

It not only greatly simplifies the user manual generation pipeline, but also it makes it faster.

I did the following for all user manual pages:

- [x] Adjusted links to other manual pages, DSL docs, and Javadocs where necessary.

Fixed a couple dozen broken links at least.

- [x] Convert samples XML from docbook to asciidoctor syntax

- [x] Converted wide tables to a more flexible list-based display

Important contributor differences from now on:

- Users must use a `<file>.adoc#` prefix for all cross-reference links.

This is _required_ to achieve working links in all 3 outputs: multi-page user manual, single-page user manual, and PDF.

- The manual PDF is no longer themed, and no longer has the list of examples links in the TOC.

- File names were changed from camelCased to snake_case to have a crystal clear 1-1 mapping between source to output.

- Section reference verification is now handled by Asciidoctor verbose mode.

- The single-page user manual has the same navigation as the multi-page manual for now.

- [Common Asciidoctor extensions]( are now used by Gradle Guides and the User Manual, however, the the web assets (CSS, JS, etc) are not yet merged.

These extensions are responsible for injecting the navigation and styles.

The header/footer/navigation HTML can now be found under `subprojects/docs/src/main/resources`.

  1. … 401 more files in changeset.
Add dedicated DSL to customize Ivy descriptor to ivy-publish plugin

This commit adds a type safe DSL for customizing the generated Ivy

module descriptor of an IvyPublication to the ivy-publish plugin:

descriptor {

license {

name = 'The Apache License, Version 2.0'

url = ''


author {

name = 'Jane Doe'

url = ''


description {

text = 'A concise description of my library'

homepage = ''



Only interfaces are exposed as part of the public API, all of them are

prefixed with `IvyModuleDescriptor`. The exposed properties make use of

the Provider API.

In addition, the new DSL is documented in the User Guide, DSL Reference

and Release Notes.

Resolves #5193.

  1. … 31 more files in changeset.
Add a overview chapter for publishing

This commit extracts the common parts of publishing from the Maven Publish and

Ivy Publish Plugin chapters and restructures them into an overview that should

be easier for newcomers to understand.

One result is slimmer plugin reference chapters. I have also added publishing

sections to the Java and War Plugin chapters detailing the components that they


Finally, I have updated the formatting in the War Plugin chapter so that it's

consistent with other plugin reference chapters.

  1. … 24 more files in changeset.
Fix Java component publishing

When we introduced the `java-library` plugin, we made sure

the published POM reflects what a downstream project in the

same build would see: `api` dependencies are exposed, `implementation`

dependencies are hidden. The legacy `compile`/`runtime` dependencies

are exposed as well for backwards compatibility.

We forgot to adjust the tests for the existing `java` plugin,

leading to a confusing difference in behavior. The `java` plugin

was still hiding the legacy `compile` and `runtime` dependencies from

consumers. This was due to a bug in the implementation of `JavaLibrary`,

which was looking for the `api` configuration instead of the `apiElements`


  1. … 24 more files in changeset.
Upgrade Apache Commons Collections to v3.2.2

Version 3.2.1 has a CVSS 10.0 vulnerability. That's the worst kind of

vulnerability that exists. By merely existing on the classpath, this

library causes the Java serialization parser for the entire JVM process

to go from being a state machine to a turing machine. A turing machine

with an exec() function!

  1. … 54 more files in changeset.
Use Junit 4.12 in samples

  1. … 38 more files in changeset.
Tabs to spaces +review REVIEW-5060

  1. … 17 more files in changeset.
Full proofreading pass on user guide. * Fixed many small typos * Fixed many small grammar issues, requiring small rephrasing * Reworded many phrases to avoid problem with "literal"s being truncated at EOL * Added blank columns to some tables to avoid overwrites * Added newlines to code samples to avoid truncation * Edited all task dependency graphs to use UML "depends on" notation, with arrow from task to depended task, along with a mention of this in the introduction * Added info to "" to describe how to edit graph images * Fixed template link for API references * Ensured text uses "left double quote" and "right double quote" where appropriate * Made a handful of small actual content changes to emphasize points not fully covered * Changed some "p" elements to "para" * Changed some "thread" elements to "thead"

  1. … 137 more files in changeset.
Use file paths instead of file:// urls in publishing samples.

  1. … 7 more files in changeset.
Updated "publishing ivy" chapter of the user guide for recent changes

  1. … 7 more files in changeset.
Updated ivy-publish samples - Split into 3 separate samples - Made java multiproject sample a bit clearer - Have not yet updated userguide for these changes

  1. … 12 more files in changeset.