Keith Hodges <[EMAIL PROTECTED]> writes: > This also provides a work-around so that Universes can load monticello > packages with dependencies.
No workaround is needed. Monticello is not only supported by package universes, but IMHO is the preeminant package format in the Squeak world. This means there must be a solution for Monticello dependencies, and there is one. My own "Chuck" package is divided into 31 Monticello packages. I posted it to the 3.7 stable universe without problem. The posting approach I used was to divide Chuck into two PU packages: "Chuck" and "Chuck Repository". "Chuck Repository" was a tiny file out that registered the Chuck's SqueakSource repository. "Chuck" would be loaded after "Chuck Repository", thanks to dependencies, and thus it could hold a URL to the top-level mcz file. The dependencies in that mcz file could then be resolved by Monticello, because now Monticello knows about the Chuck repository. If we were to work on making this go more smoothly, here is an idea that works better with how Package Universes is already arranged. There is a UInstaller hierarcy used to install packages, and currently when you install a package you specify just the filename of the downloaded file. It would also be possible to supply the UInstaller with the URL where the file came from. Then, the Monticello loader could do something smarter about dependencies. All this said, I do not actually like Monticello dependencies any longer. When I was developing Chuck, I frequently found myself saving packages just to update the dependency version numbers. When I occasionally messed it up, I would load old versions of things by accident and not realize it. I now believe we should use larger-granularity Monticello packages, thus simplifying the dependencies, and we should resolve the remaining dependencies using a separate tool such as Package Universes. If I ever pick up maintenance of Chuck again, one of the first things I will do is merge those 31 packages into one. -Lex _______________________________________________ V3dot10 mailing list [email protected] http://lists.squeakfoundation.org/mailman/listinfo/v3dot10
