These are some brief notes to document how the callisto projects "contribute" to the "Callisto Build". (Hopefully, users can expand upon them, as they try to follow them, and run into confusing, or poorly documented sections). Of course, there really is no "build" of Callisto, but only a copying of what is already available on each project's update site, to a central site. Plus, there is a "site.xml" file, and index.html, etc., that are authored, and callisto projects are (relatively) free to make updates to them. The purpose of the "callisto build" is to simply document the steps in the process, require as little "manual" intervention as necessary, and have "the build" be reproducible, version controlled, etc. Contributors to the Callisto Discovery site need to be aware the CVS Callisto projects. :extssh:<your-committer-id-goes-here>@dev.eclipse.org:/cvsroot/callisto Or, general "read" access via :pserver:email@example.com:/cvsroot/callisto There are two projects there: org.eclipse.callisto.tools org.eclipse.callisto.updatesite The org.eclipse.callisto.tools project has a build-home directory, with several ant files, of the form features-<project>.xml, where <project> is ep, wtp, birt, emf, cdt, dtp, gef, gmf, tptp, or ve So, the projects responsibility is to keep those feature-<project>.xml files up to date, as per the projects deadlines. Hidden in that statement, though, is that the projects own update site must already exist (and be working) at the URL that is specified in the feature-<project>.xml. Typically, as projects move from milestone to milestone (or release candidate to release candidate) only the version identifiers in that feature-<project>.xml file have to be changed. There might, for some projects, be times when the feature ids themselves have to change or perhaps the URL will change as to where to find the project's update site. Once a project updates their feature-<project>.xml file (and commits it to head) there will be a psuedo-automatic process where the following happens:
- an ant task will be ran to use update manager's "mirror" function to "pull" features from a project's site, and copy them to the callisto/staging site.
- The callisto site.xml file will be updated with the new feature versions, and copied to /callisto/staging site.
- Once the staging site has been tested by the projects, to indeed discover and install the right versions, on the right platforms, etc., there will be a "mass delete and mass copy" of the /callisto/staging site to the /callisto/release site.
- This "release" will be coordinated with the webmaster, so that the mirrors have time to replicate /callisto/relases (note: /callisto/staging is not mirrored, since it is for testing only, and may be created and re-created frequently, which would cause unnecessary noise on the mirror network).