>
> Hey Daniel, can you attach the outline please ?
>
> Oh, maybe it got stripped out by the mailing server. Can you upload it
> somewhere ?
>

My apologies.  I forgot that Apache mailing-lists don't allow attachments.
I've included the text-form outline below.  If y'all would like, I can
upload the PDF somewhere as well (note: time annotations are a work in
progress).

Daniel


=======================================
Profict Spring Camp 2009 Buildr Outline
=======================================

One thing I'm not covering here is sub-projects.  I'd like to, but they
don't
seem to fit anywhere.  I also don't cover ``:war`` packaging or Jetty
support,
which I should really touch on.

Session One
===========

I intend to make the do two super-points (**What is Apache Buildr** and
**Mini-History**) using "traditional" slides, but everything else will be
very
hands-on.

* |5m| What is Apache Buildr?

  * Maven 2 as it should have been
  * Clean, declarative internal DSL
  * Dead-easy customization

    * Minimal kernel; *everything* is an extension
    * Custom tasks
    * Custom build structure

  * Speed (you don't realize how *slow* Maven 2 is until you've tried
Buildr)

* |5m| Mini-History

  * Why another build system?
  * Rake is a good start, but not a good end
  * Maven 2 is bloated, confusing and clumsy
  * Assaf scratched his own itch

* |5m| Installing Buildr

  * ``gem install buildr`` (we'll be using MRI for the hands-on)
  * New in 1.4: All-in-One Buildr (untar and go)

* First steps

  * |5m| Setting up the project
  * Adding dependencies

    * Direct (commons-cli)
    * Transitive (wicket)

  * Packaging
  * Javadoc (using the ``doc``) task
  * IDE Metadata

* Transition from Ant

  * Demonstrate custom directory structure

* Transition from Maven

  * *Almost* drop-in replacement

* Testing

  * JUnit
  * TestNG
  * Cobertura


Session Two
===========

* Continuous compilation

* Interactive Shell

  * IRB
  * Clojure REPL
  * Scala
  * JRebel

    * Demo with ``cc`` (just because it's cool)

* Scala/Groovy support

  * Zero-step configuration
  * Joint compilation
  * Documentation support
  * Test frameworks

    * Specs + ScalaCheck
    * ScalaTest

* Custom tasks

  * Generating documentation (ReST => PDF)
  * A ``run`` task

    * ``local_task``

  * JFlex
  * "Proper" extensions

* Onward

  * Clojure support

* Conclusion

.. |5m| replace:: (**5m**)

Reply via email to