{
  "$type": "site.standard.document",
  "canonicalUrl": "https://oli.zilla.org.uk/2010/10/08/upgrade-with-sbaz-the-scala-bazaar-system",
  "description": "A guide to upgrading your Scala SDK installation and managing packages with the Scala Bazaar System (sbaz).",
  "path": "/2010/10/08/upgrade-with-sbaz-the-scala-bazaar-system",
  "publishedAt": "2010-10-08T00:00:00.000Z",
  "site": "at://did:plc:2ngsl5btroik454wzz7vpbzq/site.standard.publication/3mn67n3cam32w",
  "textContent": "Upgrade with sbaz, the Scala Bazaar System\n\nSo you installed a Scala a while ago. Some shiny new features make you want more, but your install is just too old. Before reaching for the download button on the latest version, hear this!\n\nA Scala installation can update itself\n\nWhat's that you say? I don't have to scour some backwater of a recently re-branded site to find the sdk, with a side order of netbeans and open office bundle?\n\nOh me oh my. That's nice. So a:\n\n\tsbaz update\n\nwill update just the lists of what sbaz knows about, where as:\n\n\tsbaz available\n\nwill show you what's new since you last upgraded, and a simple:\n\n\tsbaz upgrade\n\nwill upgrade you to the latest and greatest version, with all the shiniest features you can have.\n\nBetter still, you can ask sbaz to add all sorts of goodies to your vanilla Scala install. Take a closer look at the output of sbaz available:\n\n\tsbaz available\n\t...\n\tscala-android (2.7.0-final, 2.6.1-final)\n\tscala-cldc (2.7.0-final, 2.6.1-final)\n\tscala-devel (2.8.0.final, 2.7.7.final, 2.7.6.final, ...)\n\tscala-devel-docs (2.8.0.final, 2.7.7.final, 2.7.6.final, ...)\n\tscala-documentation (2.8.0.final, 2.7.7.final, 2.7.6.final, ...)\n\tscala-library (2.8.0.final, 2.7.7.final, 2.7.6.final, ...)\n\tscala-msil (2.8.0.final, 2.7.7.final, 2.7.6.final, ...)\n\tscala-swing (0.5, 0.4, 0.3, ...)\n\tscala-test (2.8.0.final, 2.7.7.final, 2.7.6.final, ...)\n\tscala-tool-support (2.8.0.final, 2.7.7.final, 2.7.6.final, ...)\n\tscalacheck (1.7, 1.6, 1.5, ...)\n\t...\n\t56 package names\n\t371 total packages\n\nOf note:\n scala-documentation providing some light reading and tutorials for the interested reader.\n scala-android for all your mobile development needs.\n scala-tool-support for syntax highlighting and other mods to trick out your text editor of choice.\n\nTell sbaz to go get them for you like so:\n\n\tsbaz install scala-tool-support\n\nFor the other packages you can get some more info with a: sbaz show package-name\n\nOf course no codes would be complete without some small piece of arcanea for you to forget, fortunately sbaz's are pretty simple.\n\nIf you downloaded a Release Candidate you will always be offered the bleeding edge\n\nSo you got all excited about Scala 2.8 and downloaded 2.8.0.RC1, discovered the eclipse plugin still had serrated edges, and forgot about it. Now when you try a sbaz available it will list just the RC's for future versions of Scala, very much the bleeding edge. You probably want the stable release for now. So, in the bombastic parlance of software we must \"switch universe\", which contrary to it's name actually boils down to swapping one path for another. No wormholes for you here.\n\nGet Scala to update itself from release candidate to stable release\n--------------------------------------------------------------------\n\nTo point sbaz at the stable release list, we need to pass it the path to the poorly named \"scala-dev\" descriptor file which resides in:\n\n\tmisc/sbaz/descriptors/scala-dev\n\nrelative to your Scala install's root directory. So navigate to the your Scala install dir, something like:\n\n\tcd /usr/local/scala-2.8.0.RC1\n\nPoint sbaz at the universe for stable releases:\n\n\tsbaz setuniverse misc/sbaz/descriptors/scala-dev\n\nThe path is relative to your install directory, so the above will fail if you are not in the root of your Scala install.\n\nAs a control test, show me what I have now:\n\n\tsbaz installed\n\nGive me the latest stable release:\n\n\tsbaz upgrade\n\nand for empirical evidence of success, show me what I have now:\n\n\tsbaz installed\n\nKick back and wait for more shiney features.\n\n\twatch sbaz available\n\nor in my case, remember to go and rename that scala-2.8.0.RC1 directory to something more appropriate.\n\nGet Scala to update itself to the bleeding edge\n-----------------------------------------------\nShould you yern for the wild west of release candidates you can flip to the lamp-rc* universe for the bleeding edge releases. Navigate to the your Scala install dir, e.g /usr/local/scala-2.8.0.RC1\n\n\tsbaz setuniverse misc/sbaz/descriptors/lamp-rc\n\tsbaz upgrade\n\nSources\n-------\nFor a more authorative and intellectual discussion on sbaz please retune your dial to:\nhttp://www.Scala-lang.org/node/93",
  "title": "Upgrade with sbaz, the Scala Bazaar System"
}