Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

This document describes how to develop code to run in the SLAC eclipse applications lab (hearafter hereafter named "Seal") environment. Because Seal is a customized eclipse environment, many of the platform-specific development details are covered in eclipse development books. The point of this document is to inform developers about our local customizations and conventions, as well as to provide a quick start guide of sorts.

...

We've adopted the convention for Seal that every eclipse project corresponds to a cvs module under physics/seal . This means that you can checkout the entire seal codebase code base by expanding {{physics/seal }}in the CVS Repositories view, selecting all of the modules, right-clicking to get the context menu, and selecting "Check out".

...

When the build process completes, you'll get a message that there were some errors. Just dismiss the dialog box, and think to yourself "so what?". The final step to make the newly deployed product the current version is to update the "current" symlink in the same directory, and to run the rsync script to mirror the changes out to the production box.

Where's the hack

In CVS physics/seal/application/edu.stanford.slac.eclipse.ide.application. This is built by the feature.seal.application as described above.

  • IDEApplicatinProxy is the entry point.
  • The menu bar (to add Applications and Utilities) is overridden by IDEWorkbenchWindowAdvisorProxy.java.
  • To push CSS menu items down into Advanced, we added SEALMenuManager extending MenuManager. This creates the Advanced submenu and sets up the list of menus allowed to be at the top. The basic idea is that all menu items (from CSS) that want to contribute to the top level menu, are 'allowed' to do so, but they're set to "hidden". This is so that all plugins that expect to find CSS things do in fact find them. Then, those CSS items are added to the Advanced CSS menu, in which place they're set to "not hidden".