I just spent quite a bit of time trying to get Buildr to work on Ruby. I started with 1.9 but that did not work. All my team was using 1.8.7, but on Mac.
So I started down the 1.8.7 path, then I found the standard Gem did not work for Ruby 1.8.7 on Windows XP.

Then I tried to build the gem from source:

  1. Get the latest: http://github.com/apache/buildr/zipball/trunk
  2. cd into buildr directory “gem build buildr.gemspec”
  3. gem install buildr -v 1.4.1

But I was getting this error:

C:\temp\Downloads\apache-buildr-d6f197f>gem install buildr -v 1.4.1 --platform x86-mswin32-80
Building native extensions.  This could take a while...
ERROR:  Error installing buildr:
ERROR: Failed to build gem native extension.
C:/usr/bin/Ruby187/bin/ruby.exe extconf.rb
checking for jni.h... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=C:/usr/bin/Ruby187/bin/ruby
Gem files will remain installed in C:/usr/bin/Ruby187/lib/ruby/gems/1.8/gems/rjb-1.2.5 for inspection.
Results logged to C:/usr/bin/Ruby187/lib/ruby/gems/1.8/gems/rjb-1.2.5/ext/gem_make.out
C:\temp\Downloads\apache-buildr-d6f197f>gem install buildr -v 1.4.1 --platform x86-mswin32-80Building native extensions.  This could take a while...ERROR:  Error installing buildr:        ERROR: Failed to build gem native extension.
C:/usr/bin/Ruby187/bin/ruby.exe extconf.rbchecking for jni.h... no*** extconf.rb failed ***Could not create Makefile due to some reason, probably lack ofnecessary libraries and/or headers.  Check the mkmf.log file for moredetails.  You may need configuration options.
Provided configuration options:        --with-opt-dir        --without-opt-dir        --with-opt-include        --without-opt-include=${opt-dir}/include        --with-opt-lib        --without-opt-lib=${opt-dir}/lib        --with-make-prog        --without-make-prog        --srcdir=.        --curdir        --ruby=C:/usr/bin/Ruby187/bin/ruby

Gem files will remain installed in C:/usr/bin/Ruby187/lib/ruby/gems/1.8/gems/rjb-1.2.5 for inspection.Results logged to C:/usr/bin/Ruby187/lib/ruby/gems/1.8/gems/rjb-1.2.5/ext/gem_make.out

Then I came across this posting:

http://www.mail-archive.com/users@buildr.apache.org/msg00945.html

Gave me the missing peice:


1. Installing the Ruby one-click installer is not enough, you also need the
devkit so you have a compiler and make. The devkit is a 7zip file available
on the same page as the one-click installer. You just extract it to your
Ruby directory and make sure the paths in devkit/msys/1.0.11/etc/fstab are
accurate.

Then I ran the buildr help command to ensure this was working

C:\temp\Downloads\apache-buildr-d6f197f>buildr help
(in C:/temp/Downloads/apache-buildr-d6f197f, development)
Usage:
  buildr [-f rakefile] {options} targets...

Common tasks:
  artifacts             # Download all artifacts
  artifacts:sources     # Download all artifacts' sources
  build                 # Build the project
  cc                    # Execute continuous compilation, listening to changes
  clean                 # Clean files generated during a build
  clobber               # Clean up all temporary directories used for running tests, creating documentation, packaging, etc.
  compile               # Compile all projects
  default               # The default task is build
  doc                   # Create the documentation for this project
  eclipse               # Generate Eclipse artifacts for all projects
  help:projects         # List all projects defined by this buildfile
  help:tasks            # List all tasks available from this buildfile
  idea                  # Generate Idea artifacts for all projects
  idea7x                # Generate Idea 7.x artifacts for all projects
  idea7x:clean          # Delete the generated  Idea 7.x artifacts for all projects
  install               # Install packages created by the project
  junit:report          # Generate JUnit tests report in reports/junit
  package               # Create packages
  release               # Make a release
  test                  # Run all tests
  test:failed           # Run failed tests
  uninstall             # Remove previously installed packages
  upload                # Upload packages created by the project

For help on command line options:
  buildr --help
Downloading org.apache.ant:ant:jar:1.8.0
Buildr aborted!
RuntimeError : Unable to download org.apache.ant:ant:jar:1.8.0. No remote repositories defined.

(See full trace by running task with --trace)

This was able to get me to run buildr, but now I get another error:

C:\svn_workspaces\xIVR\agent-ivr\trunk>buildr -vt install
(in C:/svn_workspaces/xIVR/agent-ivr/trunk, development)
** Invoke C:/temp/repository/org/springframework/spring-aop/3.0.2.RELEASE/spring-aop-3.0.2.RELEASE.pom (first_time)
** Execute C:/temp/repository/org/springframework/spring-aop/3.0.2.RELEASE/spring-aop-3.0.2.RELEASE.pom
Downloading org.springframework:spring-aop:pom:3.0.2.RELEASE
Downloading org.springframework:spring-aop:pom:3.0.2.RELEASE
Buildr aborted!
RuntimeError : Unable to download org.springframework:spring-aop:pom:3.0.2.RELEASE. No remote repositories defined.

So then I reverted back to buildr 1.3.5, uninstalling 1.4.1 first, then followed the above steps again.

I hate to say RTFM because there is just so much to read, but, there you go!.

Mick Knutson

Java, JavaEE, J2EE, WebLogic, WebSphere, JBoss, Tomcat, Oracle, Spring, Maven, Architecture, Design, Mentoring, Instructor and Agile Consulting. http://www.baselogic.com/blog/resume

View all posts

Java / JavaEE / Spring Boot Channel

BLiNC Supporters

BLiNC Adsense

Archives

Newsletter