Class BuildTimeReporter
java.lang.Object
org.revapi.maven.BuildTimeReporter
- All Implemented Interfaces:
AutoCloseable
,org.revapi.configuration.Configurable
,org.revapi.Reporter
Build-time reporter is a
Reporter
extension for Revapi that is used by the CheckMojo
to output the
found problems and also to provide the suggestions to the user how to ignore the problems if deemed ok.
Even though this is a normal Revapi extension, it doesn't use the normal configuration mechanisms provided by Revapi
(i.e. it doesn't define a configuration schema and doesn't accept any configuration from the configuration in the
analysis context during the initialize(AnalysisContext)
method). Instead, it is configured through the
AnalysisContext.getData(String)
. This is to make it easier to pass complex objects to the reporter and also
to amplify the fact that this is no "normal" extension but is tightly bound to the CheckMojo
and the Maven
build.
- Since:
- 0.1
- Author:
- Lukas Krejci
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionfinal class
The context that can be used by theBuildTimeReporter.SuggestionsBuilder
to get information about the differences and the configured output options.static interface
A suggestion builder is an object that theBuildTimeReporter
uses to render suggestions for ignoring the found problems. -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
boolean
void
initialize
(org.revapi.AnalysisContext context) void
report
(org.revapi.Report report)
-
Field Details
-
BREAKING_CRITICALITY_KEY
- See Also:
-
OUTPUT_NON_IDENTIFYING_ATTACHMENTS
- See Also:
-
SUGGESTIONS_BUILDER_KEY
- See Also:
-
-
Constructor Details
-
BuildTimeReporter
public BuildTimeReporter()
-
-
Method Details
-
hasBreakingProblems
public boolean hasBreakingProblems() -
getAllProblemsMessage
-
getIgnoreSuggestion
-
getExtensionId
-
getJSONSchema
-
initialize
- Specified by:
initialize
in interfaceorg.revapi.configuration.Configurable
-
report
- Specified by:
report
in interfaceorg.revapi.Reporter
-
close
- Specified by:
close
in interfaceAutoCloseable
- Throws:
IOException
-