/* * Copyright (C) 2017. Uber Technologies * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import net.ltgt.gradle.errorprone.CheckSeverity plugins { id "java-library" } sourceCompatibility = "1.8" targetCompatibility = "1.8" dependencies { annotationProcessor project(":nullaway") annotationProcessor deps.test.lombok compileOnly deps.build.jsr305Annotations compileOnly deps.build.javaxValidation compileOnly deps.test.cfQual compileOnly deps.test.lombok } tasks.withType(JavaCompile) { if (!name.toLowerCase().contains("test")) { options.errorprone { check("NullAway", CheckSeverity.ERROR) check("UnusedVariable", CheckSeverity.OFF) // We are not the only checker that fails on Lombok check("MissingBraces", CheckSeverity.OFF) // We are not the only checker that fails on Lombok option("NullAway:AnnotatedPackages", "com.uber") option("NullAway:UnannotatedSubPackages", "com.uber.lib.unannotated") } } if (JavaVersion.current().java9Compatible) { // We need to fork on JDK 16+ since Lombok accesses internal compiler APIs options.fork = true options.forkOptions.jvmArgs += ["--add-opens=jdk.compiler/com.sun.tools.javac.jvm=ALL-UNNAMED"] } }