This is an automated email from the ASF dual-hosted git repository.

kwin pushed a commit to branch feature/clarify-dependency-types
in repository https://gitbox.apache.org/repos/asf/maven-site.git

commit 827787d148304422fde09b25a36aff0c9029baf7
Author: Konrad Windszus <k...@apache.org>
AuthorDate: Sat May 18 17:09:03 2024 +0200

    [MNG-8097] Outline the two different ways to reference a dependency
    (with a related artifact handler)
---
 content/apt/pom.apt.vm | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/content/apt/pom.apt.vm b/content/apt/pom.apt.vm
index 2dde78d7..32388734 100644
--- a/content/apt/pom.apt.vm
+++ b/content/apt/pom.apt.vm
@@ -271,13 +271,20 @@ mvn install:install-file -Dfile=non-maven-proj.jar 
-DgroupId=some.group -Dartifa
   you browse the Maven central repository, you will notice that the 
classifiers <<<sources>>> and <<<javadoc>>> are used
   to deploy the project source code and API docs along with the packaged class 
files.
 
+  The classifier may also be derived from the <<type>> in case the related 
{{{/ref/current/maven-core/artifact-handlers.html} artifact handler}} defines 
one.
+
   * <<type>>:\
   Corresponds to the chosen dependency type. This defaults to <<<jar>>>. While 
it usually represents
-  the extension on the filename of the dependency, that is not always the 
case: a type can be mapped to a
+  the extension of the referenced artifact, that is not always the case: a 
type can be mapped to a
   different extension and a classifier. The type often corresponds to the 
packaging used, though this is
   also not always the case. Some examples are <<<jar>>>, <<<ejb-client>>> and 
<<<test-jar>>>:
   see {{{/ref/current/maven-core/artifact-handlers.html}default artifact 
handlers}} for a list. New types can be
   defined by plugins that set <<<extensions>>> to true, so this is not a 
complete list.
+  
+  In case there is an artifact handler defined there is <two> different ways 
of referencing the same dependency. 
+  By using the <extension> or by using the registered <type> value. The former 
considers all attributes from the artifact handler, while the latter
+  never adds the dependency to the classpath nor includes its dependencies. 
Further information in
+  {{{/repositories/artifacts.html#but-where-do-i-set-artifact-extension}Maven 
Artifacts}}.
 
   * <<scope>>:\
   This element refers to the classpath of the task at hand (compiling and 
runtime, testing, etc.) as well as

Reply via email to