Hello,
To enhance archiva-1.0 support for maven1, I'd like to introduce a layer
between DavServlet and repository proxies connectors.
As Joakim suggested, this is the scope of the Dynamic Artifact Serving Layer
in archiva roadmap.
I propose this API :
public interface ArtifactServingLayer
{
/**
* Retrieve an artifact path in the repository based on the resource
string.
*/
public String getResourcePath( String resource );
}
The serving layer is responsible of finding the resource in the managed
repository, with any required logic or temporary content, and to give a
repository-related path back to the DavServer.
The default implementation could simply use proxies-connectors to find the
resource, and some interceptors / proxies could add features, like
converting on-the-fly from a layout format to the managedRepository layout,
handle artifact relocation when a non-POM artifact is requested, or anything
we discover to be usefull.
What's your opinion ?