Help trying to create a build script

Hi I am trying to create a build script and I am running into an
issue, apparent I have to cd into the folder before I call make
otherwise make seem to fail.

If I was at the command like I would just type

git clone path_to_repository build/
cd build/mozilla_firefox
make -f client.mk

however if I try this from a ruby script make barf and fails because
it’s expecting to be called from within the foder
build/mozilla_firefox

system “git clone path_to_repository build/”
system “make -f build/mozilla_firefox/client.mk”

I also tried the following which doesn’t do what I would expect, which
is cd into the folder

system “git clone path_to_repository build/”
system “cd build/mozilla_firefox”
system “make -f client.mk”

Do anyone got idea how I can get this build script working?

Thanks!

On 11/05/2011 10:01 PM, Dev G. wrote:

however if I try this from a ruby script make barf and fails because
system “cd build/mozilla_firefox”
system “make -f client.mk”

Do anyone got idea how I can get this build script working?

My recommendation here is to generally write a shell script to do what
you want and then use the system method to run that single script.
However, you can do what you want within Ruby too:

system “git clone path_to_repository build/”
Dir.chdir(“build/mozilla_firefox”) do
system “make -f client.mk”
end

The thing to keep in mind is that the system method runs a subprocess to
do the work, and a subprocess cannot modify the environment of its
parent. The current working directory of a process is part of its
environment which is why using system in an attempt to change
directories had no effect for your script.

-Jeremy

Jeremy thanks, that got things going. I realized what was happening
with the process working directory, but didn’t know how to fix it.

I’m building on windows and just refuse to work with batch files =)

Regards,
Rajinder

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs