Uploaded image for project: 'Build'
  1. Build
  2. BUILD-438

API compatibility checks may be inconsistent for reactors

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Neutral Neutral
    • None
    • None
    • Pipelines, Poms

      We currently run japicmp in a separate invocation in pipelines, through a simple mvn japicmp:cmp, i.e. we don't execute this plugin as part of any default maven phase.

      Given a reactor with module A and B, B depending upon A.
      A standalone invocation does not trigger a build of module A, nor does it detect previously built artifacts, therefore:

      • For a fresh version the plugin will actually fail because it cannot resolve the dependent artifact for current project version
      • For an existing version, plugin will not fail, but it will get the artifact from Nexus, which will not reflect the current build, and might show inconsistent results (builds would start failing at build n+1).

      Options:

      • Recompile/repackage the whole reactor (but skip tests?) before running japicmp 
      • Attach japicmp to the regular verify lifecycle, and implement a light-weight stage on Jenkins, parsing the diff reports
      • Invoke some groovy post-analysis script (see japicmp usage)
      • Do away without japicmp on a separate stage on Jenkins

        Acceptance criteria

              rhayoun Rabie Hayoun
              mgeljic Mikaël Geljić
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: