You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2015/12/28 14:37:39 UTC
svn commit: r1721915 - in
/maven/shared/trunk/maven-artifact-transfer/src/site: ./ apt/
apt/comparison.apt.vm
Author: rfscholte
Date: Mon Dec 28 13:37:38 2015
New Revision: 1721915
URL: http://svn.apache.org/viewvc?rev=1721915&view=rev
Log:
Add page explaining differences between an Artifact and a Dependency
Added:
maven/shared/trunk/maven-artifact-transfer/src/site/
maven/shared/trunk/maven-artifact-transfer/src/site/apt/
maven/shared/trunk/maven-artifact-transfer/src/site/apt/comparison.apt.vm
Added: maven/shared/trunk/maven-artifact-transfer/src/site/apt/comparison.apt.vm
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-artifact-transfer/src/site/apt/comparison.apt.vm?rev=1721915&view=auto
==============================================================================
--- maven/shared/trunk/maven-artifact-transfer/src/site/apt/comparison.apt.vm (added)
+++ maven/shared/trunk/maven-artifact-transfer/src/site/apt/comparison.apt.vm Mon Dec 28 13:37:38 2015
@@ -0,0 +1,61 @@
+ -----
+ Introduction
+ -----
+ Robert Scholte
+ -----
+ 2015-12-28
+ -----
+
+ ~~ Licensed to the Apache Software Foundation (ASF) under one
+ ~~ or more contributor license agreements. See the NOTICE file
+ ~~ distributed with this work for additional information
+ ~~ regarding copyright ownership. The ASF licenses this file
+ ~~ to you 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/doxia/references/apt-format.html
+
+Comparison
+
+ Here's a small matrix which should help you choosing the right instance.
+
+ In general:
+
+ * an Artifact holds a file mapped on a certain coordinate.
+
+ * a Dependency contains an artifact and has transitive information
+
+ * a MavenProject hold a pom-file and optional mainfile and can have attached (=classified) files, all using the same GAV.
+
+*--------------------+-------------+----------------+---------------+
+|| || Dependency || Artifact || MavenProject ||
+*--------------------+-------------+----------------+---------------+
+| Has dependencies | yes | no | yes |
+*--------------------+-------------+----------------+---------------+
+| filetype reference | type | file-extension | packaging |
+*--------------------+-------------+----------------+---------------+
+| version ranges | yes | no | no |
+*--------------------+-------------+----------------+---------------+
+| attached artifacts | no | no | yes |
+*--------------------+-------------+----------------+---------------+
+
+This implies the following:
+
+ * From dependency to artifact is possible, since you can map a type to an extension.
+ However, it is not possible to go from artifact back to dependency, there are several types which have jar as file extension.
+
+ * There's no such thing as transitive artifacts. Filtering during resolution as based on DependencyFilters,
+ ArtifactFilters can only be applied afterwards, hence are less efficient.
+
+