arquillian/smart-testing

Be as less intrusive as possible with the dependencies

MatousJobanek opened this issue · 2 comments

Issue Overview

Most of the strategy implementations, core and also surefire provider has several transitive dependencies. These transitive deps may cause conflicts, classloading issues or other problems such as failures when transitive dependencies are forbidden (using force plugin).
All dependencies that are added to the pom should be as less intrusive as possible.
Proposed solution:

  • surefire provider & core should be handled by this issue: #277
  • all strategies should be shaded as well
  • when the dependency is added to the effective pom.xml file, an exclusion for all dependencies should be set
  • jar should be minimized
Steps To Reproduce
  1. clone https://github.com/wildfly/wildfly
  2. install ST
  3. run build with some strategy specified

WDYT @lordofthejars @bartoszmajsak , should we set also the relocations for the strategies?

WDYT @lordofthejars @bartoszmajsak , should we set also the relocations for the strategies?

For the short-term solution it sounds feasible. Let's also open an issue for reviewing which libraries we really need and what could we potentially just write on our own. As this is a library we have to be very careful about the 3rd party we are bringing in as this might result in more issues like the WildFly one.