Enable code quality tasks for buildSrcPreviously, when we changed buildSrc to multi-project, the code quality tasks are disabledaccidentally because the plugin was applied to buildSrc root project. This PR fixes the issueand several code style issues.
Convert user manual to be generated by Asciidoctor onlyThis 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 displayImportant 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](https://github.com/gradle/dotorg-docs/tree/master/docs-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`.
Externalize samples testing infrastructureThis change replaces UserGuideSamplesRunner with an external librarycalled sample-check. Sample discovery, execution, and normalizationis delegated to this library, with some custom normalizers remainingin the Gradle codebase.Samples output has become co-located with the sample code. Samples testsmust be run with Java 8+.
Allow Groovy, Kotlin, and Gradle-specific syntax highlightingThis change creates and uses custom xslthl config that allowsDocbook to highlight syntax in a language specific way instead ofjust always falling back to java.Styles for syntax highlighting are adjusted to match IntelliJdefaults