I just put together a new compiler that is using a different JAVA_HOME to run.
It gives you the ability to compile half your projects with a jdk5, half the others with a jdk6 (for example). And it's really small. Think this would help ? I am sure neither Maven nor Ant support that. On Fri, Mar 19, 2010 at 09:16, Daniel Spiewak <[email protected]> wrote: > 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 >> > > >> > >> > >
