1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.plugin.internal;
20
21 import java.util.Arrays;
22 import java.util.List;
23
24 import org.apache.maven.execution.MavenSession;
25 import org.apache.maven.plugin.PluginValidationManager;
26 import org.apache.maven.plugin.descriptor.MojoDescriptor;
27
28 import static java.util.Objects.requireNonNull;
29
30
31
32
33
34
35 abstract class AbstractMavenPluginDependenciesValidator implements MavenPluginDependenciesValidator {
36
37 protected final List<String> expectedProvidedScopeExclusions = Arrays.asList(
38 "org.apache.maven:maven-archiver", "org.apache.maven:maven-jxr", "org.apache.maven:plexus-utils");
39
40 protected final PluginValidationManager pluginValidationManager;
41
42 protected AbstractMavenPluginDependenciesValidator(PluginValidationManager pluginValidationManager) {
43 this.pluginValidationManager = requireNonNull(pluginValidationManager);
44 }
45
46 @Override
47 public void validate(MavenSession mavenSession, MojoDescriptor mojoDescriptor) {
48 if (mojoDescriptor.getPluginDescriptor() != null
49 && mojoDescriptor.getPluginDescriptor().getDependencies() != null) {
50 doValidate(mavenSession, mojoDescriptor);
51 }
52 }
53
54 protected abstract void doValidate(MavenSession mavenSession, MojoDescriptor mojoDescriptor);
55 }