I'd like to adjust the build / release process for Eclipse update sites slightly to achieve several goals: 1) speedier builds 2) more automation, reliability 3) insuring minimal use of SVN space in dist.apache.org svn.
The speedier builds would come from avoiding regenerating the pack.gz files on older versions of plugins. The more automation would come from having smaller update-site poms, not having to list every older version of plugins. The insuring minimal svn use would come from automating the checkout - update of the eclipse update site in a manner to preserve old plugins, unmodified. The update site building requires running some eclipse tools to generate metadata from a set of existing features and plugins. This process requires access to all the features and plugins (both the new ones being released, and all of the older versions). Today, this is accomplished by using the maven dependency plugin to copy the release feature / plugin artifacts from maven central to the target working area. Today, the build process is regenerating 7 more file for each old plugin - a "pack.gz" format of the jar, plus 3 checksums/signings for the plain Jar and pack.gz form. In the new process, rather than pull the existing plugin jar from maven central, I propose using svn checkout from the distribution svn (release) to get all the old features, plugins, their pack.gz forms, and their signings/checksums. The update pom site would only need to call out specifically the new release being added to the set. The existing build steps would be reduced by no longer generating pack.gz forms for older versions, or the signings/checksums for those (I haven't yet investigated how to do this). When the build is complete, because the update site was previously checked-out of the dist svn, to release, you would just commit the changes (which would be only the new versions of features / plugins and the top level metadata, thus saving svn space, and insuring older versions retain their original signings. Although I haven't used it before, there's a Maven plugin for svn checkout etc: http://maven.apache.org/scm/maven-scm-plugin/ What do you think? Any ideas for improvement? -Marshall
