an unofficial guide to sbt 0.10 v2.0

in

don't panic

If you've just landed from 0.7 world, sbt 0.10 is overwhelming. Take your time to understand the concepts, and I assure you that you'll get it in time, and really love it.

three representations

There are three ways you may interact with sbt 0.10, which could be confusing at first.

  1. shell, which you get when you start sbt 0.10.
  2. Quick Configuration DSL, which goes into build.sbt or in settings sequence.
  3. good old Scala code, aka Full Configuration.

testing sbt plugins

in

Let's talk about testing. Once you write a plugin, it turns into a long-term thing. To keep adding new features (or to keep fixing bugs), writing tests makes sense. But how does one go about testing a plugin to a build tool? We fly, of course.

scripted test framework

sbt comes with scripted test framework, which let's you script a build scenario. It was written to test sbt itself on complex scenarios such as change detection and partial compilation:

sff4s: simple future facade for Scala

I wish there was a common super trait for various future implementations in the standard library, so I can express the concept without tying the code to a specific platform stack. I am not sure if there are others who feel the same, but I think it would be useful for library authors. That's my motivation of writing sff4s.

what is future?

You've probably come across the notion before but let's go over it quickly. A future value (also known as promise) represents an incomplete calculation.

beginning sbt 0.10

On 7/13/2011 I hosted a ny-scala meetup on sbt 0.10 migration with doug tangren and rose toomey. Here is the slides.

Vibrant Ink for IntelliJ IDEA

sbt-twt

Just for fun, I wrote a twitter processor for simple-build-tool by forking @n8han's dispatch-twine over the new years. Basically I can write:

> twt log

to read tweets.

> twt grep #scala

to search, and

> twt commit "tweet!"

to tweet.

Twilight for IntelliJ IDEA

I've tried other IDEs for Scala, but always ended up going back to TextMate. As I am getting on the IntelliJ IDEA wagon, I've made a Twilight theme to make the ride smoother.

screenshot

scalaxb

Update: Get the latest info on scalaxb from scalaxb.org.

Scala and OSGi using NetBeans

For some reason, I can't keep OSGi in my head. Everything I read about it slips away in a few weeks, and I have re-read the guides and tutorials.

Here's a memo of setting up OSGi bundle written in Scala using NetBeans, following Neil Barlett's OSGi in Practice, except the book uses Eclipse.

Layered Architecture

One of my favorites from msdn is Application Architecture for .NET: Designing Applications and Services by Eduardo Jezierski. The version 2.0 is Microsoft Application Architecture Guide by J.D. Meier et al, but it's much more beefier than the original. Currently 1.0 is put under Retired node in msdn.

Syndicate content