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. >