Dependency management and JVM isolation rules
masterWhen contributing to Pitest, follow these strict rules regarding dependencies and class loading to prevent conflicts with the code under test (SUT):
- JVM Isolation: Do not load the code under test into the JVM within the
pitest-entrymodule (e.g., via reflection). pitestmodule restrictions: Do not introduce third-party dependencies into thepitestmodule, as they may conflict with the SUT's dependencies. If a dependency is absolutely unavoidable (e.g.,ASM), it must be shaded.- Other modules: Dependencies are allowed in other modules but are discouraged; consult the maintainers before adding them. Any dependencies added to these modules must be provided on the classpath by users of the command-line tool or Ant.