Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
12.3
Description
In NetBeans 12.3, a way how a caller can launch the user application, passing application parameters and launcher (VM) parameters in an abstract way was introduced. Maven implementation was done as a proof of concept.
In order to better support Micronaut development, I need to do the same for Micronaut-based applications, which mostly use gradle build - Micronaut itself is built by gradle, so it's natural to cover both Micronaut-supported build systems with the feature.
During analysis, I have noticed that Gradle Java support does not honour StartupExtender API, which is used by other NB plugins to inject VM-level parameters; so this task should also cover implementing that support for better integration of Gradle Java with the rest of NetBeans IDE.
The general idea is:
- mix in JVM arguments provided by {{StartupExtender}}s.
- define a project property, interpreted by NetBeans Tooling plugin, since Gradle itself does not accept commandline arg or project property that would affect the JVM settings
- implement a token replacer, that would generate necessary commandline items for gradle build, that will be interpreted directly by Gradle, or the Plugin
- Change the default action-mapping.xml to use those new tokens, for javaExec related actions.
- Update documentation to instruct users how to change existing action-mappings
Eventually some migration tool may be provided, but documentation should be enough, our users are developers, after all.
The above should ensure, that for newly opened projects, the implemented support will work 'out of the box'. Existing projects may need to be upgraded - in the IDE-related part.
Attachments
Issue Links
- links to