[plt-scheme] submitting new versions of interdependent PLaneT packages
What is a good process for submitting new versions of PLaneT packages
that are interdependent?
Say I have four Scheme libraries with a "uses" dependency graph that is
a simple tree:
A <-- B <-- C
A <-- D
I want to put them into PLaneT, and I want each library to have its own
PLT collection and PLaneT package. (Not all libraries in one PLaneT
package.)
It won't be unusual for me to want to release new versions of three or
four of the libraries at the same time, with, say, the new version of B
dependent on the new version of A.
How do I do that PLaneT submission(s)?
Submit them one at a time, so that I can get the officially assigned
PLaneT version number of, e.g., A, so that I can put it in the a
"require" spec in B?
Or do I 'predict' the PLaneT version numbers that will be given to A and
B, so that I can submit A, B, and C at effectively the same time (even
though I can't do a test of them before submission because I'm referring
to versions that don't yet exist in PLaneT)?
Now what if I have two PLT packages with mutual "require" dependencies?
X <--> Y
Seems like in that case I'd have to predict version numbers, or
introduce an interim version of one of them to bootstrap the new versions.
For non-PLaneT releases of the libraries, I'd just document using the
version numbers that I assign: e.g., "X 1.3 and Y 1.5 go together."
This gets more complicated, but so does the PLaneT versioning scheme, as
soon as one considers interface changes that impact one dependent
package but not another, and changes that are later revealed to have
greater impact than was anticipated when the version was assigned.
--
http://www.neilvandyke.org/