~/talk

What I Learned from Publishing Libraries to Maven Central

Talkat droidcon Berlin 2025 · 2025-09-24..09-26· [devops-and-delivery]
slides:none on file

Ten years of publishing yields concrete rules: libraries exceed 100 million downloads per year, CI must sign artifacts with in-memory PGP keys so GPG happens on CI not a laptop, and Gradle pipelines use Gradle Nexus publish plugin or Gradle Maven Publish to create sources.jar, javadoc.jar, POM and .asc signatures, push to Sonatype staging, then close-and-release. Rotate tokens, verify DNS ownership for group IDs, and avoid mixing public repos; CircleCI was compromised (Jan 4 2023) and npm attacks (e.g. chalk ~300M/week) show supply-chain risk.

AI-written summary · about

  1. 0:00Introduction
  2. 2:28Maven Central explained
  3. 3:51CI system for libraries
  4. 4:57Library API strategy
  5. 6:45Versioning strategies
  6. 9:58GPG signing requirements
  7. 13:09Sonatype account setup
  8. 14:33Release file requirements
  9. 16:57Testing with Maven local
  10. 17:38Automating with Gradle plugins
  11. 19:26Verifying releases
  12. 21:35Staging repositories checks
  13. 24:01Immutable releases handling
  14. 25:26Supply chain attack examples
  15. 27:17Securing tokens and keys
  16. 28:01Dependency typo squatting
  17. 31:15Maven Gate attacks
  18. 34:13Validating GPG signatures
  19. 35:38Public repo security risks
  20. 38:09Ongoing supply chain attacks
  21. 39:12Conclusion and Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.