diff --git a/build.gradle b/build.gradle index 0fd69f2e0..78cb47e0e 100644 --- a/build.gradle +++ b/build.gradle @@ -7,6 +7,7 @@ buildscript { } dependencies { classpath 'org.kordamp:markdown-gradle-plugin:0.1.1' + classpath 'org.kordamp.gradle:clirr-gradle-plugin:0.1.0' } } apply plugin: 'org.kordamp.gradle.markdown' @@ -95,7 +96,6 @@ allprojects { options.addStringOption('Xdoclint:none', '-quiet') } } - } gradle.taskGraph.whenReady { taskGraph -> @@ -181,6 +181,7 @@ subprojects { apply plugin: 'osgi' apply plugin: 'signing' apply plugin: 'checkstyle' + apply plugin: 'org.kordamp.gradle.clirr' checkstyle { configFile = new File(rootConfigDir, 'checkstyle.xml') @@ -280,6 +281,11 @@ subprojects { required { signingRequired } sign configurations.archives } + + clirr { + baseline = [group, name, clirrBaseline].join(':') + failOnErrors clirrFailOnErrors + } } subprojects*.jar { @@ -288,6 +294,12 @@ subprojects*.jar { } } +// Important to specify this task after the subprojects block +task clirrRootReport(type: org.kordamp.gradle.clirr.ClirrReportTask) { + dependsOn = subprojects.tasks.clirr + reports = files(subprojects.tasks.clirr.xmlReport) +} + def getGitCommit() { def dotGit = new File("$projectDir/.git") if (!dotGit.isDirectory()) return 'non-git build' diff --git a/version.gradle b/version.gradle index c6e700712..444bcf108 100644 --- a/version.gradle +++ b/version.gradle @@ -4,5 +4,10 @@ allprojects { isSnapshot = true jxmppVersion = '0.4.2-beta1' smackMinAndroidSdk = 8 + + // The baseline version to check the API's binary + // compatibility against with Clirr. + clirrBaseline = '4.1.0-rc2' + clirrFailOnErrors = false } }