Gradle: Define japicmp settings only once, but still fails due to removed classes in 4.0.0

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1835185 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Dominik Stadler 2018-07-05 19:55:12 +00:00
parent 8e9ccfaacd
commit 0c3e972a71
2 changed files with 20 additions and 40 deletions

View File

@ -152,6 +152,17 @@ subprojects {
} }
} }
} }
// japicmp will fail with "Could not load" because we moved some classes out of the root-package
// for Java 9 compatibility in 4.0.0
task(japicmp, type: me.champeau.gradle.ArtifactJapicmpTask, dependsOn: jar) {
to = jar.archivePath
onlyModified = true
onlyBinaryIncompatibleModified = true
failOnModification = false
txtOutputFile = file("$buildDir/reports/japi.txt")
htmlOutputFile = file("$buildDir/reports/japi.html")
}
} }
project('main') { project('main') {
@ -189,16 +200,7 @@ project('main') {
tests testJar tests testJar
} }
// TOOD: we should not duplicate this task in each project, but I did not figure out how to inject the artifactId for each project japicmp.baseline = 'org.apache.poi:poi:' + japicmpversion + '@jar'
task japicmp(type: me.champeau.gradle.ArtifactJapicmpTask, dependsOn: jar) {
baseline = 'org.apache.poi:poi:' + japicmpversion + '@jar'
to = jar.archivePath
onlyModified = true
onlyBinaryIncompatibleModified = true
failOnModification = false
txtOutputFile = file("$buildDir/reports/japi.txt")
htmlOutputFile = file("$buildDir/reports/japi.html")
}
} }
project('ooxml') { project('ooxml') {
@ -244,16 +246,7 @@ project('ooxml') {
} }
} }
// TODO: we should not duplicate this task in each project, but I did not figure out how to inject the artifactId for each project japicmp.baseline = 'org.apache.poi:poi-ooxml:' + japicmpversion + '@jar'
task japicmp(type: me.champeau.gradle.ArtifactJapicmpTask, dependsOn: jar) {
baseline = 'org.apache.poi:poi-ooxml:' + japicmpversion + '@jar'
to = jar.archivePath
onlyModified = true
onlyBinaryIncompatibleModified = true
failOnModification = false
txtOutputFile = file("$buildDir/reports/japi.txt")
htmlOutputFile = file("$buildDir/reports/japi.html")
}
} }
project('examples') { project('examples') {
@ -263,6 +256,8 @@ project('examples') {
compile project(':main') compile project(':main')
compile project(':ooxml') compile project(':ooxml')
} }
japicmp.enabled = false
} }
@ -286,16 +281,7 @@ project('excelant') {
} }
} }
// TOOD: we should not duplicate this task in each project, but I did not figure out how to inject the artifactId for each project japicmp.baseline = 'org.apache.poi:poi-excelant:' + japicmpversion + '@jar'
task japicmp(type: me.champeau.gradle.ArtifactJapicmpTask, dependsOn: jar) {
baseline = 'org.apache.poi:poi-excelant:' + japicmpversion + '@jar'
to = jar.archivePath
onlyModified = true
onlyBinaryIncompatibleModified = true
failOnModification = false
txtOutputFile = file("$buildDir/reports/japi.txt")
htmlOutputFile = file("$buildDir/reports/japi.html")
}
} }
project('integrationtest') { project('integrationtest') {
@ -330,6 +316,8 @@ project('integrationtest') {
exclude '**/*FileHandler.class' exclude '**/*FileHandler.class'
exclude '**/RecordStresser.class' exclude '**/RecordStresser.class'
} }
japicmp.enabled = false
} }
project('scratchpad') { project('scratchpad') {
@ -351,14 +339,5 @@ project('scratchpad') {
} }
} }
// TOOD: we should not duplicate this task in each project, but I did not figure out how to inject the artifactId for each project japicmp.baseline = 'org.apache.poi:poi-scratchpad:' + japicmpversion + '@jar'
task japicmp(type: me.champeau.gradle.ArtifactJapicmpTask, dependsOn: jar) {
baseline = 'org.apache.poi:poi-scratchpad:' + japicmpversion + '@jar'
to = jar.archivePath
onlyModified = true
onlyBinaryIncompatibleModified = true
failOnModification = false
txtOutputFile = file("$buildDir/reports/japi.txt")
htmlOutputFile = file("$buildDir/reports/japi.html")
}
} }

View File

@ -64,6 +64,7 @@ def poijobs = [
], ],
[ name: 'POI-DSL-regenerate-javadoc', trigger: triggerSundays, javadoc: true [ name: 'POI-DSL-regenerate-javadoc', trigger: triggerSundays, javadoc: true
], ],
// disabled for 4.0.0 because we break compatibility on-purpose in a few places, e.g. for Java 9 compatibility
[ name: 'POI-DSL-API-Check', trigger: '@daily', apicheck: true, disabled: true [ name: 'POI-DSL-API-Check', trigger: '@daily', apicheck: true, disabled: true
], ],
[ name: 'POI-DSL-Gradle', trigger: triggerSundays, email: 'centic@apache.org', gradle: true, [ name: 'POI-DSL-Gradle', trigger: triggerSundays, email: 'centic@apache.org', gradle: true,