polylith 2026-07-29

I found it was an easy and small change to add this shuffling feature to @seancorfield's external-test-runner https://github.com/seancorfield/polylith-external-test-runner/pull/24 Since I'm using this runner I decided to just focus on this runner now. It detected already some problems with my codebase that I have to fix now (even with alphabetic ordering). I've described the steps to get started in the PR

I have a couple of bits of feedback on the PR but I like the idea of this. Thank you.

👍 1

This is a separate discussion I believe. I think it is important for Polylith to not have any dependency on how the namespaces are loaded. Since that basically means there are missing requires, which means the analysis of the Polylith tool would potentially be incorrect. So Polylith might incorrectly decide not to run certain tests because it assesses those tests were not affected by the current diff. So I think it is fundamental for Polylith that it always shuffles the namespaces (of tests). Maybe the same goes for classpath shuffling although I didn't look into that

To give some additional context, I had some missing requires and in this project I'm using quite a lot of multimethods as an extension method. So a missing require means certain extensions are missing. If you always have the same execution order of tests things might work, but when it changes all of a sudden an extension can be missing and tests should rightfully indicating something is off. So I'm thinking I should be certain to have done enough test shuffles before I mark a commit tree as stable . Since this could potentially hide problems for a longer time if Polylith doesn't detect changes for affected bricks

A very nice addition from @jeroenvandijk - thank you!

❤️ 1