Robbie Gemmell created ARTEMIS-3874:
---------------------------------------
Summary: reduce use of test-jar and related module/test
interdependencies
Key: ARTEMIS-3874
URL: https://issues.apache.org/jira/browse/ARTEMIS-3874
Project: ActiveMQ Artemis
Issue Type: Test
Components: Tests
Reporter: Robbie Gemmell
Fix For: 2.24.0
The build currently makes a lot of use of 'test-jar' dependencies between
various modules, which can complicate the build and can lead to unexpected
behaviours at times. It makes lots of the modules inter-dependent on each other
(particularly their tests) when they really otherwise arent. It means that
unexpected test resources/classes (from other modules) you wouldnt normally
expect to be on a modules test claspath can be, and can mean the same for some
of their dependencies (scope dependent), sometimes making the test env quite
different than would be expected. It requires creating all these test-jars that
normally dont even exist, and publishing many, and also requires doing so
during the 'test' phase which normally shouldnt need to package anything to
ensure they exist before other modules run that might require them (otherwise
the build will fail).
I had hoped to eradicate their use towards leveraging the update in the logging
changes (and related config..) being worked on, but their use and the related
build intertwining was far more extensive than I had appreciated, so this is a
partial step toward a larger change that would need to happen later perhaps
over time. From the 'main' (non-test) modules it leaves only artemis-server
producing a test-jar and confines all use of them to the non-deployed 'tests'
subtree, where there is still a notable reduction in use. It introduces a new
module to share some rules and utilities amongst all the modules tests, and
leverages the existing artemis-test-support module as a place to host utilities
etc that depend on the clients/broker (which thus cant live in a module those
modules require, due to creating a cycle) and supply other items to tests that
use them.
--
This message was sent by Atlassian Jira
(v8.20.7#820007)