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 > > > > > >
