You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Robbie Gemmell (Jira)" <ji...@apache.org> on 2022/06/27 10:55:00 UTC

[jira] [Created] (ARTEMIS-3874) reduce use of test-jar and related module/test interdependencies

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)