How to specify post-install code in NBM
NBM allows to declare its own custom code in NBM archive. This code is called-back by Autoupdate/Updater
at the end of installation of NBM into IDE.
your_module.nbm
|
+- Info
| |
| +--- info.xml
|
+- netbeans
|
+--- modules...
|
+-main
|
+--- main.properties
+--- <custom code>
If Autoupdate/Updater detects main
directory in the NBM archive then main.properties
descriptor contains information about the own code. Updater
runs specified Java code according to these properties.
The properties expected in main.properties are:
Property | Value |
---|---|
mainClass |
name of the main class, run after module installation from the NBM |
relativeClassPath |
classpath elements, may contain more elements |
jvm.parameters |
properties for JVM, arguments inserted before the main class name |
mainClass.arguments |
more arguments for the main class, added after the main class name |
The run command is built on top of properties above.
#1 Problem: There was a bug: variable %IDE_USER%
contained as same value as %IDE_HOME%
i.e. both links to the platform cluster directory and %IDE_HOME% didn’t contain user directory as should be. It was fixed in NetBeans 6.5 platform.
The properties can contain several special variables which Autoupdate
replaces by real values:
Variable | Value |
---|---|
%IDE_HOME% |
platform directory |
%IDE_USER% |
user directory [[1]] |
%FS% |
file separator char |
%PS% |
path separator char |
%JAVA_HOME% |
the current Java home |
Example
-
Download and unzip a project samplepostinstall_DevFaqNbmPostInstall.zip
-
Go into
samplepostinstall/main
directory -
In
main
directory is main classHello
which should use most of possibilities of post-install hooks -
Using properties
mainClass
,relativeClassPath
,jvm.parameters
etc. -
Reads all special variables like
%IDE_HOME%
,%JAVA_HOME%
etc. -
Opens some GUI
-
Runs a JDK demo
To see that samplepostinstall
project in action
-
download NBM
-
run NetBeans IDE (6.0 or newer)
-
invoke Tools|Plugins and switch to Download tab
-
add the downloaded NBM
-
install it and then watch post-install hook what will be executed while installing that plugin
I’m not author of this feature, it’s only my investigation.
Do not hesitate to contact me on mailto:jrechtacek@netbeans.org if you have any question.