[plt-scheme] PLaneT and beta releases
Noel Welsh wrote:
>PLaneT is great! PLaneT sucks! Let me illustrate.
>
>Say I'm working on libraries A and B. They are
>interdependent. In A I refer to B via it's PLaneT address
>so things Just Work when someone uses A. All good.
>
>Now I want to work on A. I'm adding some new functionality
>that requires new functionality in B. This is a big change
>so I want to work on both A and B for some time before I
>release them. Suddenly all is not good. I have to change
>all references to B in A to use a normal collection
>directory so that I can see my local changes to B. Then I
>have to change them back when I release. Woe is me!
>
>What are good ways to get around this problem? I can think
>of:
>
>1. PLaneT has a notion of branches and becomes very
>complicated
>
>2. I run a local PLaneT server. This is clearly the better
>option, though the docs don't give any indication on how to
>do this.
>
>Any (better) ideas?
>
Use the local cache (and lie about version numbers)?
You can now test that your .plt file works as intended using the planet
command-line tool in its install mode:
planet --file <path to your .plt file> <owner name> <maj> <min>
will install the specified .plt file into your local PLaneT cache as
though
it had been downloaded from the PLaneT server with the given owner
name and major and minor versions. After you run this command, you
can require your package on your local machine using
(require (planet (<owner name> <.plt file name without path>
<maj> <min>)))
to verify everything works. After you do so, you can use
planet --remove <owner name> <.plt file name> <maj> <min> to
remove the test package from your local cache. (Not removing it is safe
as long as you use the same name and version numbers the package will
have on the official PLaneT server; otherwise you may experience
problems.)
>Cheers,
>Noel
>
Coach: What's up, Norm?
Norm: Corners of my mouth, Coach.
--
Jens Axel Søgaard