In this case, you can configure the Product jobs to trigger the Library
jobs, using "Trigger/call on other projects" build step.
And in the Library jobs, uses the path ignore plugin :
https://wiki.jenkins-ci.org/display/JENKINS/Pathignore+Plugin

By using the
"Do not build if only specified paths have changed"
and the Invert Ignore option,
you should be able to configure a condition such as "build only if these
paths has changed"

I never actually tried such a configurable, but it seems doable.



2012/12/7 Ivan Kharin <k13.priv...@gmail.com>

>
>> One possible configuration is : one Jenkins jobs for each library, one
>> Jenkins jobs for each product.
>> Then, for each library :
>> - Poll SCM to check if changes happened
>> - Build the library
>> - Trigger the builds of the product that relie on this library.
>>
>> For each product :
>> - Retrieve the libraries artifacts from the libraries jobs
>> - Compile the product
>> You can configure the products to prevent a job to run while a library it
>> depends upon is building (advanced project option - do not build when
>> upstream project is building)
>>
>
> Sorry, but this solution does not suit me.
> Assembling one product can take about an hour.
> Last duration for some libraries: 9 min, 14 min, 26 min, 33 min
>
> I want to run the assembly of the product on demand - and with all the
> necessary libraries must be updated.
>
> But I can not afford to build all libraries prior to building of the
> product.
> And I can not afford the rebuilding of products at each change in
> libraries.
>

Reply via email to