Skip navigation links

NetBeans Architecture Answers for Gradle Projects module


Interfaces table

Group of java interfaces
Interface NameIn/OutStabilitySpecified in What Document?
GradleProjectAPIExportedUnder Development

The Gradle Project API provides some miscellaneous friend APIs and SPIs relating to Gradle projects.

CommonAnnotationsAPIImportedStable

The module is needed for compilation. The module is used during runtime. Specification version 1.23.1 is required.

ClassPathAPIsImportedOfficial

The module is needed for compilation. The module is used during runtime. Specification version 1.41.1 is required.

ProgressImportedOfficial

The module is needed for compilation. The module is used during runtime. Specification version 1.59 is required.

DataSystemsAPIImportedOfficial

The module is needed for compilation. The module is used during runtime. Specification version 1.6.1 is required.

MultiViewImportedStable

The module is needed for compilation. The module is used during runtime. Specification version 1.39 is required.

org.netbeans.libs.json_simpleImportedPrivate

The module is needed for compilation. The module is used during runtime. Specification version 0.8.1 is required.

org.netbeans.modules.editor.documentImportedPrivate

The module is needed for compilation. The module is used during runtime. Specification version 1.25 is required.

ExternalExecutionAPIImportedStable

The module is needed for compilation. The module is used during runtime. Specification version 1.41.1 is required.

org.netbeans.modules.libs.gradleImportedPrivate

The module is needed for compilation. The module is used during runtime. Specification version 8.0.1 is required.

OptionsDialogSPIImportedOfficial

The module is needed for compilation. The module is used during runtime. Specification version 1.39.1 is required.

ProjectAPIImportedOfficial

The module is needed for compilation. The module is used during runtime. Specification version 1.79 is required.

ProjectUIAPIImportedOfficial

The module is needed for compilation. The module is used during runtime. Specification version 1.78 is required.

BaseProjectUIAPIImportedOfficial

The module is needed for compilation. The module is used during runtime. Specification version 1.79.0.9 is required.

GeneralQueriesAPIImportedOfficial

The module is needed for compilation. The module is used during runtime. Specification version 1.38.1 is required.

org.netbeans.spi.navigator.NavigatorPanelImportedStable

The module is needed for compilation. The module is used during runtime. Specification version 1.32.1 is required.

ActionsAPIImportedOfficial

The module is needed for compilation. The module is used during runtime. Specification version 6.34.1 is required.

org.openide.awtImportedOfficial

The module is needed for compilation. The module is used during runtime. Specification version 7.61 is required.

DialogsAPIImportedOfficial

The module is needed for compilation. The module is used during runtime. Specification version 7.36.1 is required.

ExecutionAPIImportedOfficial

The module is needed for compilation. The module is used during runtime. Specification version 9.0 is required.

ExplorerAPIImportedOfficial

The module is needed for compilation. The module is used during runtime. Specification version 6.73 is required.

FilesystemsAPIImportedOfficial

The module is needed for compilation. The module is used during runtime. Specification version 9.1 is required.

org.openide.filesystem.spiImportedOfficial

The module is needed for compilation. The module is used during runtime. Specification version 9.5 is required.

InputOutputAPIImportedOfficial

The module is needed for compilation. The module is used during runtime. Specification version 1.44.1 is required.

LoadersAPIImportedOfficial

The module is needed for compilation. The module is used during runtime. Specification version 7.56.2 is required.

ModulesAPIImportedOfficial

The module is needed for compilation. The module is used during runtime. Specification version 7.42.1 is required.

NodesAPIImportedOfficial

The module is needed for compilation. The module is used during runtime. Specification version 7.62 is required.

EditorAPIImportedOfficial

The module is needed for compilation. The module is used during runtime. Specification version 6.61.1 is required.

WeakListener.setAccessibleImportedUnder Development

The module is needed for compilation. The module is used during runtime. Specification version 9.3 is required.

LookupAPIImportedOfficial

The module is needed for compilation. The module is used during runtime. Specification version 8.24.1 is required.

UtilitiesAPIImportedOfficial

The module is needed for compilation. The module is used during runtime. Specification version 9.3 is required.

WindowSystemAPIImportedOfficial

The module is needed for compilation. The module is used during runtime. Specification version 6.70.1 is required.

Group of layer interfaces
Interface NameIn/OutStabilitySpecified in What Document?
GradleProjectCustomizerExportedUnder Development

"Projects/org-netbeans-modules-gradle/Customizer" folder's content is used to construct the project's customizer. It's content is expected to be ProjectCustomizer.CompositeCategoryProvider instances. The lookup passed to the panels contains an instance of Project.

GradleLogicalViewProviderExportedUnder Development

"Projects/org-netbeans-modules-gradle/Nodes" folder's content is used to construct the project's child nodes. It's content is expected to be NodeFactory instances.

GradleLookupExportedUnder Development

"Projects/org-netbeans-modules-gradle/Lookup" folder's content is used to construct the project's additional lookup. It's content is expected to be LookupProvider instances. Gradle project provides LookupMergers for Sources, PrivilegedTemplates, RecommendedTemplates and other classes. Implementations added by 3rd parties will be merged into a single instance in the project's lookup.

"Projects/org-netbeans-modules-gradle/Plugins/<plugin-name>/Lookup" folder content is also used to contribute into the project lookup, based on the Gradle plugin ids, like "java-base".

GradleActionsExportedUnder Development

"Projects/org-netbeans-modules-gradle/Actions" folder'' content is used to add item's to the main project node popup. It's content is expected to be Action instances.

Group of branding interfaces
Interface NameIn/OutStabilitySpecified in What Document?
org.netbeans.modules.gradle.api.execute.NetworkProxySettings.allowOverrideExportedUnder Development

Brand the org.netbeans.modules.gradle.api.execute.NetworkProxySettings.allowOverride key in a org.netbeans.modules.gradle.api.execute.Bundle file with one of the values true or false to specify whether to offer override of proxies when running Gradle daemon. With false, the user is only given an option to upgrade gradle's configuration files. Since

org.netbeans.modules.gradle.spi.DEFAULT_REUSE_OUTPUTExportedUnder Development

Brand the DEFAULT_REUSE_OUTPUT key in a org.netbeans.modules.gradle.spi.Bundle file with one of the values true or false to specify the default behavior of reusing output by your application. Use never value, if the reuse shall never be done, regardless of the settings value.

org.netbeans.modules.gradle.api.execute.TrustProjectOptionExportedUnder Development

Brand the org.netbeans.modules.gradle.api.execute.TrustProjectOption.* keys in org.netbeans.modules.gradle.api.execution to enable/disable/reorder options in 'trust project' confirmation dialog. For more details, see RunUtils.isProjectTrusted.

Group of systemproperty interfaces
Interface NameIn/OutStabilitySpecified in What Document?
netbeans.debug.gradle.info.actionExportedUnder Development

Starting NetBeans with netbeans.debug.gradle.info.action=true would make the Gradle project information loading into a debugabble JVM where the debugging port is 5006. A new debugger session can be attached to that port, make the netbeans-gradle-tooling project debuggable in action.

Group of property interfaces
Interface NameIn/OutStabilitySpecified in What Document?
runJvmArgsExportedFriend

NetBeans Tooling plugin recognizes runJvmArgs project property, and injects specified JVM arguments into JavaExec executing the user code. Use -PrunJvmArgs=.... If passing more arguments, the whole -P must be properly quoted. Arguments that contain spaces must also use quoting or escapes.

runWorkingDirExportedFriend

NetBeans Tooling plugin recognizes runWorkingDir project property, and injects specified working directory into JavaExec executing the user code. Use -PrunWorkingDir=.... If the working directory contain spaces, it must also use quoting or escapes.

runEnvironmentExportedFriend

NetBeans Tooling plugin recognizes runEnvironment project property, and injects specified environmental variables into JavaExec executing the user code. Use -PrunEnvironment=.... The value consists of expressions of VAR_NAME=VAR_VALUE, or !VAR_NAME. The VAR_NAME=VAR_VALUE sets environment variable VAR_NAME to value VAR_VALUE and !VAR_NAME removes variable VAR_NAME from the set of environment variables. If passing more arguments, the whole -P must be properly quoted. Variables whose values contain spaces must also use quoting or escapes.

Group of java.io.File interfaces
Interface NameIn/OutStabilitySpecified in What Document?
nb-actions.xmlExportedUnder Development

NetBeans Gradle support recognizes special file(s) that can be placed next to a build.gradle. These files contain description of bindings between NetBeans UI actions (compile, run, debug, etc.) and the actual Gradle goals to execute.

<!DOCTYPE actions SYSTEM "action-mapping.dtd">
<actions>
    <action name="clean">
        <args>clean</args>
    </action>

    <action name="download.javadoc">
        <!--
            We do not really execute any tasks here, rather just reload the project
            allowing it to go online and fetch some dependencies. So in this case
            the action is forcing a project reload with some argiments.
        -->
        <reload rule="ALWAYS_ONLINE">
            <args>-PdownloadJavadoc=${requestedComponent}</args>
        </reload>
    </action>

    <action name="download.sources">
        <reload rule="ALWAYS_ONLINE">
            <args>-PdownloadSources=${requestedComponent}</args>
        </reload>
    </action>

    <action name="download.sourcesanddoc">
        <reload rule="ALWAYS_ONLINE">
            <args>-PdownloadSources=${requestedComponent} -PdownloadJavadoc=${requestedComponent}</args>
        </reload>
    </action>

    <!--
        The following section is used and preferred when the 'virtual plugin' named
        'root' is present in the project plugin list marking that project is a root
        project.
    -->
    <apply-for plugins="root">
        <action name="clean">
            <args>clean</args>
        </action>

        <action name="build">
            <args>assemble</args>
        </action>

        <action name="rebuild">
            <args>clean assemble</args>
        </action>
    </apply-for>

    <!--
        The following section is used and preferred when the plugin named
        'java' is present in the project plugin list.
    -->
    <apply-for plugins="java">
        <action name="test.single">
            <args>--rerun-tasks test --tests ${selectedMethod}</args>
        </action>
        <action name="run.single.method">
            <args>--rerun-tasks test --tests ${selectedMethod}</args>
        </action>
        <action name="debug.single.method">
            <args>--rerun-tasks test --debug-jvm --tests ${selectedMethod}</args>
        </action>
        <action name="debug.test.single">
            <args>--rerun-tasks test --debug-jvm --tests ${selectedMethod}</args>
        </action>

        <action name="javadoc">
            <args>javadoc</args>
        </action>

        <!--
            The debug.fix action is not repeatable. So it cannot be repeated
            in the Output Tab UI.
        -->
        <action name="debug.fix" repeatable="false">
            <args>--offline --no-rebuild ${affectedBuildTasks}</args>
            <reload rule="NEVER"/>
        </action>
    </apply-for>

    <!--
        Custom actions are present under the "Run Gradle' popup on the project
        node. They shall be named with a prefix 'custom-' and an project unique
        number. They can have a displayName which is used to present the action
        in the UI.
    -->
    <action name="custom-1" displayName="Publish Plugin">
        <!-- Using 'input:' token provider will request user input
             when invoking the action. I this case it request a value displayed
             as 'Version', and fills up the default as '0.4.x'. The default
             value part is optional.
        -->
        <args>-Pversion=${input:Version,0.4.x}
clean
publishPlugins</args>


</actions>
             

nb-actions-config.xmlExportedUnder Development

An extension of nb-actions.config is a per-Configuration action mapping. It can be placed in nb-actions-configurationID.xml with the same format and will apply only if that specific Project Configuration is in effect.

Group of lookup interfaces
Interface NameIn/OutStabilitySpecified in What Document?
waitFinishedExportedPrivate

When calling ActionProvider.invokeAction(name, lookup) an instance of AfterBuildActionHook can be placed into lookup. It is then notified when the execution of the action is finished. Useful when writing tests.

project-actionsExportedPrivate

The GradleActionProviders can be also activated for individual Plugins; register them for project type org-netbeans-modules-gradle/Plugins/<plugin-id>.


General Information


Project and platform dependencies


Deployment


Compatibility with environment


Access to resources


Lookup of components


Execution Environment


Format of files and protocols


Performance and Scalability