Fix API Diff Gradle task

Prior to this change, the Gradle API Diff task was failing due to a
missing class (a Guava class) during processing. This might be a
dependency that was previously brought by some other dependency.

This commit adds that dependency as a workaround, and improves the
Gradle API Diff task to only select relevant projects when running the
task (projects using the Java Plugin and the Maven Publish Plugin).
This commit is contained in:
Brian Clozel 2019-09-23 17:13:49 +02:00
parent 716f928e79
commit 72be38cf2c
2 changed files with 3 additions and 3 deletions

View File

@ -9,7 +9,7 @@ repositories {
dependencies { dependencies {
implementation "me.champeau.gradle:japicmp-gradle-plugin:0.2.8" implementation "me.champeau.gradle:japicmp-gradle-plugin:0.2.8"
implementation "com.google.guava:guava:18.0" // required by japicmp-gradle-plugin
} }
gradlePlugin { gradlePlugin {

View File

@ -29,6 +29,7 @@ import org.gradle.api.artifacts.Configuration;
import org.gradle.api.artifacts.Dependency; import org.gradle.api.artifacts.Dependency;
import org.gradle.api.plugins.JavaBasePlugin; import org.gradle.api.plugins.JavaBasePlugin;
import org.gradle.api.plugins.JavaPlugin; import org.gradle.api.plugins.JavaPlugin;
import org.gradle.api.publish.maven.plugins.MavenPublishPlugin;
import org.gradle.api.tasks.TaskProvider; import org.gradle.api.tasks.TaskProvider;
import org.gradle.jvm.tasks.Jar; import org.gradle.jvm.tasks.Jar;
@ -90,8 +91,7 @@ public class ApiDiffPlugin implements Plugin<Project> {
private boolean isProjectEligible(Project project) { private boolean isProjectEligible(Project project) {
return project.getPlugins().hasPlugin(JavaPlugin.class) return project.getPlugins().hasPlugin(JavaPlugin.class)
&& !project.getName().equals("spring-core-coroutines") && project.getPlugins().hasPlugin(MavenPublishPlugin.class);
&& !project.getName().equals("spring-framework-bom");
} }
private Configuration createBaselineConfiguration(String baselineVersion, Project project) { private Configuration createBaselineConfiguration(String baselineVersion, Project project) {