Hi,

We're using ivy and the Ivy project builder to coordinate our build
system. This seemed to work well at the start but over time it feels
like the dependency graph has become corrupt and/or there are errors
in the way I have set this up.

As an example I have a job with the following ivy configuration

<ivy-module version="2.0">
  <info organisation="$OUR_ORG" module="top-level-module"
revision="1.0-SNAPSHOT" />
  <configurations defaultconfmapping="runtime->*;compile->*">
        <conf name="compile" description="Build Time dependencies"/>
        <conf name="runtime" description="Run Time dependencies (for jenkins
triggers)"/>
  </configurations>
  <publications>
    <artifact type="ear" />
    <artifact type="pom" />
  </publications>
  <dependencies>
    <dependency name="library1" rev="latest.integration"
changing="true" conf="compile" />
    <dependency name="library2" rev="latest.integration"
changing="true" conf="compile" />
    <dependency name="library3" rev="latest.integration"
changing="true" conf="compile" />
    <dependency name="module1" rev="latest.integration"
changing="true" conf="runtime" />
  </dependencies>
</ivy-module>

For this module jenkins is showing only the runtime dependency as an
upstream project, in addition to a module that isn't mentioned in the
ivy file, "module1.test".

Looking at this one case it seems like there are two bugs with the ivy
plugin;
1) only the runtime dependencies are being identified as upstrem
projects
2) all projects with a name like *module1* are being added as upstream
projects

However, I can find counterexamples for both issues;
1) I have another project where one, but not all, of the compile time
dependencies are registered as upstream projects.
2) module1.test appears to have every job from my "build" view as a
downstream project.

This is leading me to think that somehow the dependency tree has
become completely corrupt.

This leads me to some concrete questions;
1) Has anyone else experienced anything like this (I see many bugs
related to the dependency graph, but none seem quite like this and are
resoved in the version of jenkins we are using)
2) How can I reset the internal dependency graph in the ivy plugin?
3) Is there anything I should take care of to ensure this doesn't
happen again? e.g. should I build the projects in a specific order the
first time for the dependency graph to be built correctly by the ivy
plugin.
4) Should I switch to using freeform projects with the "Trigger the
build of other projects based on the Ivy dependency management system"
post build action?

I don't know if it's relevant to the problem but for creating/updating
the projects in Jenkins we have a shell script that parses an eclipse
project set (psf) file and creates Jenkins jobs for each of the
projects using the java cli.

Currently running Jenkins v. 1.451 and ivy plugin v.1.19

Regards,

Jonathan

Reply via email to