Hmm, if I did a compiler, I'd probably want to actually use the Compiler
framework, and that requires a bit more explaining.  I guess I could do
something hacky which gets the job done but doesn't integrate fully with
Buildr's compiler support...

Daniel

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

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

Reply via email to