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)

Reply via email to