Skip navigation links

Introduction

This document lists changes made to the Gradle Project API.


Index of APIs

Incompatible changes by date

Fuller descriptions of all changes can be found below (follow links).

Not all deprecations are listed here, assuming that the deprecated APIs continue to essentially work. For a full deprecation list, please consult the Javadoc.

All changes by date

Changes by version

These API specification versions may be used to indicate that a module requires a certain API feature in order to function. For example, if you see here a feature you need which is labelled 1.20, your manifest should contain in its main attributes the line:

OpenIDE-Module-Module-Dependencies: org.netbeans.modules.gradle/0 > 1.20

Changes by affected class

org.netbeans.modules.gradle.api.execute.RunUtils


Details of all changes by API and date


Gradle Project API

Introduce Trust relationship with Gradle Projects to prevent unintentional Gradle invocation.

Jun 24 '20; API spec. version: 2.2; made by: lkishalmi

Gradle projects are maintaining a trust attribute from now. This trust is based on the NetBeans user directory and the a secret placed in the Gradle Root project directory.

Trusting any project of a multi-project Gradle build means trust all project in that multi-project project, as the trust is placed on the root project.

This change is backported to version 2.0.1 as well.

Added RunUtils.isProjectTrusted(Project,boolean) where plugin can check if a project is trusted or request one time trust with interactive mode.

There is no API/SPI to mark a project trusted/untrusted. Projects are not trusted by default, but become trusted once a priming build is requested or a Gradle task is invoked as a result of an user action.

Added org.netbeans.modules.gradle.spi.GradleSettings.GradleExecutionRule with setter ad getter in org.netbeans.modules.gradle.spi.GradleSettings as a global option to how to treat automatic Gradle Execution globally.

Move Gradle Tooling API to a separate module.

Apr 4 '20; API spec. version: 2.0; made by: lkishalmi; issues: NETBEANS-4118

The Gradle Tooling API has been removed from this module to its own into: org.netbeans.modules.libs.gradle

Modules depending on previous versions of this module need an additional dependency on the new library module. The main reason behind this split is that it is easier to do Gradle Tooling API update in the future.

                    <dependency>
                        <code-name-base>org.netbeans.modules.libs.gradle</code-name-base>
                        <compile-dependency/>
                        <run-dependency>
                            <release-version>6</release-version>
                            <specification-version>6.3</specification-version>
                        </run-dependency>
                    </dependency>
                

Note: The specification version of the org.netbeans.modules.libs.gradle module is matching the provided Gradle Tooling API version. The release version number follows the major version.

Besides of the library removal the source code provided in this module are backward compatible.

Added RunUtils.cancelGradle(RunConfig) to allow plugins to cancel an executed Gradle process.

Oct 22 '19; API spec. version: 1.4; affected top-level classes: RunUtils; made by: lkishalmi; issues: NETBEANS-3279

Added RunUtils.cancelGradle(RunConfig) to allow plugins to cancel an executed Gradle process.