You need to add "main_project:copy_files" to your command-line (and you can drop "build" and "integration" sînce they are implicit dependencies.
On Thursday, August 23, 2012, Odelya Holiday wrote: > 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 > <[email protected]<javascript:;>> > wrote: > > Thanks > > > > Now it works perfectly. > > > > On Wed, Aug 22, 2012 at 10:03 PM, Alex Boisvert > > <[email protected]<javascript:;>> > 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 > >> <[email protected]<javascript:;> > >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 < > [email protected] <javascript:;>> > >>> wrote: > >>> > On Wed, Aug 22, 2012 at 6:54 AM, Odelya Holiday > >>> > <[email protected]<javascript:;> > > > >>> 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 >
