+1
In our company we already do something like this, essentially, set up
jruby, install the gems, zip that bundle up and distribute it with a
shell script to unzip jruby and set up paths etc ( with some custom
bells and whistles ).
The main reason we did it was to make it easy for us to re-use our
existing continuous integration infrastructure ( which already had the
prerequisites in place - i.e. java - for ant projects ).
Martin Grotzke wrote:
Hi,
+1, when we introduced buildr in one of our projects we had the similar
kind of issues.
Cheers,
Martin
On Tue, 2009-10-20 at 14:46 +0200, Ittay Dror wrote:
Hi,
Regarding the next buildr version, I think the biggest issue should be
being able to quickly start using buildr.
My experience is that BuildR is great for me as a build developer. It
allows me to do in several lines of code things that would take a lot
more in Ant and that I probably wouldn't even try with Maven.
However, when it comes to other developers that just want to compile the
code, the procedure to start working with BuildR is just an obstacle
they need to go through. And given that it is not as standard as Maven
or Ant, it is something new to install.
Right now, I have 3 people trying to use BuildR without success. The
first uses linux and so installed the ruby package but had segmentation
faults with java 1.6 (which we must use), so he needed to compile ruby
from source (not a smooth experience for a java developer coming from
windows). After compiling and installing, trying to upload, he got an
error about not being able to require openssl. Now, 'require' is not a
known term to a java developer... the reason for the error was that at
the time of compilation he didn't have libssl-dev installed. So he
needed to install it, re-generate the Makefile for ext/openssl and then
install it. This was a long, un-Java process to go through...
Two other users had issues because they couldn't get BuildR to install
on Mac. RJB could not find the ruby headers. We couldn't resolve this
issue, so they needed to resort to using another machine (!)
Of course there's the choice of using JRuby. However, It will still
require multiple steps (installing jruby then buildr) and I'm sure it
will have its own issues.
What it boils down to is bad first impression with BuildR.
I want to suggest that BuildR will be provided as a self-contained
package. It could be jruby with all gems that can be extracted some
placed and used, but optimally, it will also be packages per OS (can be
.tar.gz of binaries), which will help performance when running the
builds. An additional feature is proper inspection of the environment
before running (something like 'require 'openssl' rescue puts "please
make sure you have openssl installed, on linux install libssl and on
mac...").
Regards,
Ittay
P.s., I can try to accomplish this if the idea sounds good.