archiva-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "nicolas de loof" <>
Subject Re: service layer API proposal
Date Wed, 06 Jun 2007 11:40:03 GMT
You're right, the layout used by the managedRepository to store artifacts is
specified in its configuration, and the SVN code requires the request to
follow this layout. But the layout used to request an artifact from maven1
or maven2 is simple to detect.

The fact that the managedRepository internally use a filesystem layout to
store artifact is not visible, as the servlet layer can request for
ArtifactReference. Having this abstraction makes easy to convert any
incoming request from any supported layout to ArtifactReference, and then
from ArtifactReference to a File in managed repo.

So the difficulty dor auto-detecting request layout is only in the servlet
layer. It can select the valid BidirectionalLayout based on determinist URL
mappings "/{layoutId}/{repoId}/{path}" or based on auto-detection
"/repository/{repoId}/{path}", as I propose in MRM-412.

> I mean /repository/{repoId}/{path} can detect legacy vs default maven
> > layout
> > easily based on number of "/" in the path. If the apt path (for example)
> > overlaps with another supported layout, we simply need to provide an
> > alternative /apt/{repoId}/{path}. "repository" would then simply be a
> > reserved keyword for "autodetect requested type".
> One point.  The layout is currently determined by the setting specified
> on the {repoId}, not based on the number of "/" in the path.
> - Joakim

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message