]> source.dussan.org Git - archiva.git/blob
2dcfdb1baaab23678049b2b0f7b01390739131d0
[archiva.git] /
1 package org.apache.maven.archiva.repository.assembly;
2
3 /*
4  * Copyright 2001-2005 The Apache Software Foundation.
5  *
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
9  *
10  *      http://www.apache.org/licenses/LICENSE-2.0
11  *
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.
17  */
18
19 import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
20 import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
21
22 import java.io.File;
23 import java.util.Set;
24
25 /**
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.
28  *
29  * @author Jason van Zyl
30  */
31 public interface RepositoryAssembler
32 {
33     String ROLE = RepositoryAssembler.class.getName();
34
35     /**
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.
39      *
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
46      */
47     public void assemble( Set artifacts,
48                           File localRepository,
49                           Set remoteRepositories,
50                           ArtifactRepositoryLayout repositoryLayout,
51                           File repositoryDirectory )
52         throws RepositoryAssemblyException;
53
54     /**
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.
58      *
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
66      */
67     public void assemble( Set artifacts,
68                           File localRepository,
69                           Set remoteRepositories,
70                           ArtifactFilter artifactFilter,
71                           ArtifactRepositoryLayout repositoryLayout,
72                           File repositoryDirectory )
73         throws RepositoryAssemblyException;
74 }