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

cstamas pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven.git


The following commit(s) were added to refs/heads/master by this push:
     new a1fe9fc387 [MNG-7962] Return language to Type (#1341)
a1fe9fc387 is described below

commit a1fe9fc3875e6e487becf1afdf4ed22a7ca23a88
Author: Tamas Cservenak <ta...@cservenak.net>
AuthorDate: Thu Dec 14 11:51:16 2023 +0100

    [MNG-7962] Return language to Type (#1341)
    
    Returns the language property to Type
    
    ---
    
    https://issues.apache.org/jira/browse/MNG-7962
---
 .../src/main/java/org/apache/maven/api/Type.java          | 15 +++++++++------
 .../handler/manager/DefaultArtifactHandlerManager.java    |  2 +-
 .../apache/maven/internal/aether/TypeRegistryAdapter.java |  8 ++++++--
 .../java/org/apache/maven/internal/impl/DefaultType.java  | 14 +++++++++++++-
 .../apache/maven/internal/impl/DefaultTypeRegistry.java   |  1 +
 .../apache/maven/internal/impl/types/BomTypeProvider.java |  2 +-
 .../apache/maven/internal/impl/types/EarTypeProvider.java |  6 +++++-
 .../maven/internal/impl/types/EjbClientTypeProvider.java  |  1 +
 .../apache/maven/internal/impl/types/EjbTypeProvider.java |  6 +++++-
 .../apache/maven/internal/impl/types/JarTypeProvider.java |  6 +++++-
 .../maven/internal/impl/types/JavaSourceTypeProvider.java |  2 +-
 .../maven/internal/impl/types/JavadocTypeProvider.java    |  1 +
 .../internal/impl/types/MavenPluginTypeProvider.java      |  6 +++++-
 .../apache/maven/internal/impl/types/ParTypeProvider.java |  6 +++++-
 .../apache/maven/internal/impl/types/PomTypeProvider.java |  2 +-
 .../apache/maven/internal/impl/types/RarTypeProvider.java |  6 +++++-
 .../maven/internal/impl/types/TestJarTypeProvider.java    |  1 +
 .../apache/maven/internal/impl/types/WarTypeProvider.java |  6 +++++-
 .../maven/artifact/handler/ArtifactHandlerTest.java       |  3 +--
 19 files changed, 72 insertions(+), 22 deletions(-)

diff --git a/api/maven-api-core/src/main/java/org/apache/maven/api/Type.java 
b/api/maven-api-core/src/main/java/org/apache/maven/api/Type.java
index 4401c82e11..15ffc0b59a 100644
--- a/api/maven-api-core/src/main/java/org/apache/maven/api/Type.java
+++ b/api/maven-api-core/src/main/java/org/apache/maven/api/Type.java
@@ -42,12 +42,8 @@ import org.apache.maven.api.model.Dependency;
 @Immutable
 public interface Type {
 
-    String POM = "pom";
-    String JAR = "jar";
-    String JAVA_SOURCE = "java-source";
-    String JAVADOC = "javadoc";
-    String MAVEN_PLUGIN = "maven-plugin";
-    String TEST_JAR = "test-jar";
+    String LANGUAGE_NONE = "none";
+    String LANGUAGE_JAVA = "java";
 
     /**
      * Returns the dependency type id.
@@ -58,6 +54,13 @@ public interface Type {
     @Nonnull
     String getId();
 
+    /**
+     * Returns the dependency type language.
+     *
+     * @return the language of this type, never {@code null}.
+     */
+    String getLanguage();
+
     /**
      * Get the file extension of artifacts of this type.
      *
diff --git 
a/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java
 
b/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java
index 53fab056e1..87166eb29a 100644
--- 
a/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java
+++ 
b/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java
@@ -70,7 +70,7 @@ public class DefaultArtifactHandlerManager extends 
AbstractEventSpy implements A
                     null,
                     null,
                     type.isIncludesDependencies(),
-                    "none",
+                    type.getLanguage(),
                     type.isAddedToClassPath()); // TODO: watch out for module 
path
         });
     }
diff --git 
a/maven-core/src/main/java/org/apache/maven/internal/aether/TypeRegistryAdapter.java
 
b/maven-core/src/main/java/org/apache/maven/internal/aether/TypeRegistryAdapter.java
index c090218060..537015d80d 100644
--- 
a/maven-core/src/main/java/org/apache/maven/internal/aether/TypeRegistryAdapter.java
+++ 
b/maven-core/src/main/java/org/apache/maven/internal/aether/TypeRegistryAdapter.java
@@ -30,7 +30,7 @@ public class TypeRegistryAdapter implements 
ArtifactTypeRegistry {
     private final TypeRegistry typeRegistry;
 
     public TypeRegistryAdapter(TypeRegistry typeRegistry) {
-        this.typeRegistry = requireNonNull(typeRegistry, "null typeRegistry");
+        this.typeRegistry = requireNonNull(typeRegistry, "typeRegistry");
     }
 
     @Override
@@ -41,7 +41,11 @@ public class TypeRegistryAdapter implements 
ArtifactTypeRegistry {
         }
         if (type != null) {
             return new DefaultType(
-                    type.getId(), type.getExtension(), type.getClassifier(), 
type.getDependencyProperties());
+                    type.getId(),
+                    type.getLanguage(),
+                    type.getExtension(),
+                    type.getClassifier(),
+                    type.getDependencyProperties());
         }
         return null;
     }
diff --git 
a/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultType.java 
b/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultType.java
index 67384dece9..6297f5c4dd 100644
--- a/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultType.java
+++ b/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultType.java
@@ -35,13 +35,20 @@ public class DefaultType implements Type, ArtifactType {
 
     private final DependencyProperties dependencyProperties;
 
-    public DefaultType(String id, String extension, String classifier, 
DependencyProperties dependencyProperties) {
+    public DefaultType(
+            String id,
+            String language,
+            String extension,
+            String classifier,
+            DependencyProperties dependencyProperties) {
         nonNull(id, "id");
+        nonNull(language, "language");
         this.extension = nonNull(extension, "extension");
         this.classifier = classifier;
         nonNull(dependencyProperties, "dependencyProperties");
         HashMap<String, String> props = new 
HashMap<>(dependencyProperties.asMap());
         props.put(ArtifactProperties.TYPE, id);
+        props.put(ArtifactProperties.LANGUAGE, language);
         this.dependencyProperties = new DefaultDependencyProperties(props);
     }
 
@@ -50,6 +57,11 @@ public class DefaultType implements Type, ArtifactType {
         return dependencyProperties.asMap().get(ArtifactProperties.TYPE);
     }
 
+    @Override
+    public String getLanguage() {
+        return dependencyProperties.asMap().get(ArtifactProperties.LANGUAGE);
+    }
+
     @Override
     public String getExtension() {
         return extension;
diff --git 
a/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultTypeRegistry.java
 
b/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultTypeRegistry.java
index f5101f0d1a..cebd30cc66 100644
--- 
a/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultTypeRegistry.java
+++ 
b/maven-core/src/main/java/org/apache/maven/internal/impl/DefaultTypeRegistry.java
@@ -87,6 +87,7 @@ public class DefaultTypeRegistry extends AbstractEventSpy 
implements TypeRegistr
                     }
                     return new DefaultType(
                             id,
+                            handler.getLanguage(),
                             handler.getExtension(),
                             handler.getClassifier(),
                             new DefaultDependencyProperties(flags));
diff --git 
a/maven-core/src/main/java/org/apache/maven/internal/impl/types/BomTypeProvider.java
 
b/maven-core/src/main/java/org/apache/maven/internal/impl/types/BomTypeProvider.java
index 29d87cc4ec..d7387a1780 100644
--- 
a/maven-core/src/main/java/org/apache/maven/internal/impl/types/BomTypeProvider.java
+++ 
b/maven-core/src/main/java/org/apache/maven/internal/impl/types/BomTypeProvider.java
@@ -34,7 +34,7 @@ public class BomTypeProvider implements Provider<Type> {
     private final Type type;
 
     public BomTypeProvider() {
-        this.type = new DefaultType(NAME, "pom", null, new 
DefaultDependencyProperties());
+        this.type = new DefaultType(NAME, Type.LANGUAGE_NONE, "pom", null, new 
DefaultDependencyProperties());
     }
 
     @Override
diff --git 
a/maven-core/src/main/java/org/apache/maven/internal/impl/types/EarTypeProvider.java
 
b/maven-core/src/main/java/org/apache/maven/internal/impl/types/EarTypeProvider.java
index 2ceb095dd2..489ed638bb 100644
--- 
a/maven-core/src/main/java/org/apache/maven/internal/impl/types/EarTypeProvider.java
+++ 
b/maven-core/src/main/java/org/apache/maven/internal/impl/types/EarTypeProvider.java
@@ -36,7 +36,11 @@ public class EarTypeProvider implements Provider<Type> {
 
     public EarTypeProvider() {
         this.type = new DefaultType(
-                NAME, "ear", null, new 
DefaultDependencyProperties(DependencyProperties.FLAG_INCLUDES_DEPENDENCIES));
+                NAME,
+                Type.LANGUAGE_JAVA,
+                "ear",
+                null,
+                new 
DefaultDependencyProperties(DependencyProperties.FLAG_INCLUDES_DEPENDENCIES));
     }
 
     @Override
diff --git 
a/maven-core/src/main/java/org/apache/maven/internal/impl/types/EjbClientTypeProvider.java
 
b/maven-core/src/main/java/org/apache/maven/internal/impl/types/EjbClientTypeProvider.java
index 39c848357c..efbfe05a1c 100644
--- 
a/maven-core/src/main/java/org/apache/maven/internal/impl/types/EjbClientTypeProvider.java
+++ 
b/maven-core/src/main/java/org/apache/maven/internal/impl/types/EjbClientTypeProvider.java
@@ -37,6 +37,7 @@ public class EjbClientTypeProvider implements Provider<Type> {
     public EjbClientTypeProvider() {
         this.type = new DefaultType(
                 NAME,
+                Type.LANGUAGE_JAVA,
                 "jar",
                 "client",
                 new 
DefaultDependencyProperties(DependencyProperties.FLAG_CLASS_PATH_CONSTITUENT));
diff --git 
a/maven-core/src/main/java/org/apache/maven/internal/impl/types/EjbTypeProvider.java
 
b/maven-core/src/main/java/org/apache/maven/internal/impl/types/EjbTypeProvider.java
index 5eb237d8ba..e6f8fbdb4b 100644
--- 
a/maven-core/src/main/java/org/apache/maven/internal/impl/types/EjbTypeProvider.java
+++ 
b/maven-core/src/main/java/org/apache/maven/internal/impl/types/EjbTypeProvider.java
@@ -36,7 +36,11 @@ public class EjbTypeProvider implements Provider<Type> {
 
     public EjbTypeProvider() {
         this.type = new DefaultType(
-                NAME, "jar", null, new 
DefaultDependencyProperties(DependencyProperties.FLAG_CLASS_PATH_CONSTITUENT));
+                NAME,
+                Type.LANGUAGE_JAVA,
+                "jar",
+                null,
+                new 
DefaultDependencyProperties(DependencyProperties.FLAG_CLASS_PATH_CONSTITUENT));
     }
 
     @Override
diff --git 
a/maven-core/src/main/java/org/apache/maven/internal/impl/types/JarTypeProvider.java
 
b/maven-core/src/main/java/org/apache/maven/internal/impl/types/JarTypeProvider.java
index 4e4cc367b4..974c34e0ed 100644
--- 
a/maven-core/src/main/java/org/apache/maven/internal/impl/types/JarTypeProvider.java
+++ 
b/maven-core/src/main/java/org/apache/maven/internal/impl/types/JarTypeProvider.java
@@ -36,7 +36,11 @@ public class JarTypeProvider implements Provider<Type> {
 
     public JarTypeProvider() {
         this.type = new DefaultType(
-                NAME, "jar", null, new 
DefaultDependencyProperties(DependencyProperties.FLAG_CLASS_PATH_CONSTITUENT));
+                NAME,
+                Type.LANGUAGE_JAVA,
+                "jar",
+                null,
+                new 
DefaultDependencyProperties(DependencyProperties.FLAG_CLASS_PATH_CONSTITUENT));
     }
 
     @Override
diff --git 
a/maven-core/src/main/java/org/apache/maven/internal/impl/types/JavaSourceTypeProvider.java
 
b/maven-core/src/main/java/org/apache/maven/internal/impl/types/JavaSourceTypeProvider.java
index 7a0d982f81..bef8acf716 100644
--- 
a/maven-core/src/main/java/org/apache/maven/internal/impl/types/JavaSourceTypeProvider.java
+++ 
b/maven-core/src/main/java/org/apache/maven/internal/impl/types/JavaSourceTypeProvider.java
@@ -34,7 +34,7 @@ public class JavaSourceTypeProvider implements Provider<Type> 
{
     private final Type type;
 
     public JavaSourceTypeProvider() {
-        this.type = new DefaultType(NAME, "jar", "sources", new 
DefaultDependencyProperties());
+        this.type = new DefaultType(NAME, Type.LANGUAGE_JAVA, "jar", 
"sources", new DefaultDependencyProperties());
     }
 
     @Override
diff --git 
a/maven-core/src/main/java/org/apache/maven/internal/impl/types/JavadocTypeProvider.java
 
b/maven-core/src/main/java/org/apache/maven/internal/impl/types/JavadocTypeProvider.java
index d4401cc0ff..1ccac4f04b 100644
--- 
a/maven-core/src/main/java/org/apache/maven/internal/impl/types/JavadocTypeProvider.java
+++ 
b/maven-core/src/main/java/org/apache/maven/internal/impl/types/JavadocTypeProvider.java
@@ -37,6 +37,7 @@ public class JavadocTypeProvider implements Provider<Type> {
     public JavadocTypeProvider() {
         this.type = new DefaultType(
                 NAME,
+                Type.LANGUAGE_JAVA,
                 "jar",
                 "javadoc",
                 new 
DefaultDependencyProperties(DependencyProperties.FLAG_CLASS_PATH_CONSTITUENT));
diff --git 
a/maven-core/src/main/java/org/apache/maven/internal/impl/types/MavenPluginTypeProvider.java
 
b/maven-core/src/main/java/org/apache/maven/internal/impl/types/MavenPluginTypeProvider.java
index 4fd2990c64..bfdb424c27 100644
--- 
a/maven-core/src/main/java/org/apache/maven/internal/impl/types/MavenPluginTypeProvider.java
+++ 
b/maven-core/src/main/java/org/apache/maven/internal/impl/types/MavenPluginTypeProvider.java
@@ -36,7 +36,11 @@ public class MavenPluginTypeProvider implements 
Provider<Type> {
 
     public MavenPluginTypeProvider() {
         this.type = new DefaultType(
-                NAME, "jar", null, new 
DefaultDependencyProperties(DependencyProperties.FLAG_CLASS_PATH_CONSTITUENT));
+                NAME,
+                Type.LANGUAGE_JAVA,
+                "jar",
+                null,
+                new 
DefaultDependencyProperties(DependencyProperties.FLAG_CLASS_PATH_CONSTITUENT));
     }
 
     @Override
diff --git 
a/maven-core/src/main/java/org/apache/maven/internal/impl/types/ParTypeProvider.java
 
b/maven-core/src/main/java/org/apache/maven/internal/impl/types/ParTypeProvider.java
index 64b8ad711f..91db9ba182 100644
--- 
a/maven-core/src/main/java/org/apache/maven/internal/impl/types/ParTypeProvider.java
+++ 
b/maven-core/src/main/java/org/apache/maven/internal/impl/types/ParTypeProvider.java
@@ -36,7 +36,11 @@ public class ParTypeProvider implements Provider<Type> {
 
     public ParTypeProvider() {
         this.type = new DefaultType(
-                NAME, "par", null, new 
DefaultDependencyProperties(DependencyProperties.FLAG_INCLUDES_DEPENDENCIES));
+                NAME,
+                Type.LANGUAGE_JAVA,
+                "par",
+                null,
+                new 
DefaultDependencyProperties(DependencyProperties.FLAG_INCLUDES_DEPENDENCIES));
     }
 
     @Override
diff --git 
a/maven-core/src/main/java/org/apache/maven/internal/impl/types/PomTypeProvider.java
 
b/maven-core/src/main/java/org/apache/maven/internal/impl/types/PomTypeProvider.java
index 4b1afe64c9..fe0f9705d0 100644
--- 
a/maven-core/src/main/java/org/apache/maven/internal/impl/types/PomTypeProvider.java
+++ 
b/maven-core/src/main/java/org/apache/maven/internal/impl/types/PomTypeProvider.java
@@ -34,7 +34,7 @@ public class PomTypeProvider implements Provider<Type> {
     private final Type type;
 
     public PomTypeProvider() {
-        this.type = new DefaultType(NAME, "pom", null, new 
DefaultDependencyProperties());
+        this.type = new DefaultType(NAME, Type.LANGUAGE_NONE, "pom", null, new 
DefaultDependencyProperties());
     }
 
     @Override
diff --git 
a/maven-core/src/main/java/org/apache/maven/internal/impl/types/RarTypeProvider.java
 
b/maven-core/src/main/java/org/apache/maven/internal/impl/types/RarTypeProvider.java
index 51267a5f15..ad5accd3cd 100644
--- 
a/maven-core/src/main/java/org/apache/maven/internal/impl/types/RarTypeProvider.java
+++ 
b/maven-core/src/main/java/org/apache/maven/internal/impl/types/RarTypeProvider.java
@@ -36,7 +36,11 @@ public class RarTypeProvider implements Provider<Type> {
 
     public RarTypeProvider() {
         this.type = new DefaultType(
-                NAME, "rar", null, new 
DefaultDependencyProperties(DependencyProperties.FLAG_INCLUDES_DEPENDENCIES));
+                NAME,
+                Type.LANGUAGE_JAVA,
+                "rar",
+                null,
+                new 
DefaultDependencyProperties(DependencyProperties.FLAG_INCLUDES_DEPENDENCIES));
     }
 
     @Override
diff --git 
a/maven-core/src/main/java/org/apache/maven/internal/impl/types/TestJarTypeProvider.java
 
b/maven-core/src/main/java/org/apache/maven/internal/impl/types/TestJarTypeProvider.java
index 14ccf928b0..6bd7ea2da7 100644
--- 
a/maven-core/src/main/java/org/apache/maven/internal/impl/types/TestJarTypeProvider.java
+++ 
b/maven-core/src/main/java/org/apache/maven/internal/impl/types/TestJarTypeProvider.java
@@ -37,6 +37,7 @@ public class TestJarTypeProvider implements Provider<Type> {
     public TestJarTypeProvider() {
         this.type = new DefaultType(
                 NAME,
+                Type.LANGUAGE_JAVA,
                 "jar",
                 "tests",
                 new 
DefaultDependencyProperties(DependencyProperties.FLAG_CLASS_PATH_CONSTITUENT));
diff --git 
a/maven-core/src/main/java/org/apache/maven/internal/impl/types/WarTypeProvider.java
 
b/maven-core/src/main/java/org/apache/maven/internal/impl/types/WarTypeProvider.java
index c382f08af6..a2b339001d 100644
--- 
a/maven-core/src/main/java/org/apache/maven/internal/impl/types/WarTypeProvider.java
+++ 
b/maven-core/src/main/java/org/apache/maven/internal/impl/types/WarTypeProvider.java
@@ -36,7 +36,11 @@ public class WarTypeProvider implements Provider<Type> {
 
     public WarTypeProvider() {
         this.type = new DefaultType(
-                NAME, "war", null, new 
DefaultDependencyProperties(DependencyProperties.FLAG_INCLUDES_DEPENDENCIES));
+                NAME,
+                Type.LANGUAGE_JAVA,
+                "war",
+                null,
+                new 
DefaultDependencyProperties(DependencyProperties.FLAG_INCLUDES_DEPENDENCIES));
     }
 
     @Override
diff --git 
a/maven-core/src/test/java/org/apache/maven/artifact/handler/ArtifactHandlerTest.java
 
b/maven-core/src/test/java/org/apache/maven/artifact/handler/ArtifactHandlerTest.java
index 54d75a8234..fbcb710823 100644
--- 
a/maven-core/src/test/java/org/apache/maven/artifact/handler/ArtifactHandlerTest.java
+++ 
b/maven-core/src/test/java/org/apache/maven/artifact/handler/ArtifactHandlerTest.java
@@ -79,8 +79,7 @@ class ArtifactHandlerTest {
                 // Packaging/Directory is Maven1 remnant!!!
                 // assertEquals(handler.getPackaging(), packaging, type + " 
packaging");
                 assertEquals(handler.getClassifier(), classifier, type + " 
classifier");
-                // Language is unused
-                // assertEquals(handler.getLanguage(), language, type + " 
language");
+                assertEquals(handler.getLanguage(), language, type + " 
language");
                 assertEquals(
                         handler.isAddedToClasspath() ? "true" : null, 
addedToClasspath, type + " addedToClasspath");
                 assertEquals(

Reply via email to