PlatformX for NetBeans Code
Brought to you by:
hwchandler
THE NETBEANS EXTENDED PLATFORM/PlatformX What's here? Peer reviewed modules that are in use in actual NetBeans RCP applications - modules that may not be useful for an IDE but are certainly useful for other RCP applications. APIs here follow the same API review process as those in NetBeans proper. The Rules Anything in the top level is either in-use or soon to be in use in a real RCP application in production. What Doesn't Belong Here If you have a module for the IDE, it probably belongs in contrib/, not here. Building and Running The build system creates a copy of the platform you use. It then builds all suites in PlatformX as clusters. It then installs them into the copy of the platform. This becomes a separate platform which may be used as a platform for development. If the referenced platform is a version of the NB IDE, then an IDE with all PlatformX modules ready to use for development will be created if the disable modules inside platformx_build/platformx/nbproject/platform.properties are enabled. The enabled or disabled modules can be setup here. In the file platformx_build/build.properties you'll notice stable-build-clusters. Change this to add modules which are included in the global platformx build. Do not include modules which will not build when you plan on making a commit and pushing the results back to the repository. This will break the build for everyone. To reference a specific platform, which must be done when using the com- mand line, use a similar command from the platformx directory: Windows ant -f platformx_build\build.xml -Duser.properties.file="%userprofile%\.netbeans\6.5\build.properties" Linux/Unix: ant -f platformx_build\build.xml -Duser.properties.file=$HOME/.netbeans/6.5/build.properties Notice that the property user.properties.file in the above commands references a file in the users home directory. This file is created by every version of NetBeans in what is known as the user directory. These directories are versioned under the users OS home directory in the .netbeans directory. This file could be a custom one kept in a source repository. Run a version of NetBeans and see what this file holds. Not all information is needed for an NB RCP based application. You don't necessarily have to use this platform, but it is available if that is the route you would like to take as it makes sense to have a cu- stom platform in your project whether you build one or whether you use the one created by platformx. Basically, the NetBeans project moves forward. From version to version of the platform things will be deprecated, removed, or changed. Some of these things will not be compatible with your work, or may be too much of a change for your project at a given time. Maybe it is a lack of re- sources or maybe something else such as planning and release time. Either way it pays off to plan this out. So, if you don't want to use the platform directly you can link to the clusters created for each suite in platformx. See the create platform build directory or create .zip file for the clusters. They mostly begin with suite. Organization Generally we will try to maintain a flat hierarchy here, similar to the way the sources have been reorganized for NetBeans itself. The general exception will be for incubating projects which live under the incubator directory.