From 0c3e972a71b58af8b6eead783673cebf62e0c2b3 Mon Sep 17 00:00:00 2001 From: Dominik Stadler Date: Thu, 5 Jul 2018 19:55:12 +0000 Subject: [PATCH] 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 --- build.gradle | 59 ++++++++++++-------------------------- jenkins/create_jobs.groovy | 1 + 2 files changed, 20 insertions(+), 40 deletions(-) diff --git a/build.gradle b/build.gradle index 859999411..1be266433 100644 --- a/build.gradle +++ b/build.gradle @@ -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') { @@ -189,16 +200,7 @@ project('main') { 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 - 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") - } + japicmp.baseline = 'org.apache.poi:poi:' + japicmpversion + '@jar' } 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 - 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") - } + japicmp.baseline = 'org.apache.poi:poi-ooxml:' + japicmpversion + '@jar' } project('examples') { @@ -263,6 +256,8 @@ project('examples') { compile project(':main') 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 - 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") - } + japicmp.baseline = 'org.apache.poi:poi-excelant:' + japicmpversion + '@jar' } project('integrationtest') { @@ -330,6 +316,8 @@ project('integrationtest') { exclude '**/*FileHandler.class' exclude '**/RecordStresser.class' } + + japicmp.enabled = false } 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 - 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") - } + japicmp.baseline = 'org.apache.poi:poi-scratchpad:' + japicmpversion + '@jar' } diff --git a/jenkins/create_jobs.groovy b/jenkins/create_jobs.groovy index b22ad2f65..5dabe79d5 100644 --- a/jenkins/create_jobs.groovy +++ b/jenkins/create_jobs.groovy @@ -64,6 +64,7 @@ def poijobs = [ ], [ 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-Gradle', trigger: triggerSundays, email: 'centic@apache.org', gradle: true,