1/* 2 * Copyright (C) 2017. Uber Technologies 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17import net.ltgt.gradle.errorprone.CheckSeverity 18 19plugins { 20 id "java-library" 21} 22 23dependencies { 24 annotationProcessor project(":nullaway") 25 annotationProcessor deps.test.lombok 26 27 compileOnly deps.build.jsr305Annotations 28 compileOnly deps.build.javaxValidation 29 compileOnly deps.test.cfQual 30 compileOnly deps.test.lombok 31} 32 33tasks.withType(JavaCompile) { 34 if (!name.toLowerCase().contains("test")) { 35 options.errorprone { 36 check("NullAway", CheckSeverity.ERROR) 37 option("NullAway:AnnotatedPackages", "com.uber") 38 option("NullAway:UnannotatedSubPackages", "com.uber.lib.unannotated") 39 } 40 } 41 // We need to fork on JDK 16+ since Lombok accesses internal compiler APIs 42 options.fork = true 43 options.forkOptions.jvmArgs += [ 44 "--add-opens=jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED" 45 ] 46} 47