Skip to content
Examples

Developer tooling

HtmlSanityCheck

Broken-link checker for generated HTML documentation.

Main goal
Find broken links and missing images in generated HTML, from inside an automated build.
Business domain
Developer tooling
Size
Small open-source tool · single maintainer · on GitHub since 2014
Strategic decisions
  • Groovy, with minimal external dependencies
  • Shipped as a Gradle plugin
  • Template method for checkers and reporters
  • jsoup for HTML parsing
Technologies
  • Groovy
  • Java
  • Gradle
  • jsoup
  • Asciidoctor

HtmlSanityCheck

The system documented here is a small open source tool hosted on GitHub.

The full sourcecode is available — you might even configure your Gradle build to use this software. Just in case you’re writing documentation based on Asciidoctor, that would be a great idea!

But enough preamble. Let’s get started…

Convention for this example

At the beginning of each section you find short explanations, formatted in boxes like this.

This is the smallest example on the site, and the most readable end to end. It is worth comparing against MaMa-CRM: the same twelve sections, one describing a single-maintainer build tool, the other a system built by ten people over fifteen months.

The documentation

  1. 1 Introduction and Goals
  2. 2 Architecture Constraints
  3. 3 Context and Scope
  4. 4 Solution Strategy
  5. 5 Building Block View
  6. 6 Runtime View
  7. 7 Deployment View
  8. 8 Cross-cutting Concepts
  9. 9 Architecture Decisions
  10. 10 Quality Requirements
  11. 11 Risks and Technical Debt
  12. 12 Glossary

Start reading →