On second thought, I'll have to think more about `http://example.com/racket/<PACKAGENAME>/<VERSIONSTRING>` URLs, as well as about the home page URLs.

Main question is what URL should people use in `require` forms, if they want to live a little dangerously and always get the latest stable-branch version of the package, even if it breaks the API for which they coded. `latest` or `stable` for the <VERSIONSTRING> would be easy to do. But would also be nice to have `http://example.com/racket/<PACKAGENAME>` without the <VERSIONSTRING> do something sensible in `require` forms, maybe the latest stable-branch version.

Also, later, I might add URLs with symlink <VERSIONSTRING>s with `+` on the end, so that `http://example.com/racket/foo/1.4+` means "latest version of package `foo` in branch that is backward-compatible with 1.4". Kludgey, but it would work, and is simple. (`+` is problematic in URLs, due to historical kludges of some URL libraries converting it to a space character, but that can be worked around.)

Neil V.

Neil Van Dyke wrote on 11/23/2014 10:28 PM:
Thanks, Matthew. I have to rework McFly and my package release setup for the new package system soon, and I plan to work around the 18 files then.

I don't know that my plan is relevant to anyone else, but here it is:

* Make distributions (and packages?) include the documentation files however they're generated by the current release version of Racket at the time the package version is released.

* Host the package version distributions (with versions in URLs) on my Web site. Probably URLs like "http://example.com/racket/<PACKAGENAME>/<VERSIONSTRING>/".

* Change how I make the Web home page for each package. Currently, each home page is a verbatim copy the Scribble-produced files for the latest released version of the package. How I plan to change this is, instead of using the Scribble-produced 18 files verbatim, a script will take only the generated `.html` file and any image files, and tweak the HTML slightly to fit into the Web site without all the dependencies. That works around the 18 files bloat for me, although I have to do upfront work, and I might have to do maintenance work some of the times that a new Racket version changes the HTML.

* Change the package home page urls (e.g., "http://example.com/racket-charterm/";) to fit within the same URL tree that serves the new package versions (e.g., "http://example.com/racket/charterm/";).

Basically, I'm trying to get back to good-quality package version releases being quick&easy to do. The overhead of additional upfront and ongoing maintenance work on tools is not entirely consistent with quick&easy productivity on the packages, but hopefully I'll find time around Christmas.

Neil V.

____________________
 Racket Users list:
 http://lists.racket-lang.org/users

Reply via email to