This post originated from an RSS feed registered with Agile Buzz
by James Robertson.
Original Post: Store Extensions
Feed Title: Travis Griggs - Blog
Feed URL: http://www.cincomsmalltalk.com/rssBlog/travis-rss.xml
Feed Description: This TAG Line is Extra
In IRC and a couple of other places there were some follow up questions to how some of the stuff mentioned in Automated Builds was done. As a result, I took our StoreExtensions package, made it a little more standalone, and replicated it up to the repository.
It adds an object called PackageDeployment which is a nice programitic interface for publishing packages as parcels. PackageDeployment makes sure that the parcel version is the same as the package version. It avoids redundant publishes. If the package is dirty, it adds a timestamp to the parcel version, so that unpublished packages don't like published packages in parcel form.
It adds methods to Package and PackageModel that allow prerequisite chains to be computed. The determination if package head is determined by latest version number that is all digits. This is easily changed and could be made more "pluggable" if there was interest.
It also adds some handy RB menu items such as:
Update to Head: Given the selection, computes its full latest prereq tree, then presents a dialog of the changes against the current image. Press OK, and it loads them. It sure beats doing "more recent versions", selecting each one by hand, and then loading the latest.
Deploy (with Prereqs): Given the selection, prompts for a directory, and then uses the PackageDeployment object to generate parcels for the selection AND all of its recursive prerequisites.
Finally, many thanks to Colin Putney. The count of known sites doing Automated Builds goes up to 4 with his report about How Quallaby does Automated Builds.