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.ArtifactFactoryprivate List<org.apache.maven.artifact.repository.ArtifactRepository> private booleanprivate booleanprivate booleanprivate booleanprivate booleanprivate List<Dependency> private org.apache.maven.artifact.repository.ArtifactRepositoryprivate org.apache.maven.project.MavenProjectprivate org.apache.maven.artifact.metadata.ArtifactMetadataSourceprivate org.apache.maven.plugin.MojoExecutionprivate List<Dependency> private Versionprivate List<DependencyDescriptor> private List<Dependency> private Versionprivate List<DependencyDescriptor> private Optionsprivate Parameterprivate Fileprivate List<org.eclipse.aether.repository.RemoteRepository> private org.eclipse.aether.RepositorySystemSessionprivate org.eclipse.aether.RepositorySystemprivate booleanprivate booleanprivate booleanprivate StringFields inherited from interface org.apache.maven.plugin.Mojo
ROLE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate booleanbreakBuildBasedOnSemanticVersioning(Parameter parameter) private booleanbreakBuildBasedOnSemanticVersioningForMajorVersionZero(Parameter parameterParam) (package private) voidbreakBuildIfNecessary(List<JApiClass> jApiClasses, Parameter parameterParam, Options options, JarArchiveComparator jarArchiveComparator) private booleanbreakBuildOnBinaryIncompatibleModifications(Parameter parameterParam) private booleanbreakBuildOnModificationsParameter(Parameter parameterParam) private booleanprivate StringcreateFilename(MavenParameters mavenParameters) private FilecreateJapiCmpBaseDir(PluginParameters pluginParameters) voidexecute()executeWithParameters(PluginParameters pluginParameters, MavenParameters mavenParameters) private voidfilterSnapshots(List<org.eclipse.aether.version.Version> versions) private voidfilterVersionPattern(List<org.eclipse.aether.version.Version> availableVersions, PluginParameters pluginParameters) private voidgenerateDiffOutput(MavenParameters mavenParameters, PluginParameters pluginParameters, Options options, List<JApiClass> jApiClasses, File jApiCmpBuildDir) private XmlOutputgenerateXmlOutput(List<JApiClass> jApiClasses, File jApiCmpBuildDir, Options options, MavenParameters mavenParameters, PluginParameters pluginParameters) private org.eclipse.aether.artifact.ArtifactgetComparisonArtifact(MavenParameters mavenParameters, PluginParameters pluginParameters, JApiCmpMojo.ConfigurationVersion configurationVersion) (package private) OptionsgetOptions(PluginParameters pluginParameters, MavenParameters mavenParameters) private StringguessVersion(File file) private voidhandleMissingArtifactFile(PluginParameters pluginParameters, org.eclipse.aether.artifact.Artifact artifact) private booleanignoreMissingArtifact(PluginParameters pluginParameters, JApiCmpMojo.ConfigurationVersion configurationVersion) private booleanignoreMissingNewVersion(PluginParameters pluginParameters) private booleanignoreMissingNewVersion(PluginParameters pluginParameters, JApiCmpMojo.ConfigurationVersion configurationVersion) private booleanignoreMissingOldVersion(PluginParameters pluginParameters) private booleanignoreMissingOldVersion(PluginParameters pluginParameters, JApiCmpMojo.ConfigurationVersion configurationVersion) private booleanignoreNonResolvableArtifacts(PluginParameters pluginParameters) private booleanisPomModuleNeedingSkip(PluginParameters pluginParameters, MavenParameters mavenParameters) private StringmapPackaging(String packaging, boolean condition, String mappedPackaging) private static <T> Tprivate voidpopulateArchivesListsFromParameters(PluginParameters pluginParameters, MavenParameters mavenParameters, List<JApiCmpArchive> oldArchives, List<JApiCmpArchive> newArchives) private voidprocessArtifacResult(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 voidsetUpClassPath(JarArchiveComparatorOptions comparatorOptions, PluginParameters pluginParameters, MavenParameters mavenParameters) private voidsetUpClassPathUsingMavenProject(JarArchiveComparatorOptions comparatorOptions, MavenParameters mavenParameters, PluginParameters pluginParameters, JApiCmpMojo.ConfigurationVersion configurationVersion) private voidsetUpOverrideCompatibilityChanges(JarArchiveComparatorOptions comparatorOptions, PluginParameters pluginParameters) private booleanskipHtmlReport(PluginParameters pluginParameters) private booleanskipModule(PluginParameters pluginParameters, MavenParameters mavenParameters) private booleanskipXmlReport(PluginParameters pluginParameters) private StringtoDescriptor(org.eclipse.aether.artifact.Artifact artifact) private voidwriteToFile(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.MojoExecutionExceptionorg.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.MojoFailureExceptionorg.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.MojoFailureExceptionorg.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.MojoFailureExceptionorg.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:
IOExceptionorg.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.MojoFailureExceptionIOException
-
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
-