Skip to content

Commit

Permalink
Grammar enhancements to release notes for 8.9RC1 (gradle#29634)
Browse files Browse the repository at this point in the history
  • Loading branch information
ljacomet committed Jun 21, 2024
2 parents 1830436 + e8aad86 commit a667c19
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 22 deletions.
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
- Enhanced Error and Warning Messages
- IDE Integration Improvements
- Daemon JVM information
- Daemon JVM Information
46 changes: 25 additions & 21 deletions platforms/documentation/docs/src/docs/release/notes.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
The Gradle team is excited to announce Gradle @version@.

This release features significantly enhanced [error and warning reporting](#error-warning) to better handle variant ambiguity issues and missing variants during dependency resolution.
It also includes richer Java compilation errors for [IDE integrators](#ide-integration).
This release improves [error and warning reporting](#error-warning) for variant issues during dependency resolution.
It also exposes structural details of Java compilation errors for [IDE integrators](#ide-integration), making it easier to analyze and resolve issues.

Additionally, this release includes the ability to [display more detailed information about JVMs used by Gradle](#other), and other improvements.
Additionally, this release includes the ability to [display more detailed information about JVMs](#other) used by Gradle, as well as other minor improvements.

We would like to thank the following community members for their contributions to this release of Gradle:
[/dev/mataha](https://github.com/mataha),
Expand Down Expand Up @@ -83,7 +83,8 @@ The new message explicitly suggests adding this missing attribute if such an att
- Value: 'other' selects variant: 'additionalDocs'
```

The message also adds a suggestion to run the [`dependencyInsight` task](userguide/viewing_debugging_dependencies.html#dependency_insights) to view the full list of variants and attributes, as these are now omitted to make the message more clear:
The full list of variants and attributes is now omitted to make the message clearer.
Instead, the message also adds a suggestion to run the [`dependencyInsight` task](userguide/viewing_debugging_dependencies.html#dependency_insights) to view the full list if needed:

```
* Try:
Expand All @@ -92,9 +93,9 @@ Use the dependencyInsight report with the --all-variants option to view all vari

##### Missing variants

If a dependency is requested that declares no variants, dependency resolution will fail.

The new message makes this clear:
If a dependency on a project that declares no variants is requested, dependency resolution will fail.
This can happen when depending on a project that does not apply any JVM plugins.
A new error message makes this clear:

```
> No matching variant of project :producer was found. The consumer was configured to find attribute 'color' with value 'green' but:
Expand Down Expand Up @@ -124,7 +125,8 @@ or
> Calculating task graph as configuration cache cannot be reused because file '.../some-file.txt' has been replaced by a directory.
```

Before this release, the console output provided a generic message. The message was shown even if the file content was not changed, but the file itself was removed or replaced with a directory:
Before this release, the console output provided a generic message.
The message was shown even if the file content was not changed, but the file itself was removed or replaced with a directory:

```
> Calculating task graph as configuration cache cannot be reused because file '.../some-file.txt' has changed.
Expand All @@ -136,27 +138,29 @@ Before this release, the console output provided a generic message. The message
Gradle is integrated into many IDEs using the [Tooling API](userguide/third_party_integration.html).
The following improvements are for IDE integrators.

#### Adoption of the Problems API with Java compilation
#### Better compilation failure reporting for IDEs

Gradle now collects and manages problems through the [Problems API](userguide/implementing_gradle_plugins_binary.html#reporting_problems).
This means [IDEs and other Tooling API clients](userguide/third_party_integration.html) can access precise and detailed information about any issues that arise during the build process.

Several Gradle components leverage this new API, including deprecation, task validation, and the dependency version catalog.
In this release, the Java compiler is also integrated into this infrastructure.

The Java compilation infrastructure has been updated to use the [Problems API](userguide/implementing_gradle_plugins_binary.html#reporting_problems).
This change will supply the Tooling API clients with structured, rich information about compilation issues.
IDEs such as IntelliJ IDEA and Visual Studio Code can adopt this feature to provide an accurate visual representation of Java compilation problems without relying on parsing text printed by the compiler.
This integration allows popular IDEs like IntelliJ IDEA and Visual Studio Code to provide a seamless and accurate visual representation of Java compilation issues, eliminating the need to parse text output from the compiler.
[Eclipse Buildship](https://github.com/eclipse/buildship/pull/1306) will include this in its upcoming release.

<a name="other"></a>
### Other improvements

#### Daemon JVM information report

Before this release, `gradle --version` displayed the JVM used to launch Gradle.
However, that JVM did not run any real build logic.
Gradle then starts a daemon that actually runs the build.
Before this release, running `gradle --version` displayed the JVM used to launch Gradle, but this JVM did not execute any build logic.
Instead, Gradle started a [Daemon](userguide/gradle_daemon.html) that actually ran the build.
Then, Gradle 8.8 introduced a feature that allowed users to configure the JVM used to run the Gradle Daemon.

Starting from Gradle 8.8 users can configure the JVM used to run the [Gradle deamon](userguide/gradle_daemon.html).
The JVM version of the launcher and daemon can thus be different.
In this release, users can view information about the JVM used for both the Daemon (which executes the build process) and the Launcher JVM (which initiates the Gradle build process) from the [command line](userguide/command_line_interface.html).

It is now possible to view information about the JVM used for the [Daemon](userguide/gradle_daemon.html) from the [command line](userguide/command_line_interface.html) in addition to the Launcher JVM.

Running `gradle --version` provides a short output that highlights the potentially different JVM versions used by the Launcher (which initiates the Gradle build process) and the Daemon (which executes the build process):
Running `gradle --version` provides a short output that highlights the potentially different JVM versions used by the Launcher and the Daemon:

```
[...]
Expand All @@ -176,6 +180,7 @@ Daemon JVM: Eclipse Temurin JDK 11.0.23+9
| Architecture: aarch64
| Is JDK: true
```

#### Build init does not override existing build files by default

The [build `init` plugin](userguide/build_init_plugin.html) will now ask the user to confirm before proceeding if there are any files in the project directory, including Gradle `settings.gradle(.kts)` and `build.gradle(.kts)` files.
Expand All @@ -186,7 +191,6 @@ Build init now has a new `--overwrite` option, which allows users to bypass this
This can be used if initialization is canceled or fails, and the user wants to re-run the init task without being prompted to confirm.

If the user declines to overwrite files that exist, or if the `--no-overwrite` option is provided, initialization will fail with the message:

```Aborting build initialization due to existing files in the project directory: <PATH>```

The exception to this behavior is when Gradle detects an existing Maven build via the presence of a `pom.xml` file - these builds will be converted to Gradle builds without prompting.
Expand Down

0 comments on commit a667c19

Please sign in to comment.