[plt-scheme] DrScheme tool development practices
On Wed, Sep 17, 2008 at 11:15 AM, Stephen De Gabrielle
<spdegabrielle at gmail.com> wrote:
> ;source code repository directory, say $HOME/code/foo
> planet link [dev-id] foo.plt 1 4 $HOME/code/foo
> ;remembering to update the package numbering to the new number so DrScheme
> doesn't default to the old one.
I usually don't update the version number. That's up to you, but if
there is a development link DrScheme will use that rather than another
installed version (from the server or from fileinject).
> ; the development loop [edit/compile/test] now only requires the compilation
> step
> setup-plt -P [dev-id] foo.plt 1 4 ; or mzc if finer control of the
> compilation process is required?
> ;; -D as well to disable scribble rebuilding and reindexing.
> [I'm assuming sake can be used here if your compiliation needs are not met
> by setup-plt or mzc]
> ; run your tests or restart DrScheme if your package is a plugin/tool.
Looks good to me.
> ; 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. 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.
Leave your development links intact and functioning while using planet create.
> ;run foo-tests:
> (require (planet [dev-id]/foo:1:4/run-tests)) ; sake action:test?
> or Restart DrScheme if it's a plugin/tool.
>
> upload foo.plt to PLaneT (and test again)
Test the original, test the .plt file, test the uploaded file. Yup.
--
Carl Eastlund