Skip to content

JanitzaElectronics/gradle-nbm-plugin

 
 

Repository files navigation

gradle-nbm-plugin

A Gradle plugin to build NetBeans modules and RCP applications.

Features

Build standalone NetBeans modules

  • Builds a module.
  • Compiles sources.
  • Process manifest by adding deps and required attributes (public packages, friends, version, ...)
  • Create module files layout: module JAR, bundled JAR (from dependencies), update tracking?, help files, localization/branding
  • Builds NBM file for the module.
  • Signing can be configured in a build script
  • Runs unit tests
  • It is possible to run NetBeans with this module installed.

See the example build script to find how to customize module build. Things that you need to do in your build script include:

  • Apply the plugin. You can follow the directions from Gradle plugin portal
  • Add a NetBeans Maven repository or any other source of NetBeans modules.
  • Add nbm section defining model how the module should be built. Until there is a better documentation the available properties can be found in an extension class
  • Optionally you can add an Exec task to run NetBeans with this module. The sample creates a netbeans.conf file where it adds a property specifying location of extra module and runs NetBeans using its own user directory.

NetBeans evangelist Geertjan Wielenga wrote a nice introductory post about How to build NetBeans modules with Gradle.

TODOs

  • fix resource lookup when running annotation processors
  • possibly generate files from annotations into special directory to simplify merges
  • solve AUC generation
  • testing
  • module dependencies: use new configuration(s) to allow changes
  • solve how to run multiple modules together (fileTree copying + netBeansRun)
  • autoload/eager modules
  • RCP applications

Goals

Build standalone NetBeans modules

  • Run NetBeans with this module
  • support debugging (optional)

Build module suite

  • same as above for multiple modules
  • interdependencies (implementation deps)
  • generate autoupdate center files layout

NetBeans RCP applications

  • Build an application
  • Run it
  • Create an installer
  • Run tests

Development notes

To do a release run

./gradlew release -Prelease.scope=minor -Prelease.stage=final

About

A Gradle plugin to build NetBeans modules and RCP applications.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Groovy 80.4%
  • Java 19.6%