LibWorld
← All ecosystems

maven

/maven/

Java and Android artifacts, from all four repos a build needs

How it works

  • Maven is the simplest shape of the lot: a flat file repository where a group/artifact/version coordinate is just a path. The .jar, .pom, and .aar files at that path, and their checksum siblings, never change once published, so they are cached permanently.

  • Four upstreams are exposed as separate sub-repos — central, google, gradle-plugins, and gradle-dist — because a single Android build genuinely needs all four, and collapsing them into one namespace would make it impossible to tell which upstream an artifact came from.

  • Exactly one file in a Maven repo is mutable: maven-metadata.xml, which lists available versions. That one is revalidated and disk-cached the way the cargo and go index metadata is.

Things that have cost real time

Written down because they were paid for once already.

A Maven repo is immutable except for one file: maven-metadata.xml, which gains an entry whenever a version is published. So it and its checksum siblings are revalidated on every request while every GAV artifact is cached forever. Treating the whole repo as immutable is how a mirror stops seeing releases that exist.