buildr-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Odelya Holiday <ode...@alicanto.com>
Subject Re: Run tasks only if all the tests from all the projects ran successfully
Date Thu, 23 Aug 2012 08:03:45 GMT
Sorry - my mistake - the task is not being invoked.

I defined it like this:

task :copy_files => [task(:integration)] do
  // copy the files
end

And my call to buildr is:

buildr clean build package integration test:Suite junit:report
test=all --verbose --trace

Thanks

On Wed, Aug 22, 2012 at 10:14 PM, Odelya Holiday <odelya@alicanto.com> wrote:
> Thanks
>
> Now it works perfectly.
>
> On Wed, Aug 22, 2012 at 10:03 PM, Alex Boisvert <alex.boisvert@gmail.com> wrote:
>> Oh forgot you were using integration.
>>
>> In that case, you can create a new task that depends on the integration
>> task,
>>
>> define :main_project do
>>   # sub projects
>>
>>   task :copy_files => [task(:integration)] do
>>     # do stuff
>>   end
>> end
>>
>> and then add this task on the command line:
>>
>> buildr [other targets] main_project:copy_files
>>
>> On Wed, Aug 22, 2012 at 11:52 AM, Odelya Holiday <odelya@alicanto.com>wrote:
>>
>>> This is not working for me.
>>>
>>> since I see that the build task is extending BEFORE the integration
>>> tests. In my integration tests I create the test war that will be
>>> copied to the real environment in case of success test.
>>>
>>> If I extend build, it is being invoked before the integration.setup
>>> method that I declared.
>>>
>>>
>>>
>>> On Wed, Aug 22, 2012 at 6:50 PM, Alex Boisvert <alex.boisvert@gmail.com>
>>> wrote:
>>> > On Wed, Aug 22, 2012 at 6:54 AM, Odelya Holiday <odelya@alicanto.com>
>>> wrote:
>>> >
>>> >> I have 3 projects which are defined in my buildfile.
>>> >>
>>> >> I would like to define, that if all the tests passed successfully, it
>>> >> should do specific tasks. (copying files).
>>> >>
>>> >> So I declared in the main project definition:
>>> >>
>>> >>  test.using :fail_on_failure=>true
>>> >>
>>> >
>>> > By the way, :fail_on_failre is true by default, so you don't need to
>>> > specify this unless you want to set it to false.
>>> >
>>> > Hooking into the main project definition is the right approach since it
>>> > implicitly depends on sub-projects.
>>> >
>>> >
>>> >> and extended the test task like this:
>>> >>
>>> >> test do |test_task|
>>> >> end
>>> >>
>>> >> however, I see that if 2 of the 3 tests succeeded, the extended task
>>> >> is being created.
>>> >>
>>> >> I would like it to be create only if all 3 succeeded.
>>> >>
>>> >
>>> > Instead of enhancing the test task, use the build task.
>>> >
>>> > build do
>>> >   # whatever you want
>>> > end
>>> >
>>> > The build task depends on the test (see default dependencies
>>> > here<
>>> https://cwiki.apache.org/confluence/display/BUILDR/12+Things+to+Know+About+Buildr
>>> >)
>>> > so it will only be run if all the tests pass.
>>> >
>>> > alex
>>>
>>>
>>>
>>> --
>>> Odelya
>>>
>
>
>
> --
> Odelya



-- 
Odelya

Mime
View raw message