Skip to main content

Crate ferro_maven_layout

Crate ferro_maven_layout 

Source
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

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.xml reader 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 /metrics labelling.