[plt-scheme] DrScheme tool development practices

From: Stephen De Gabrielle (spdegabrielle at gmail.com)
Date: Wed Sep 17 12:14:30 EDT 2008

Thanks Carl,


Cheers,
Stephen


On Wed, Sep 17, 2008 at 5:11 PM, Carl Eastlund <cce at ccs.neu.edu> wrote:

> On Wed, Sep 17, 2008 at 12:03 PM, Stephen De Gabrielle
> <spdegabrielle at gmail.com> wrote:
> > On Wed, Sep 17, 2008 at 4:35 PM, Carl Eastlund <cce at ccs.neu.edu> wrote:
> >>
> >> > ; when ready to release; (use sake to automate this? )
> >> > planet unlink [dev-id] foo.plt 1 4  ;; remove the link
> >> > planet create foo ;; create foo.plt file for test installation  [Will
> -
> >> > is
> >> > there a reason to compile a temporary copy?]
> >> > planet fileinject [dev-id] foo.plt 1 4  ;; install for testing
> >>
> >> You do not want to unlink the package at this point.  If you take
> >> Will's (good) advice and test/build from a temporary copy, in fact,
> >> make sure to unlink the original and link the copy.
> >
> > I thought that link-ing or fileinject the copy were functionally
> equivalent?
> > - provided you remembered to unlink the original - so linking is probably
> > safer?
>
> Linking is not equivalent to fileinjecting for all purposes.  A
> development link tells Planet to use your source directory for the
> planet package.  When you use fileinject, it tells Planet to extract
> the contents of a .plt file, install them in a new directory in the
> Planet cache, and use that for the planet package.
>
> Regardless, I meant not to unlink during the planet create, at which
> point you don't yet have a .plt file to inject.  Move the unlink to
> after the create, then fileinject.  Sorry for the confusion; you do
> need to unlink, you were just doing it too early.
>
> >> When you run
> >> planet create, Planet attempts to build your Scribble documentation so
> >> it can include a rendered HTML file that will be readable on the
> >> Planet server.  If you unlink your package, any internal references to
> >> (planet <dev-id>/foo:1:4/...) will be broken and planet create may
> >> fail.
> >
> > I don't understand -  I thought the [planet]create-ed/fileinject-ed copy
> > would have the documentation included?
>
> Yes, but only if the package was linked at time of creation.
>
> >> Leave your development links intact and functioning while using planet
> >> create.
> >
> > (because create builds the documentation?)
>
> Yes.
>
> > I think I'm missing something in my understanding of building scribble
> > documentation.
> > Does scribble documentation need to be built in-place (via planet link)
> to
> > work? [if it references other documentation?]
>
> Scribble documentation is built in-place when you run planet create.
> If you have any references to the package from itself (e.g. a
> defmodule in its documentation, or one file including another via a
> planet require spec instead of a local path), you will need the
> development link in place while you run planet create.
>
> If there are no such self-references, it won't matter whether you
> unlink before or after running planet create.
>
> I hope that clarifies the matter.  Sorry for the confusion, before I
> said not to planet unlink, when I should have said do it after planet
> create but before planet fileinject.
>
> --
> Carl Eastlund
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20080917/a1ce39bc/attachment.html>

Posted on the users mailing list.