Skip to content

Conversation

@sergehuber
Copy link
Contributor

@sergehuber sergehuber commented Oct 16, 2025

Title

UNOMI-892-maven-cache: Adopt Maven Build Cache and consolidate BUILDING into manual

Summary

Enables the Maven Build Cache for faster developer and CI builds and consolidates build documentation into the official manual to avoid duplication.

Why

  • Faster feedback loops and reduced CI time.
  • Single source of truth for build docs (easier to maintain).

Performance

  • Without cache: ~1m59s (full clean install)
  • With cache: ~3.176s (subsequent builds after initial)

What’s the Maven Build Cache (brief)

Safety and control

  • Enabled by default via .mvn/maven-build-cache-config.xml (local cache only, no remote).
  • Per-build controls:
    • Disable cache: -Dmaven.build.cache.enabled=false
    • Force rebuild (don’t read cache, still write results): -Dmaven.build.cache.skipCache=true
  • Reset locally by deleting ~/.m2/build-cache (Windows: %USERPROFILE%\.m2\build-cache).

Documentation changes

  • BUILDING now points to the manual: https://unomi.apache.org/manual/latest/index.html#_building
  • Manual (manual/src/main/asciidoc/building-and-deploying.adoc):
    • Moved (and updated) all content that was in the BUILDING file to the manual
    • Added “Maven Build Cache” section with parameters, differences, purge/reset, and links.
    • Updated Maven requirement to 3.9.8.

Notable Maven cache configuration

  • SHA-256 hashing.
  • Inputs include src/; excludes pom.xml (version normalization) and src/main/javagen/**.
  • Remote cache disabled.

…into manual, update website docs

- Enable Maven Build Cache (extensions.xml, maven-build-cache-config.xml); document usage, parameters, purge options; add official links
- Update BUILDING to deprecate content and point to online manual and local Asciidoc source
- Expand manual (manual/src/main/asciidoc/building-and-deploying.adoc):
- Add Maven Build Cache section with detailed parameter differences and performance times (1m59s vs 3.176s)
- Replace old site scripts with generate-manual.sh usage (publish/simulate), requirements, destinations
- Align Maven requirement to 3.9.8
- Minor doc cleanups and consistency across build instructions
@sergehuber
Copy link
Contributor Author

Thanks for the approval @jayblanc !

@sergehuber sergehuber merged commit b617d5c into master Nov 28, 2025
5 checks passed
@sergehuber sergehuber deleted the UNOMI-892-maven-cache branch November 28, 2025 11:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants