SuiteToNBCluster

How To Move From a Suite to the Netbeans Cluster

Motivation

This may seem obvious to some, but for those of us who are moving into Netbeans for the first time, we want to get it right the first time with minimal trial and error. Despite Netbeans advancements with regards to documentation, there is still little or no guidance on this subject. Figuring this out required a mesh of documents from the netbeans/harness/README, http://openide.netbeans.org/proposals/arch/clusters.html#verify to other wikis like DevFaqSuitesVsClusters and finally a 1 to 1 comparison of modules that already exist inside the cluster.
This document is in no way comprehensive. It is simply an attempt to document my steps and decrease the confusion and pain for others. If you have any additional comments please email me at joellelam@netbeans.org.

What you will need.

You will need commit access to nbbuild, ide, and your module.

Step By Step

1. You should have a fresh download the Netbeans src in your local directory

  • Make sure it is buildable without any build problems. You should not see any complaints about golden vs. generated files. If you do, fix them, this will cause problems later.

2. Remove any dependencies on the suite.

3. In your build.xml

1. Update your project name

  • Old:
    project name="org.netbeans.modules.web.jsf.navigation" default="netbeans" basedir=".">

New:
<project name="web/jsf/navigation" default="netbeans" basedir=".">

2. Remove any unnessary imports

  • <import file="nbproject/build-impl.xml"/>
    - Build-impl generally references your suite.
  • <import file="${suite.dir}/templates/common.xml"/>
    - and any other references to ${suite.dir}

3. Add import to projectized template

  • <import file="../../../nbbuild/templates/projectized.xml"/>

4. Remove and account for all reference to your suite

5. Add variable
test.qa-functional.cp.extra=\

  example:test.qa-functional.cp.extra= ${web/jsf.dir}/modules/org-netbeans-modules-web-jsf-navigation.jar

4. Update your nbproject/project.xml

  • Remove <suite-component/>

5. Clean and Build your project

  • Stop here if you are unable to clean and build your project. There should be nothing else stopping it from build. This may mean that you have more dependencies to get rid of.

6. Inside Netbeans' nbbuild edit cluster.properties

  1. Select the cluster you would like to add you module to. In my case it was nb.cluster.j2ee=\
  2. Within that cluster, add your module name in the appropriate place as it is usually sort alphabetically. I add the line
    web/jsf/navigation,\

7. Clean and Build Netbeans

  1. Inside the Netbeans' nbbuild run
    ant real-clean
  2. Then run
    ant
  3. You should get an build error related to your generated/files-layout.txt

8. Update the Netbeans'
ide/golden/files-layout.txt

  • Run {cvs update} on your golden files to make sure they are up to date.
  • If there were no updates, you can simply copy the build/generated/* to ide/golden/.
  • The following files should be updated.
  • ide/golden/deps.txt
  • ide/golden/files-layout.txt
  • ide/golden/friend-packages.txt
  • ide/golden/group-friend-packages.txt
  • ide/golden/moduleconfigs.txt
  • ide/golden/modules.txt
  • ide/golden/public-packages.txt
    (Mabye)

9. Clean and Build Netbeans again

  • Run
    cvs commit-validation
    to work through any additional errors.
 Warning: If you not do these steps you will break the build.

10. Be A Good Citizen and Remove your module from the old suite.

  1. Your not finished yet. You must remove your module from the old suite. Remove it from the websuite's
    project.properties
    .
  2. Make sure you can clean and build the old suite.

11 Make sure everything goes back into one commit so that you can revert if necessary.

Not logged in. Log in, Register

By use of this website, you agree to the NetBeans Policies and Terms of Use. © 2012, Oracle Corporation and/or its affiliates. Sponsored by Oracle logo