I'm actually not at a loss for material; quite the opposite!  I would
certainly like to emphasize Buildr's extensibility, since I think that is
one of the key features which separates us from other build tools.
Unfortunately, I *also* want to cover a lot of the cool high-level features
like shell support and continuous-compilation.  Maybe I'm just too greedy...

Coming back to extensibility, I was thinking of the following three examples
(in order):

   - Documentation generation (ReST => PDF)
   - A :run task
   - JFlex compiler-compiler integration

The first two are obviously tasks that *everyone* runs into and Maven
handles in particularly clumsy ways.  I picked the third mostly because it's
a very non-trivial task which illustrates Buildr's Java integration quite
nicely while still remaining surprisingly concise.  Unfortunately, it's also
something that very few people ever do, and so I'm a little hesitant.  Any
better suggestions here?  Ideally, I'm looking for something which would be
nearly impossible in Maven/Ant (definitely requiring a Java extension),
something which showcases Java invocation and still falls into a dozen or so
lines.  Maybe I should just recreate one of the core Buildr plugins?

Daniel

On Fri, Mar 19, 2010 at 9:28 AM, Antoine Toulme <[email protected]>wrote:

> +1
>
> If you need a few real plugins to demonstrate, I can probably give a hand
> there.
>
> Thanks,
>
> Antoine
>
> On Fri, Mar 19, 2010 at 08:04, Alex Boisvert <[email protected]
> >wrote:
>
> > Hi Daniel,
> >
> > I like your outline;  it sounds like a presentation I'd like to attend
> > myself.  Here's my (textile) outline for a 55-minute talk.    I shift
> from
> > slide-presentation mode to hands-on coding (with as much cheating as
> > possible to save time) about mid-way, then come back to slides towards
> the
> > end.   It's not fully ironed out yet but should give you a good idea of
> how
> > I go about it.  I think the hardest part is picking which subjects to
> cover
> > from the wide array of interesting Buildr features.
> >
> > alex
> >
> > h1. About Me (1 min / 1 slide)
> >
> > h1. How it all started (4 minutes / 3 slides)
> >
> > h1. What is Apache Buildr? (2 minutes / 1 slide)
> >
> > h1. Project Stats and History (2 minutes / 1 slide)
> >
> > h1. Architecture (3 minutes / 1 diagram)
> >
> > h1. Tasks and Dependencies (5 minutes / 3 slides)
> >
> > h1. Artifacts and Repositories (3 minutes / 1 slide)
> >
> > h1. Project layout (2 minutes / 2 slides)
> >
> > h1. Example: Basic Java Project (3 minutes)
> >
> > h1. Example: Hierarchical Projects (2 minutes)
> >
> > h1. Example: Using XMLBeans Ant Task (5 minutes)
> >
> > h1. Example: Generating SQL DDL schemas for several databases (3 minutes)
> >
> > h1. Example: Invoking Java class through RJB/JRuby (2 minutes)
> >
> > h1. Example: Multi-lingual Java, Groovy, Scala project (4 minutes)
> >
> > h1. Handling Dependencies (5 minutes / 3 slides)
> >
> > * Transitive dependencies
> > * Whitelisting vs blacklisting
> > * Apache Ivy support
> > * Example
> >
> > h1. More Stuff (2 minutes)
> >
> > * Briefly talk about profiles, build spec/tests, nailgun support
> >
> > h1. Plugins (2 minutes)
> >
> > * Overview table of available plugins, packaging options, testing
> > frameworks, and IDE support
> >
> > h1. Roadmap (2 minutes)
> >
> >
> > On Thu, Mar 18, 2010 at 1:14 PM, Daniel Spiewak <[email protected]>
> > wrote:
> >
> > > Here's a revised outline.  I finished the time estimates and realized I
> > was
> > > more than an hour over-budget.  :-)  I still need to cut some things,
> but
> > > this is much more focused than the old one:
> > >
> > > 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.
> > >
> > > Session One
> > > ===========
> > >
> > > I intend to make the do one super-point (**What is Apache Buildr**)
> 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| 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)
> > >
> > > * |25m| First steps
> > >
> > >  * |5m| Setting up the project
> > >   * |10m| Adding dependencies (introduce ``artifacts``)
> > >
> > >    * |5m| Direct (commons-cli)
> > >    * |5m| Transitive (wicket)
> > >
> > >  * |5m| Packaging
> > >
> > >    * ``:jar``
> > >    * ``:war``
> > >
> > >  * |2m| Javadoc (using the ``doc``) task
> > >  * |3m| IDE Metadata
> > >
> > > * |10m| Transition from Ant
> > >
> > >  * Demonstrate custom directory structure
> > >
> > > * |5m| Transition from Maven
> > >
> > >  * *Almost* drop-in replacement
> > >
> > >
> > > Session Two
> > > ===========
> > >
> > > * |10m| Testing
> > >
> > >  * |5m| JUnit
> > >  * |3m| TestNG
> > >  * |2m| Cobertura
> > >
> > > * |5m| Continuous compilation
> > > * |7m| Interactive Shell
> > >
> > >  * IRB
> > >  * Clojure REPL
> > >  * Scala
> > >  * JRebel
> > >
> > >    * Demo with ``cc`` (just because it's cool)
> > >
> > > * |15m| Scala/Groovy support
> > >
> > >  * |5m| Zero-step configuration
> > >  * |3m| Joint compilation
> > >  * |5m| Testing (Specs + ScalaCheck)
> > >
> > > * |15m| Custom tasks
> > >
> > >  * |10m| Generating documentation (ReST => PDF)
> > >  * |5m| A ``run`` task
> > >
> > >    * ``local_task``
> > >
> > > * |5m| Conclusion
> > >
> >
>

Reply via email to