buildr-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Schröder>
Subject Re: Is there a way to delay building a sub project?
Date Thu, 29 Oct 2009 07:35:57 GMT
hi andrew,

we had quite the same problem and we are solving it with a mix of  
subprojects, environment-variables and buildr-integration-setup

the tests we want to run for integration-tests (we call them system- 
tests) are seperated into a different source directory called test- 
system. we include that directory only if the environment-variable is  
set to test-system and then also do some integration.setup work for  
deploying servers etc. on foreign hosts.

this setup works quite well because we have a generic type of handling  
for all our projects (which are about 50) and we can also use it to  
separate other tests f.e. functional-tests (we separate unit (no db),  
functional (inmemory) and system (yes they really run on the target- 

kind regards,

Am 29.10.2009 um 01:17 schrieb Andrew Moore:

> Well, I'm not sure that fixes my issue... on the continuous  
> integration
> environment I still need it to compile and run its JUnits after I do  
> a lot
> of other deployment related tasks... I did end up getting a task that
> defines my project on the fly. A pretty serious hack I think, but  
> now I can
> build and run these integration tasks by adding a call to my buildr  
> task
> from the command our build plan uses.
> New build plan command:
> buildr clean build package myroot:deploy-to-remote-server
> myroot:start-remote-app-server myroot:integration-tests -e
> my-remote-server-environment
> And approximately what I ended up doing for my "integration-tests"  
> task:
>  # integration-tests
>  task 'integration-tests' do
>    Buildr.application.switch_to_namespace "myroot".split(':') do
>      Project.define('myroot:integration-tests', {}) do
>          #define the project
>          #compile.with ...etc.
>      end
>    end
>    project('myroot:integration-tests').clean.invoke
>    project('myroot:integration-tests').build.invoke
>  end #integration-tests
> Any ideas on doing this better (as I'm not a ruby expert at all)  
> would be
> helpful!
> Regards,
> Andrew
> -- 
> View this message in context:
> Sent from the Apache Buildr - User mailing list archive at

View raw message