<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Noel wrote:</div><div><blockquote type="cite">Our autoplanet project does similar things:<br><br> <a href="http://svn.untyped.com/autoplanet/trunk/src/scribblings/autoplanet.scrbl">http://svn.untyped.com/autoplanet/trunk/src/scribblings/autoplanet.scrbl</a><br></blockquote><div><font class="Apple-style-span" color="#144FAE"><br></font></div></div>Autoplanet is actually on PLaneT now. We've rewritten it recently so (I think Noel mentioned an experimental version on plt-scheme a few months ago).<div><br></div><div>Here are the HTML docs:<div><br></div><div> <a href="http://planet.plt-scheme.org/package-source/untyped/autoplanet.plt/1/1/planet-docs/autoplanet/index.html">http://planet.plt-scheme.org/package-source/untyped/autoplanet.plt/1/1/planet-docs/autoplanet/index.html</a><br><div><br></div><div>I've put a couple of examples below this email.</div><div><br></div><div><div>We use this with a bash script called "vplt" ("Versioned PLT") that hooks up a specific version of PLT and puts the PLaneT cache in an application-specific location. This way we can have multiple apps on the same machine written in different versions of PLT with different versions of packages from our SVN. I don't think vplt is in our open source repository yet. I'll see if I can move it across later this weekend.</div><div><br></div><div>I've had a blog post on this in the works for a month but I'm too lazy to finish it.</div><div><br></div><div>-- Dave</div><div><br></div><div>===== EXAMPLE 1 =====</div><div><br></div></div><div><div>The script from my development machine:</div><div><br></div></div></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><font class="Apple-style-span" face="Monaco">#!/usr/bin/env mzscheme<br>#lang scheme<br><br>(require (planet untyped/autoplanet:1))<br><br>; Helpers ----------------------------------------<br><br>; string [string] -> path<br>(define (open-path package [branch "trunk"])<br> (expand-user-path (format "~~/untyped/open/~a/~a/src" package branch)))<br><br>; Configuration ----------------------------------<br><br></font></blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><span class="Apple-style-span" style="font-family: Monaco; ">(remove-hard-links)</span></blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><font class="Apple-style-span" face="Monaco"><br></font></blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><font class="Apple-style-span" face="Monaco">; Install in-development packages from local folders:</font></blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><font class="Apple-style-span" face="Monaco">(install-local "untyped" "excel.plt" 1 0 (open-path "excel"))<br>(install-local "untyped" "smoke.plt" 1 0 (open-path "smoke"))<br>(install-local "untyped" "unlib.plt" 3 14 (open-path "unlib"))</font></blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><font class="Apple-style-span" face="Monaco">; etc...</font></blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><font class="Apple-style-span" face="Monaco"><br></font></blockquote><font class="Apple-style-span" face="Monaco">===== EXAMPLE 2 =====<br></font><div><div><div><div><br></div></div><div>A script taken from a production app. The app's dependencies are fixed to specific versions downloaded from SVN:</div></div></div><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><font class="Apple-style-span" face="Monaco"><br>#lang scheme/base<br><br>(require scheme/runtime-path<br> (planet untyped/autoplanet:1))<br><br>; Helpers ----------------------------------------<br><br>; path<br>(define-runtime-path HACKS "planet-hacks")<br><br>; Main script body -------------------------------<br><br></font></blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><font class="Apple-style-span" face="Monaco">; Packages downloaded from SVN are cached here:<br>(autoplanet-root (build-path (getenv "AUTOPLANET")))<br><br>(remove-hard-links)<br><br></font></blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><font class="Apple-style-span" face="Monaco">; Download spefic versions of packages from our SVN: <br>(define OPEN-REVISION 150)<br>(install-svn "untyped" "unlib.plt" 3 14 "<a href="https://svn.untyped.com/unlib/trunk/src">https://svn.untyped.com/unlib/trunk/src</a>" OPEN-REVISION)<br>(install-svn "untyped" "excel.plt" 1 0 "<a href="https://">https://</a>svn.untyped.com/excel/trunk/src" OPEN-REVISION)</font></blockquote><blockquote class="webkit-indent-blockquote" style="margin: 0 0 0 40px; border: none; padding: 0px;"><font class="Apple-style-span" face="Monaco">; etc...</font></blockquote><div><div><div><div><br></div></div></div></div></div></body></html>