1919package org.elasticsearch.gradle.precommit
2020
2121import com.github.jengelman.gradle.plugins.shadow.ShadowPlugin
22+ import de.thetaphi.forbiddenapis.gradle.CheckForbiddenApis
23+ import de.thetaphi.forbiddenapis.gradle.ForbiddenApisPlugin
2224import org.elasticsearch.gradle.ExportElasticsearchBuildResourcesTask
25+ import org.gradle.api.JavaVersion
2326import org.gradle.api.Project
2427import org.gradle.api.Task
2528import org.gradle.api.plugins.JavaBasePlugin
@@ -33,7 +36,7 @@ class PrecommitTasks {
3336 public static Task create (Project project , boolean includeDependencyLicenses ) {
3437 project. configurations. create(" forbiddenApisCliJar" )
3538 project. dependencies {
36- forbiddenApisCliJar (' de.thetaphi:forbiddenapis:2.5 ' )
39+ forbiddenApisCliJar (' de.thetaphi:forbiddenapis:2.6 ' )
3740 }
3841
3942 List<Task > precommitTasks = [
@@ -109,47 +112,43 @@ class PrecommitTasks {
109112 }
110113
111114 private static Task configureForbiddenApisCli (Project project ) {
112- Task forbiddenApisCli = project. tasks. create(' forbiddenApis' )
113- project. sourceSets. all { sourceSet ->
114- forbiddenApisCli. dependsOn(
115- project. tasks. create(sourceSet. getTaskName(' forbiddenApis' , null ), ForbiddenApisCliTask ) {
116- ExportElasticsearchBuildResourcesTask buildResources = project. tasks. getByName(' buildResources' )
117- dependsOn(buildResources)
118- it. sourceSet = sourceSet
119- javaHome = project. runtimeJavaHome
120- targetCompatibility = project. compilerJavaVersion
121- bundledSignatures = [
122- " jdk-unsafe" , " jdk-deprecated" , " jdk-non-portable" , " jdk-system-out"
123- ]
124- signaturesFiles = project. files(
125- buildResources. copy(" forbidden/jdk-signatures.txt" ),
126- buildResources. copy(" forbidden/es-all-signatures.txt" )
127- )
128- suppressAnnotations = [' **.SuppressForbidden' ]
129- if (sourceSet. name == ' test' ) {
130- signaturesFiles + = project. files(
131- buildResources. copy(" forbidden/es-test-signatures.txt" ),
132- buildResources. copy(" forbidden/http-signatures.txt" )
133- )
134- } else {
135- signaturesFiles + = project. files(buildResources. copy(" forbidden/es-server-signatures.txt" ))
136- }
137- dependsOn sourceSet. classesTaskName
138- classesDirs = sourceSet. output. classesDirs
139- ext. replaceSignatureFiles = { String ... names ->
140- signaturesFiles = project. files(
141- names. collect { buildResources. copy(" forbidden/${ it} .txt" ) }
142- )
143- }
144- ext. addSignatureFiles = { String ... names ->
145- signaturesFiles + = project. files(
146- names. collect { buildResources. copy(" forbidden/${ it} .txt" ) }
147- )
148- }
149- }
115+ project. pluginManager. apply(ForbiddenApisPlugin )
116+ ExportElasticsearchBuildResourcesTask buildResources = project. tasks. getByName(' buildResources' )
117+ project. tasks. withType(CheckForbiddenApis ) {
118+ dependsOn(buildResources)
119+ targetCompatibility = project. runtimeJavaVersion >= JavaVersion . VERSION_1_9 ?
120+ project. runtimeJavaVersion. getMajorVersion() :
121+ project. runtimeJavaVersion
122+ bundledSignatures = [
123+ " jdk-unsafe" , " jdk-deprecated" , " jdk-non-portable" , " jdk-system-out"
124+ ]
125+ signaturesFiles = project. files(
126+ buildResources. copy(" forbidden/jdk-signatures.txt" ),
127+ buildResources. copy(" forbidden/es-all-signatures.txt" )
150128 )
129+ suppressAnnotations = [' **.SuppressForbidden' ]
130+ if (name. endsWith(' Test' )) {
131+ signaturesFiles + = project. files(
132+ buildResources. copy(" forbidden/es-test-signatures.txt" ),
133+ buildResources. copy(" forbidden/http-signatures.txt" )
134+ )
135+ } else {
136+ signaturesFiles + = project. files(buildResources. copy(" forbidden/es-server-signatures.txt" ))
137+ }
138+ ext. replaceSignatureFiles = { String ... names ->
139+ signaturesFiles = project. files(
140+ names. collect { buildResources. copy(" forbidden/${ it} .txt" ) }
141+ )
142+ }
143+ ext. addSignatureFiles = { String ... names ->
144+ signaturesFiles + = project. files(
145+ names. collect { buildResources. copy(" forbidden/${ it} .txt" ) }
146+ )
147+ }
151148 }
152- return forbiddenApisCli
149+ Task forbiddenApis = project. tasks. getByName(" forbiddenApis" )
150+ forbiddenApis. group = " "
151+ return forbiddenApis
153152 }
154153
155154 private static Task configureCheckstyle (Project project ) {
0 commit comments