1 package org.apache.maven.archiva.repository.assembly;
4 * Copyright 2001-2005 The Apache Software Foundation.
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
19 import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
20 import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
26 * Component responsible for writing out {@link Set}s of artifacts to a local directory. The resultant repository
27 * structure should be suitable for use as a remote repository.
29 * @author Jason van Zyl
31 public interface RepositoryAssembler
33 String ROLE = RepositoryAssembler.class.getName();
36 * Write out a set of {@link org.apache.maven.artifact.Artifact}s, which are found in a
37 * specified local repository and remote repositories, with a given {@link ArtifactRepositoryLayout}
38 * to a specified directory.
40 * @param artifacts Artifacts to be written out to disk.
41 * @param localRepository Local repository to check for artifacts in the provided set.
42 * @param remoteRepositories Remote repositories to check for artifacts in the provided set.
43 * @param repositoryLayout The repository layout to use for the target repository.
44 * @param repositoryDirectory The directory to write out the repository in.
45 * @throws RepositoryAssemblyException
47 public void assemble( Set artifacts,
49 Set remoteRepositories,
50 ArtifactRepositoryLayout repositoryLayout,
51 File repositoryDirectory )
52 throws RepositoryAssemblyException;
55 * Write out a set of {@link org.apache.maven.artifact.Artifact}s, which are found in a
56 * specified local repository and remote repositories, with a given {@link ArtifactRepositoryLayout}
57 * to a specified directory.
59 * @param artifacts Artifacts to be written out to disk.
60 * @param localRepository Local repository to check for artifacts in the provided set.
61 * @param remoteRepositories Remote repositories to check for artifacts in the provided set.
62 * @param artifactFilter Filter to use while processing artifacts. Can change or restrict given artifacts.
63 * @param repositoryLayout The repository layout to use for the target repository.
64 * @param repositoryDirectory The directory to write out the repository in.
65 * @throws RepositoryAssemblyException
67 public void assemble( Set artifacts,
69 Set remoteRepositories,
70 ArtifactFilter artifactFilter,
71 ArtifactRepositoryLayout repositoryLayout,
72 File repositoryDirectory )
73 throws RepositoryAssemblyException;