paulhammant

Quicker Local Maven Builds

Maven is a depth-first recursive build technology. Projects can be multiple modules in one repo, and if ‘mvn install’ is launched from the root of that repo it will recurse through all the modules depth-first. It’ll do so regardless of what’s changed. There’s the rub: you may have only changed one source file in one module, and that may have been test logic, not ‘prod’ source. Meaning there’s a bunch of needless...

paulhammant

Using Git In Business And Government

Synopsis: Git is the best we have right now for a “History-retaining Merkle tree” (when force-push is turned off), and stands to be utilized more outside of software development - in business at least. A £200m “Garden Bridge” project was canceled when it had accrued £50m in costs and before construction started. It is difficult to pick it apart. See this Tortoise Media article and Reddit discussion. It is not clear whether...

paulhammant

Another Graphic for Technology Compatibility Kits (TCKs)

Related to (or a sub-part/refinement of) “contract testing”, that I periodically highlight: Wire mocks are officially “service virtualization” (SV) of course. The TCK idea is a specific usage of them, originally to allow alternate implementations. Vendors making services (on the internet or installable on-prem or cloud) should make a TCK, too. They may want to include a “no reverse-engineering” clause for licensees of the...