Hello. Is there a convention for distinguishing codes with compatibility requirements from codes provided as development tools (unit tests, benchmarking, usage examples, integration tests, ...)?
For unit tests, there is a convention: "main" vs "test". The latter has no backward-compatibility requirement. But how would a project convey that some of its distributed files will not abide by any compatiblity requirement even if the source is in "main". A concrete example in "Commons RNG": the (maven) module "commons-rng-jmh" contains source codes whose purpose is to benchmark the codes provided in other modules (e.g. "common-rng-sampling"). Clearly, it was never intended that "JMH"-based benchmarking is considered part of the "Commons RNG" library. The same is true of the examples (in "commons-rng-examples") or the additional integration tests (suggested by Simon) that would go in yet another maven module. So, is a simple warning in the release notes sufficient to signal "courtesy" codes? Regards, Gilles --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
