Chapter 27. Producing Modules (Packaging & Distribution)
Just writing a module JAR that works in your NetBeans test environment does not make it ready for end users. One critical consideration is the lifecycle of the module—how multiple versions of it may be maintained and user settings from them upgraded. Internationalization and accessibility can help your module be usable by people speaking various languages and people with disabilities or special needs for interacting with software. Online documentation can be provided via JavaHelp for novice users. If your module provides access to a Java API, you can make it more convenient for the user to work with this API. Production includes physical creation of the module and associated files using a robust build system and publishing it to be available for users without complicated installation procedures. Finally, it is desirable to make the module easily testable for bugs and regressions, as well as providing for diagnosis of problems in the field. All of these topics can perhaps be ignored during initial prototyping, but need to be addressed before a public release can be considered.
Giving versions of your module and controlling how it may be used by other modules or what other modules it uses is an important production consideration—unless you can guarantee what environment a user is running NetBeans in and are willing to manually manage upgrades to all modules, the NetBeans module dependency and versioning system can ...