Package org.apache.maven.plugin.internal
Class DefaultPluginValidationManager
- java.lang.Object
-
- org.apache.maven.eventspy.AbstractEventSpy
-
- org.apache.maven.plugin.internal.DefaultPluginValidationManager
-
- All Implemented Interfaces:
EventSpy
,PluginValidationManager
@Singleton @Named public final class DefaultPluginValidationManager extends AbstractEventSpy implements PluginValidationManager
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
DefaultPluginValidationManager.PluginValidationIssues
private static class
DefaultPluginValidationManager.ValidationReportLevel
-
Nested classes/interfaces inherited from interface org.apache.maven.eventspy.EventSpy
EventSpy.Context
-
Nested classes/interfaces inherited from interface org.apache.maven.plugin.PluginValidationManager
PluginValidationManager.IssueLocality
-
-
Field Summary
Fields Modifier and Type Field Description private static DefaultPluginValidationManager.ValidationReportLevel
DEFAULT_VALIDATION_LEVEL
(package private) static java.util.Collection<java.lang.String>
EXPECTED_PROVIDED_SCOPE_EXCLUSIONS_GA
The collection of "G:A" combinations that do NOT belong to Maven Core, hence, should be excluded from "expected in provided scope" type of checks.private static java.util.Collection<DefaultPluginValidationManager.ValidationReportLevel>
INLINE_VALIDATION_LEVEL
private static java.lang.String
ISSUES_KEY
private org.slf4j.Logger
logger
private static java.lang.String
MAVEN_PLUGIN_VALIDATION_EXCLUDES_KEY
private static java.lang.String
MAVEN_PLUGIN_VALIDATION_KEY
private static java.lang.String
PLUGIN_EXCLUDES_KEY
-
Constructor Summary
Constructors Constructor Description DefaultPluginValidationManager()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private boolean
hasAnythingToReport(java.util.Map<java.lang.String,DefaultPluginValidationManager.PluginValidationIssues> issuesMap, java.util.EnumSet<PluginValidationManager.IssueLocality> issueLocalitiesToReport)
private boolean
hasAnythingToReport(DefaultPluginValidationManager.PluginValidationIssues issues, java.util.EnumSet<PluginValidationManager.IssueLocality> issueLocalitiesToReport)
private void
mayReportInline(org.eclipse.aether.RepositorySystemSession session, PluginValidationManager.IssueLocality locality, java.lang.String issue)
private java.lang.String
mojoInfo(MojoDescriptor mojoDescriptor, java.lang.Class<?> mojoClass)
void
onEvent(java.lang.Object event)
Notifies the spy of some build event/operation.private java.util.List<java.lang.String>
parsePluginExcludes(org.eclipse.aether.RepositorySystemSession session)
private DefaultPluginValidationManager.ValidationReportLevel
parseValidationReportLevel(org.eclipse.aether.RepositorySystemSession session)
private java.lang.String
pluginDeclaration(MavenSession mavenSession, MojoDescriptor mojoDescriptor)
private java.util.concurrent.ConcurrentHashMap<java.lang.String,DefaultPluginValidationManager.PluginValidationIssues>
pluginIssues(org.eclipse.aether.RepositorySystemSession session)
private java.lang.String
pluginKey(java.lang.String groupId, java.lang.String artifactId, java.lang.String version)
private java.lang.String
pluginKey(MojoDescriptor mojoDescriptor)
private java.lang.String
pluginKey(org.eclipse.aether.artifact.Artifact pluginArtifact)
void
reportPluginMojoValidationIssue(PluginValidationManager.IssueLocality locality, MavenSession mavenSession, MojoDescriptor mojoDescriptor, java.lang.Class<?> mojoClass, java.lang.String issue)
Reports plugin Mojo issues applicable to the Mojo itself.void
reportPluginValidationIssue(PluginValidationManager.IssueLocality locality, MavenSession mavenSession, MojoDescriptor mojoDescriptor, java.lang.String issue)
Reports plugin issues applicable to the plugin as a whole.void
reportPluginValidationIssue(PluginValidationManager.IssueLocality locality, org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.artifact.Artifact pluginArtifact, java.lang.String issue)
Reports plugin issues applicable to the plugin as a whole.private void
reportSessionCollectedValidationIssues(MavenSession mavenSession)
private java.util.List<?>
validationPluginExcludes(org.eclipse.aether.RepositorySystemSession session)
private DefaultPluginValidationManager.ValidationReportLevel
validationReportLevel(org.eclipse.aether.RepositorySystemSession session)
-
Methods inherited from class org.apache.maven.eventspy.AbstractEventSpy
close, init
-
-
-
-
Field Detail
-
EXPECTED_PROVIDED_SCOPE_EXCLUSIONS_GA
static final java.util.Collection<java.lang.String> EXPECTED_PROVIDED_SCOPE_EXCLUSIONS_GA
The collection of "G:A" combinations that do NOT belong to Maven Core, hence, should be excluded from "expected in provided scope" type of checks.
-
ISSUES_KEY
private static final java.lang.String ISSUES_KEY
-
PLUGIN_EXCLUDES_KEY
private static final java.lang.String PLUGIN_EXCLUDES_KEY
-
MAVEN_PLUGIN_VALIDATION_KEY
private static final java.lang.String MAVEN_PLUGIN_VALIDATION_KEY
- See Also:
- Constant Field Values
-
MAVEN_PLUGIN_VALIDATION_EXCLUDES_KEY
private static final java.lang.String MAVEN_PLUGIN_VALIDATION_EXCLUDES_KEY
- See Also:
- Constant Field Values
-
DEFAULT_VALIDATION_LEVEL
private static final DefaultPluginValidationManager.ValidationReportLevel DEFAULT_VALIDATION_LEVEL
-
INLINE_VALIDATION_LEVEL
private static final java.util.Collection<DefaultPluginValidationManager.ValidationReportLevel> INLINE_VALIDATION_LEVEL
-
logger
private final org.slf4j.Logger logger
-
-
Method Detail
-
onEvent
public void onEvent(java.lang.Object event)
Description copied from interface:EventSpy
Notifies the spy of some build event/operation.- Specified by:
onEvent
in interfaceEventSpy
- Overrides:
onEvent
in classAbstractEventSpy
- Parameters:
event
- The event, nevernull
.- See Also:
SettingsBuildingRequest
,SettingsBuildingResult
,MavenExecutionRequest
,MavenExecutionResult
,DependencyResolutionRequest
,DependencyResolutionResult
,ExecutionEvent
,RepositoryEvent
-
validationPluginExcludes
private java.util.List<?> validationPluginExcludes(org.eclipse.aether.RepositorySystemSession session)
-
parsePluginExcludes
private java.util.List<java.lang.String> parsePluginExcludes(org.eclipse.aether.RepositorySystemSession session)
-
validationReportLevel
private DefaultPluginValidationManager.ValidationReportLevel validationReportLevel(org.eclipse.aether.RepositorySystemSession session)
-
parseValidationReportLevel
private DefaultPluginValidationManager.ValidationReportLevel parseValidationReportLevel(org.eclipse.aether.RepositorySystemSession session)
-
pluginKey
private java.lang.String pluginKey(java.lang.String groupId, java.lang.String artifactId, java.lang.String version)
-
pluginKey
private java.lang.String pluginKey(MojoDescriptor mojoDescriptor)
-
pluginKey
private java.lang.String pluginKey(org.eclipse.aether.artifact.Artifact pluginArtifact)
-
mayReportInline
private void mayReportInline(org.eclipse.aether.RepositorySystemSession session, PluginValidationManager.IssueLocality locality, java.lang.String issue)
-
reportPluginValidationIssue
public void reportPluginValidationIssue(PluginValidationManager.IssueLocality locality, org.eclipse.aether.RepositorySystemSession session, org.eclipse.aether.artifact.Artifact pluginArtifact, java.lang.String issue)
Description copied from interface:PluginValidationManager
Reports plugin issues applicable to the plugin as a whole.This method should be used in "early" phase of plugin execution, possibly even when plugin or mojo descriptor does not exist yet. In turn, this method will not record extra information like plugin occurrence or declaration location as those are not yet available.
- Specified by:
reportPluginValidationIssue
in interfacePluginValidationManager
-
reportPluginValidationIssue
public void reportPluginValidationIssue(PluginValidationManager.IssueLocality locality, MavenSession mavenSession, MojoDescriptor mojoDescriptor, java.lang.String issue)
Description copied from interface:PluginValidationManager
Reports plugin issues applicable to the plugin as a whole.This method will record extra information as well, like plugin occurrence or declaration location.
- Specified by:
reportPluginValidationIssue
in interfacePluginValidationManager
-
reportPluginMojoValidationIssue
public void reportPluginMojoValidationIssue(PluginValidationManager.IssueLocality locality, MavenSession mavenSession, MojoDescriptor mojoDescriptor, java.lang.Class<?> mojoClass, java.lang.String issue)
Description copied from interface:PluginValidationManager
Reports plugin Mojo issues applicable to the Mojo itself.This method will record extra information as well, like plugin occurrence or declaration location.
- Specified by:
reportPluginMojoValidationIssue
in interfacePluginValidationManager
-
reportSessionCollectedValidationIssues
private void reportSessionCollectedValidationIssues(MavenSession mavenSession)
-
hasAnythingToReport
private boolean hasAnythingToReport(java.util.Map<java.lang.String,DefaultPluginValidationManager.PluginValidationIssues> issuesMap, java.util.EnumSet<PluginValidationManager.IssueLocality> issueLocalitiesToReport)
-
hasAnythingToReport
private boolean hasAnythingToReport(DefaultPluginValidationManager.PluginValidationIssues issues, java.util.EnumSet<PluginValidationManager.IssueLocality> issueLocalitiesToReport)
-
pluginDeclaration
private java.lang.String pluginDeclaration(MavenSession mavenSession, MojoDescriptor mojoDescriptor)
-
mojoInfo
private java.lang.String mojoInfo(MojoDescriptor mojoDescriptor, java.lang.Class<?> mojoClass)
-
pluginIssues
private java.util.concurrent.ConcurrentHashMap<java.lang.String,DefaultPluginValidationManager.PluginValidationIssues> pluginIssues(org.eclipse.aether.RepositorySystemSession session)
-
-