12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- plugins {
- id("otel.java-conventions")
- }
- dependencies {
- implementation("com.google.errorprone:error_prone_core")
- annotationProcessor("com.google.auto.service:auto-service")
- compileOnly("com.google.auto.service:auto-service-annotations")
- testImplementation("com.google.errorprone:error_prone_test_helpers")
- }
- otelJava {
- minJavaVersionSupported.set(JavaVersion.VERSION_11)
- }
- // We cannot use "--release" javac option here because that will forbid exporting com.sun.tools package.
- // We also can't seem to use the toolchain without the "--release" option. So disable everything.
- java {
- sourceCompatibility = JavaVersion.VERSION_11
- targetCompatibility = JavaVersion.VERSION_11
- toolchain {
- languageVersion.set(null as JavaLanguageVersion?)
- }
- }
- tasks {
- withType<JavaCompile>().configureEach {
- with(options) {
- release.set(null as Int?)
- compilerArgs.addAll(
- listOf(
- "--add-exports",
- "jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED",
- "--add-exports",
- "jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED",
- "--add-exports",
- "jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED",
- "--add-exports",
- "jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED",
- "--add-exports",
- "jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED",
- ),
- )
- }
- }
- }
- tasks.withType<Test>().configureEach {
- // required on jdk17
- jvmArgs("--add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED")
- jvmArgs("--add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED")
- jvmArgs("--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED")
- jvmArgs("--add-opens=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED")
- jvmArgs("--add-opens=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED")
- jvmArgs("--add-opens=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED")
- jvmArgs("--add-opens=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED")
- jvmArgs("--add-opens=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED")
- jvmArgs("-XX:+IgnoreUnrecognizedVMOptions")
- }
- tasks.withType<Javadoc>().configureEach {
- // using com.sun.tools.javac.api.JavacTrees breaks javadoc generation
- enabled = false
- }
- // Our conventions apply this project as a dependency in the errorprone configuration, which would cause
- // a circular dependency if trying to compile this project with that still there. So we filter this
- // project out.
- configurations {
- named("errorprone") {
- dependencies.removeIf {
- it is ProjectDependency && it.dependencyProject == project
- }
- }
- }
|