Marshall Schor created UIMA-5901:
------------------------------------
Summary: workaround broken invoker transitivity when releasing
Key: UIMA-5901
URL: https://issues.apache.org/jira/browse/UIMA-5901
Project: UIMA
Issue Type: Improvement
Components: Core Java Framework
Affects Versions: 3.0.0SDK, 2.10.2SDK
Reporter: Marshall Schor
Assignee: Marshall Schor
Fix For: 3.0.1SDK, 2.10.3SDK
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.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)