1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.impl.resolver.type;
20
21 import java.util.Arrays;
22 import java.util.Collection;
23
24 import org.apache.maven.api.JavaPathType;
25 import org.apache.maven.api.Language;
26 import org.apache.maven.api.Type;
27 import org.apache.maven.api.di.Named;
28 import org.apache.maven.api.spi.TypeProvider;
29
30 @Named
31 public class DefaultTypeProvider implements TypeProvider {
32 @SuppressWarnings({"rawtypes", "unchecked"})
33 @Override
34 public Collection<Type> provides() {
35 return (Collection) types();
36 }
37
38 public Collection<DefaultType> types() {
39 return Arrays.asList(
40
41 new DefaultType(Type.POM, Language.NONE, "pom", null, false),
42 new DefaultType(Type.BOM, Language.NONE, "pom", null, false),
43 new DefaultType(Type.MAVEN_PLUGIN, Language.JAVA_FAMILY, "jar", null, false, JavaPathType.CLASSES),
44
45 new DefaultType(
46 Type.JAR, Language.JAVA_FAMILY, "jar", null, false, JavaPathType.CLASSES, JavaPathType.MODULES),
47 new DefaultType(Type.JAVADOC, Language.JAVA_FAMILY, "jar", "javadoc", false, JavaPathType.CLASSES),
48 new DefaultType(Type.JAVA_SOURCE, Language.JAVA_FAMILY, "jar", "sources", false),
49 new DefaultType(
50 Type.TEST_JAR,
51 Language.JAVA_FAMILY,
52 "jar",
53 "tests",
54 false,
55 JavaPathType.CLASSES,
56 JavaPathType.PATCH_MODULE),
57 new DefaultType(Type.TEST_JAVA_SOURCE, Language.JAVA_FAMILY, "jar", "test-sources", false),
58 new DefaultType(Type.MODULAR_JAR, Language.JAVA_FAMILY, "jar", null, false, JavaPathType.MODULES),
59 new DefaultType(Type.CLASSPATH_JAR, Language.JAVA_FAMILY, "jar", null, false, JavaPathType.CLASSES),
60 new DefaultType(
61 Type.PROCESSOR,
62 Language.JAVA_FAMILY,
63 "jar",
64 null,
65 false,
66 JavaPathType.PROCESSOR_CLASSES,
67 JavaPathType.PROCESSOR_MODULES),
68 new DefaultType(
69 Type.CLASSPATH_PROCESSOR,
70 Language.JAVA_FAMILY,
71 "jar",
72 null,
73 false,
74 JavaPathType.PROCESSOR_CLASSES),
75 new DefaultType(
76 Type.MODULAR_PROCESSOR,
77 Language.JAVA_FAMILY,
78 "jar",
79 null,
80 false,
81 JavaPathType.PROCESSOR_MODULES),
82
83 new DefaultType("ejb", Language.JAVA_FAMILY, "jar", null, false, JavaPathType.CLASSES),
84 new DefaultType("ejb-client", Language.JAVA_FAMILY, "jar", "client", false, JavaPathType.CLASSES),
85 new DefaultType("war", Language.JAVA_FAMILY, "war", null, true),
86 new DefaultType("ear", Language.JAVA_FAMILY, "ear", null, true),
87 new DefaultType("rar", Language.JAVA_FAMILY, "rar", null, true),
88 new DefaultType("par", Language.JAVA_FAMILY, "par", null, true));
89 }
90 }