Building OpenSSO from Netbeans on Mac OS X


I spent some time to build OpenSSO from within NetBeans.  My objectives were not only pedagogical, I mainly wanted to be able to run the client SDK under control of the NetBeans debugger to better understand why my code was not behaving as expected (more about my code and the sample I built in another blog entry).

While many docs are available on OpenSSO web site, it is not always easy to find where to start, which doc to use nor to fill out the missing pieces, hence this write up.

Here are the steps I followed :

  • Obviously, download and install NetBeans 6 (latest milestone is M10 at the time of this writing)
  • Download OpenSSO’s source code
  • Follow the instruction in the README to acquire and compile the required third-party libraries
  • Ensure everything compiles correctly by typing ant nightly in the top level directory of your source tree.  The process took 14 min on my Mac Book Pro.
  • Create the NetBeans project, following these instructions
  • In the "Java Source Classpath" panel of your project’s properties add the following libs :
    • <opensso root>/product/shared/built/classes
    • <opensso root>/resources/jato/jato.jar
    • <opensso root>/resources/lockhart/lib/cc.jar
  • Give NetBeans a couple of seconds to parse the source and the new libs and … all the errors should be gone !

As an extra bonus, you can now use the CVS graphical user interface  built into NetBeans to browse the revision history, view diffs etc …

I followed these steps on Mac OS X and Solaris 10 and, without surprise, the procedure is similar.

Under Mac OS X, make sure you have the development tools installed to compile the third-party libs.  On Solaris, make sure you have a basic development environment (gcc, gmake and the likes) installed.

Note : these steps will only build amserver, amAdminTools, distAuth, amClientSDK, console etc … you will not get Federation nor the agents ….  I will let this as an exercise for you 🙂  Please feel free to leave your comments if something is unclear, missing or incorrect.

  1. No comments yet.
(will not be published)