----- Discoverer Design ----- Brett Porter ----- 24 July 2006 ----- ~~ Copyright 2006 The Apache Software Foundation. ~~ ~~ Licensed under the Apache License, Version 2.0 (the "License"); ~~ you may not use this file except in compliance with the License. ~~ You may obtain a copy of the License at ~~ ~~ http://www.apache.org/licenses/LICENSE-2.0 ~~ ~~ Unless required by applicable law or agreed to in writing, software ~~ distributed under the License is distributed on an "AS IS" BASIS, ~~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ~~ See the License for the specific language governing permissions and ~~ limitations under the License. ~~ NOTE: For help with the syntax of this file, see: ~~ http://maven.apache.org/guides/mini/guide-apt-format.html Discoverer Design The artifact discoverer is designed to traverse the paths in the repository and identify files that are part of a legitimate artifact. There are two plexus components available: * {{{../apidocs/org/apache/maven/archiva/discoverer/ArtifactDiscoverer.html} ArtifactDiscoverer}} * {{{../apidocs/org/apache/maven/archiva/discoverer/MetadataDiscoverer.html} MetadataDiscoverer}} Each of these components currently have an implementation for the both <<>> and <<>> repository layouts. The artifact discoverer will find all artifacts in the repository, while metadata discovery finds any <<>> files (both remote and local repository formats). Note that POMs will be identified as separate artifacts to their related artifacts, as will each individual derivative artifact at present. Currently, it has been decided not to link them - MRM-40 was closed as won't fix as a result. * Limitations * Currently, deleted artifacts are not tracked. This requires a separate event - see {{{http://jira.codehaus.org/browse/MRM-37} MRM-37}}.