Package japicmp.maven
Class JApiCmpMojo
java.lang.Object
org.apache.maven.plugin.AbstractMojo
japicmp.maven.JApiCmpMojo
- All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled
,org.apache.maven.plugin.Mojo
@Mojo(name="cmp",
requiresDependencyResolution=COMPILE,
defaultPhase=VERIFY,
threadSafe=true)
public class JApiCmpMojo
extends org.apache.maven.plugin.AbstractMojo
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate org.apache.maven.artifact.factory.ArtifactFactory
private List
<org.apache.maven.artifact.repository.ArtifactRepository> private boolean
private boolean
private boolean
private boolean
private boolean
private List
<Dependency> private org.apache.maven.artifact.repository.ArtifactRepository
private org.apache.maven.project.MavenProject
private org.apache.maven.artifact.metadata.ArtifactMetadataSource
private org.apache.maven.plugin.MojoExecution
private List
<Dependency> private Version
private List
<DependencyDescriptor> private List
<Dependency> private Version
private List
<DependencyDescriptor> private Options
private Parameter
private File
private List
<org.eclipse.aether.repository.RemoteRepository> private org.eclipse.aether.RepositorySystemSession
private org.eclipse.aether.RepositorySystem
private boolean
private boolean
private boolean
private String
Fields inherited from interface org.apache.maven.plugin.Mojo
ROLE
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate boolean
breakBuildBasedOnSemanticVersioning
(Parameter parameter) private boolean
breakBuildBasedOnSemanticVersioningForMajorVersionZero
(Parameter parameterParam) (package private) void
breakBuildIfNecessary
(List<JApiClass> jApiClasses, Parameter parameterParam, Options options, JarArchiveComparator jarArchiveComparator) private boolean
breakBuildOnBinaryIncompatibleModifications
(Parameter parameterParam) private boolean
breakBuildOnModificationsParameter
(Parameter parameterParam) private boolean
private String
createFilename
(MavenParameters mavenParameters) private File
createJapiCmpBaseDir
(PluginParameters pluginParameters) void
execute()
executeWithParameters
(PluginParameters pluginParameters, MavenParameters mavenParameters) private void
filterSnapshots
(List<org.eclipse.aether.version.Version> versions) private void
filterVersionPattern
(List<org.eclipse.aether.version.Version> availableVersions, PluginParameters pluginParameters) private void
generateDiffOutput
(MavenParameters mavenParameters, PluginParameters pluginParameters, Options options, List<JApiClass> jApiClasses, File jApiCmpBuildDir) private XmlOutput
generateXmlOutput
(List<JApiClass> jApiClasses, File jApiCmpBuildDir, Options options, MavenParameters mavenParameters, PluginParameters pluginParameters) private org.eclipse.aether.artifact.Artifact
getComparisonArtifact
(MavenParameters mavenParameters, PluginParameters pluginParameters, JApiCmpMojo.ConfigurationVersion configurationVersion) (package private) Options
getOptions
(PluginParameters pluginParameters, MavenParameters mavenParameters) private String
guessVersion
(File file) private void
handleMissingArtifactFile
(PluginParameters pluginParameters, org.eclipse.aether.artifact.Artifact artifact) private boolean
ignoreMissingArtifact
(PluginParameters pluginParameters, JApiCmpMojo.ConfigurationVersion configurationVersion) private boolean
ignoreMissingNewVersion
(PluginParameters pluginParameters) private boolean
ignoreMissingNewVersion
(PluginParameters pluginParameters, JApiCmpMojo.ConfigurationVersion configurationVersion) private boolean
ignoreMissingOldVersion
(PluginParameters pluginParameters) private boolean
ignoreMissingOldVersion
(PluginParameters pluginParameters, JApiCmpMojo.ConfigurationVersion configurationVersion) private boolean
ignoreNonResolvableArtifacts
(PluginParameters pluginParameters) private boolean
isPomModuleNeedingSkip
(PluginParameters pluginParameters, MavenParameters mavenParameters) private String
mapPackaging
(String packaging, boolean condition, String mappedPackaging) private static <T> T
private void
populateArchivesListsFromParameters
(PluginParameters pluginParameters, MavenParameters mavenParameters, List<JApiCmpArchive> oldArchives, List<JApiCmpArchive> newArchives) private void
processArtifacResult
(org.eclipse.aether.artifact.DefaultArtifact artifactVersion, org.eclipse.aether.resolution.ArtifactResult artifactResult, PluginParameters pluginParameters, JApiCmpMojo.ConfigurationVersion configurationVersion) private Set
<org.eclipse.aether.artifact.Artifact> resolveArtifact
(Dependency dependency, MavenParameters mavenParameters, boolean transitively, PluginParameters pluginParameters, JApiCmpMojo.ConfigurationVersion configurationVersion) private Set
<org.eclipse.aether.artifact.Artifact> resolveArtifact
(org.eclipse.aether.artifact.Artifact artifact, MavenParameters mavenParameters, PluginParameters pluginParameters, JApiCmpMojo.ConfigurationVersion configurationVersion) private List
<JApiCmpArchive> resolveConfigurationFileToFile
(String parameterName, ConfigurationFile configurationFile, JApiCmpMojo.ConfigurationVersion configurationVersion, PluginParameters pluginParameters) private List
<JApiCmpArchive> resolveDependencyToFile
(String parameterName, Dependency dependency, MavenParameters mavenParameters, boolean transitively, PluginParameters pluginParameters, JApiCmpMojo.ConfigurationVersion configurationVersion) private List
<JApiCmpArchive> retrieveFileFromConfiguration
(DependencyDescriptor dependencyDescriptor, String parameterName, MavenParameters mavenParameters, PluginParameters pluginParameters, JApiCmpMojo.ConfigurationVersion configurationVersion) private List
<JApiCmpArchive> retrieveFileFromConfiguration
(Version version, String parameterName, MavenParameters mavenParameters, PluginParameters pluginParameters, JApiCmpMojo.ConfigurationVersion configurationVersion) private void
setUpClassPath
(JarArchiveComparatorOptions comparatorOptions, PluginParameters pluginParameters, MavenParameters mavenParameters) private void
setUpClassPathUsingMavenProject
(JarArchiveComparatorOptions comparatorOptions, MavenParameters mavenParameters, PluginParameters pluginParameters, JApiCmpMojo.ConfigurationVersion configurationVersion) private void
setUpOverrideCompatibilityChanges
(JarArchiveComparatorOptions comparatorOptions, PluginParameters pluginParameters) private boolean
skipHtmlReport
(PluginParameters pluginParameters) private boolean
skipModule
(PluginParameters pluginParameters, MavenParameters mavenParameters) private boolean
skipXmlReport
(PluginParameters pluginParameters) private String
toDescriptor
(org.eclipse.aether.artifact.Artifact artifact) private void
writeToFile
(String output, File outputfile) Methods inherited from class org.apache.maven.plugin.AbstractMojo
getLog, getPluginContext, setLog, setPluginContext
-
Field Details
-
oldVersion
-
oldVersions
-
newVersion
-
newVersions
-
parameter
-
dependencies
-
oldClassPathDependencies
-
newClassPathDependencies
-
skip
@Parameter(property="japicmp.skip", required=false) private boolean skip -
skipXmlReport
@Parameter(property="japicmp.skipXmlReport", required=false) private boolean skipXmlReport -
skipHtmlReport
@Parameter(property="japicmp.skipHtmlReport", required=false) private boolean skipHtmlReport -
breakBuildOnModifications
@Parameter(property="japicmp.breakBuildOnModifications", required=false) private boolean breakBuildOnModifications -
breakBuildOnBinaryIncompatibleModifications
@Parameter(property="japicmp.breakBuildOnBinaryIncompatibleModifications", required=false) private boolean breakBuildOnBinaryIncompatibleModifications -
breakBuildOnSourceIncompatibleModifications
@Parameter(property="japicmp.breakBuildOnSourceIncompatibleModifications", required=false) private boolean breakBuildOnSourceIncompatibleModifications -
breakBuildBasedOnSemanticVersioning
@Parameter(property="japicmp.breakBuildBasedOnSemanticVersioning", required=false) private boolean breakBuildBasedOnSemanticVersioning -
breakBuildBasedOnSemanticVersioningForMajorVersionZero
@Parameter(property="japicmp.breakBuildBasedOnSemanticVersioningForMajorVersionZero", required=false) private boolean breakBuildBasedOnSemanticVersioningForMajorVersionZero -
projectBuildDir
-
artifactFactory
@Component private org.apache.maven.artifact.factory.ArtifactFactory artifactFactory -
repoSystem
@Component private org.eclipse.aether.RepositorySystem repoSystem -
repoSession
@Parameter(defaultValue="${repositorySystemSession}", readonly=true) private org.eclipse.aether.RepositorySystemSession repoSession -
remoteRepos
@Parameter(defaultValue="${project.remoteProjectRepositories}", readonly=true) private List<org.eclipse.aether.repository.RemoteRepository> remoteRepos -
localRepository
@Parameter(defaultValue="${localRepository}") private org.apache.maven.artifact.repository.ArtifactRepository localRepository -
artifactRepositories
@Parameter(defaultValue="${project.remoteArtifactRepositories}") private List<org.apache.maven.artifact.repository.ArtifactRepository> artifactRepositories -
mavenProject
@Parameter(defaultValue="${project}") private org.apache.maven.project.MavenProject mavenProject -
mojoExecution
@Parameter(defaultValue="${mojoExecution}", readonly=true) private org.apache.maven.plugin.MojoExecution mojoExecution -
versionRangeWithProjectVersion
@Parameter(defaultValue="(,${project.version})", readonly=true) private String versionRangeWithProjectVersion -
metadataSource
@Component private org.apache.maven.artifact.metadata.ArtifactMetadataSource metadataSource -
options
-
-
Constructor Details
-
JApiCmpMojo
public JApiCmpMojo()
-
-
Method Details
-
execute
public void execute() throws org.apache.maven.plugin.MojoExecutionException, org.apache.maven.plugin.MojoFailureException- Throws:
org.apache.maven.plugin.MojoExecutionException
org.apache.maven.plugin.MojoFailureException
-
executeWithParameters
Optional<XmlOutput> executeWithParameters(PluginParameters pluginParameters, MavenParameters mavenParameters) throws org.apache.maven.plugin.MojoFailureException, org.apache.maven.plugin.MojoExecutionException - Throws:
org.apache.maven.plugin.MojoFailureException
org.apache.maven.plugin.MojoExecutionException
-
setUpOverrideCompatibilityChanges
private void setUpOverrideCompatibilityChanges(JarArchiveComparatorOptions comparatorOptions, PluginParameters pluginParameters) throws org.apache.maven.plugin.MojoFailureException - Throws:
org.apache.maven.plugin.MojoFailureException
-
skipModule
-
getComparisonArtifact
private org.eclipse.aether.artifact.Artifact getComparisonArtifact(MavenParameters mavenParameters, PluginParameters pluginParameters, JApiCmpMojo.ConfigurationVersion configurationVersion) throws org.apache.maven.plugin.MojoFailureException, org.apache.maven.plugin.MojoExecutionException - Throws:
org.apache.maven.plugin.MojoFailureException
org.apache.maven.plugin.MojoExecutionException
-
processArtifacResult
private void processArtifacResult(org.eclipse.aether.artifact.DefaultArtifact artifactVersion, org.eclipse.aether.resolution.ArtifactResult artifactResult, PluginParameters pluginParameters, JApiCmpMojo.ConfigurationVersion configurationVersion) throws org.apache.maven.plugin.MojoFailureException - Throws:
org.apache.maven.plugin.MojoFailureException
-
filterVersionPattern
private void filterVersionPattern(List<org.eclipse.aether.version.Version> availableVersions, PluginParameters pluginParameters) throws org.apache.maven.plugin.MojoFailureException - Throws:
org.apache.maven.plugin.MojoFailureException
-
filterSnapshots
-
populateArchivesListsFromParameters
private void populateArchivesListsFromParameters(PluginParameters pluginParameters, MavenParameters mavenParameters, List<JApiCmpArchive> oldArchives, List<JApiCmpArchive> newArchives) throws org.apache.maven.plugin.MojoFailureException - Throws:
org.apache.maven.plugin.MojoFailureException
-
breakBuildIfNecessary
void breakBuildIfNecessary(List<JApiClass> jApiClasses, Parameter parameterParam, Options options, JarArchiveComparator jarArchiveComparator) throws org.apache.maven.plugin.MojoFailureException, org.apache.maven.plugin.MojoExecutionException - Throws:
org.apache.maven.plugin.MojoFailureException
org.apache.maven.plugin.MojoExecutionException
-
breakBuildBasedOnSemanticVersioningForMajorVersionZero
-
getOptions
Options getOptions(PluginParameters pluginParameters, MavenParameters mavenParameters) throws org.apache.maven.plugin.MojoFailureException - Throws:
org.apache.maven.plugin.MojoFailureException
-
breakBuildOnModificationsParameter
-
breakBuildOnBinaryIncompatibleModifications
-
breakBuildOnSourceIncompatibleModifications
-
breakBuildBasedOnSemanticVersioning
-
createJapiCmpBaseDir
private File createJapiCmpBaseDir(PluginParameters pluginParameters) throws org.apache.maven.plugin.MojoFailureException - Throws:
org.apache.maven.plugin.MojoFailureException
-
generateDiffOutput
private void generateDiffOutput(MavenParameters mavenParameters, PluginParameters pluginParameters, Options options, List<JApiClass> jApiClasses, File jApiCmpBuildDir) throws IOException, org.apache.maven.plugin.MojoFailureException - Throws:
IOException
org.apache.maven.plugin.MojoFailureException
-
generateXmlOutput
private XmlOutput generateXmlOutput(List<JApiClass> jApiClasses, File jApiCmpBuildDir, Options options, MavenParameters mavenParameters, PluginParameters pluginParameters) throws IOException - Throws:
IOException
-
skipHtmlReport
-
skipXmlReport
-
createFilename
-
setUpClassPath
private void setUpClassPath(JarArchiveComparatorOptions comparatorOptions, PluginParameters pluginParameters, MavenParameters mavenParameters) throws org.apache.maven.plugin.MojoFailureException - Throws:
org.apache.maven.plugin.MojoFailureException
-
setUpClassPathUsingMavenProject
private void setUpClassPathUsingMavenProject(JarArchiveComparatorOptions comparatorOptions, MavenParameters mavenParameters, PluginParameters pluginParameters, JApiCmpMojo.ConfigurationVersion configurationVersion) throws org.apache.maven.plugin.MojoFailureException - Throws:
org.apache.maven.plugin.MojoFailureException
-
mapPackaging
-
handleMissingArtifactFile
private void handleMissingArtifactFile(PluginParameters pluginParameters, org.eclipse.aether.artifact.Artifact artifact) -
toDescriptor
-
retrieveFileFromConfiguration
private List<JApiCmpArchive> retrieveFileFromConfiguration(DependencyDescriptor dependencyDescriptor, String parameterName, MavenParameters mavenParameters, PluginParameters pluginParameters, JApiCmpMojo.ConfigurationVersion configurationVersion) throws org.apache.maven.plugin.MojoFailureException - Throws:
org.apache.maven.plugin.MojoFailureException
-
retrieveFileFromConfiguration
private List<JApiCmpArchive> retrieveFileFromConfiguration(Version version, String parameterName, MavenParameters mavenParameters, PluginParameters pluginParameters, JApiCmpMojo.ConfigurationVersion configurationVersion) throws org.apache.maven.plugin.MojoFailureException - Throws:
org.apache.maven.plugin.MojoFailureException
-
resolveConfigurationFileToFile
private List<JApiCmpArchive> resolveConfigurationFileToFile(String parameterName, ConfigurationFile configurationFile, JApiCmpMojo.ConfigurationVersion configurationVersion, PluginParameters pluginParameters) throws org.apache.maven.plugin.MojoFailureException - Throws:
org.apache.maven.plugin.MojoFailureException
-
resolveDependencyToFile
private List<JApiCmpArchive> resolveDependencyToFile(String parameterName, Dependency dependency, MavenParameters mavenParameters, boolean transitively, PluginParameters pluginParameters, JApiCmpMojo.ConfigurationVersion configurationVersion) throws org.apache.maven.plugin.MojoFailureException - Throws:
org.apache.maven.plugin.MojoFailureException
-
guessVersion
-
ignoreMissingArtifact
private boolean ignoreMissingArtifact(PluginParameters pluginParameters, JApiCmpMojo.ConfigurationVersion configurationVersion) -
ignoreNonResolvableArtifacts
-
ignoreMissingOldVersion
private boolean ignoreMissingOldVersion(PluginParameters pluginParameters, JApiCmpMojo.ConfigurationVersion configurationVersion) -
ignoreMissingNewVersion
private boolean ignoreMissingNewVersion(PluginParameters pluginParameters, JApiCmpMojo.ConfigurationVersion configurationVersion) -
ignoreMissingOldVersion
-
ignoreMissingNewVersion
-
writeToFile
private void writeToFile(String output, File outputfile) throws org.apache.maven.plugin.MojoFailureException, IOException - Throws:
org.apache.maven.plugin.MojoFailureException
IOException
-
resolveArtifact
private Set<org.eclipse.aether.artifact.Artifact> resolveArtifact(Dependency dependency, MavenParameters mavenParameters, boolean transitively, PluginParameters pluginParameters, JApiCmpMojo.ConfigurationVersion configurationVersion) throws org.apache.maven.plugin.MojoFailureException - Throws:
org.apache.maven.plugin.MojoFailureException
-
resolveArtifact
private Set<org.eclipse.aether.artifact.Artifact> resolveArtifact(org.eclipse.aether.artifact.Artifact artifact, MavenParameters mavenParameters, PluginParameters pluginParameters, JApiCmpMojo.ConfigurationVersion configurationVersion) throws org.apache.maven.plugin.MojoFailureException - Throws:
org.apache.maven.plugin.MojoFailureException
-
isPomModuleNeedingSkip
private boolean isPomModuleNeedingSkip(PluginParameters pluginParameters, MavenParameters mavenParameters) -
notNull
private static <T> T notNull(T value, String msg) throws org.apache.maven.plugin.MojoFailureException - Throws:
org.apache.maven.plugin.MojoFailureException
-