Uploaded image for project: 'UIMA'
  1. UIMA
  2. UIMA-5901

workaround broken invoker transitivity when releasing

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 2.10.2SDK, 3.0.0SDK
    • 3.0.1SDK, 2.10.3SDK
    • Core Java Framework
    • None

    Description

      The jcasgen-maven-plugin integration tests fail when doing a release:prepare, if the local .m2 doesn't have the non-snapshot versions of dependencies for uimaj projects.

      I think during release:prepare, the version is modified from e.g. 2.10.3-SNAPSHOT to 2.10.3, and the projects are built but not installed to the .m2 - they're just kept in the maven "reactor".  

      The maven-invoker-plugin "install" goal, which is supposed to set up a local-repo (used just for testing) with the specified artifacts and their dependencies fails to find the dependencies if they're in the reactor, and findable via normal artifact lookup in the local .m2 and /or remote repositories. This causes the integration tests to fail, but only when running release prepare (again, because this goal is not installing the build artifacts to the local .m2).

      This seems new behavior - this used to work; I think it's likely related to maven or maven plugin upgrades.

      Workaround: explicitly put all the dependencies from the uimaj project as "top level" dependencies, and not depend on the transitive resolution mechanism.  If they're lists at the top level, the invoker:install does find them in the reactor and adds them.

      Attachments

        Activity

          People

            schor Marshall Schor
            schor Marshall Schor
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: