Expand description
ferro-maven-layout
Maven 2/3 repository layout, POM (pom.xml) parsing, maven-metadata.xml
generation, and SNAPSHOT artifact timestamping for FerroRepo.
§Spec references
- Maven Repository Layout — https://maven.apache.org/repository/layout.html
- Remote / Local Repository — https://maven.apache.org/ref/3.9.6/maven-repository-metadata/
- Snapshot metadata format — https://maven.apache.org/ref/3.9.6/maven-repository-metadata/repository-metadata.html
Phase 1 scope: full Maven Central wire compatibility covering
mvn deploy, mvn dependency:go-offline, Gradle 8.x, and sbt clients, with
groupId:artifactId:version GAV coordinates, maven-metadata.xml index
files, checksum sidecars (.md5, .sha1, .sha256, .sha512), and POM
path validation on PUT. GPG detached signatures (.asc) and Maven
Central publisher staging validation land in Phase 2.
Re-exports§
pub use checksum::ChecksumAlgo;pub use checksum::compute_checksum;pub use checksum::parse_sidecar;pub use coordinate::Coordinate;pub use coordinate::CoordinateParseError;pub use error::MavenError;pub use layout::LayoutPath;pub use layout::PathClass;pub use layout::parse_layout_path;pub use metadata::MavenMetadata;pub use metadata::Snapshot;pub use metadata::SnapshotVersion;pub use pom::Pom;pub use pom::PomParent;pub use pom::parse_pom;pub use router::MavenState;pub use router::router;pub use snapshot::SnapshotTimestamp;pub use snapshot::is_snapshot_version;
Modules§
- checksum
- Checksum sidecar formats.
- coordinate
- Maven Group-Artifact-Version (GAV) coordinates.
- error
- Maven-specific error type.
- handlers
- Axum handlers for Maven 2/3 artifact GET / HEAD / PUT / DELETE.
- layout
- Maven layout path parser.
- metadata
maven-metadata.xmlreader and writer.- pom
- Minimal POM (
pom.xml) deserialization. - router
- Axum router for the Maven 2/3 protocol.
- snapshot
- SNAPSHOT version handling.
Constants§
- CRATE_
NAME - Crate name, exposed for diagnostics and
/metricslabelling.