grpc-java/api/build.gradle

71 lines
2.0 KiB
Groovy
Raw Normal View History

plugins {
id "java-library"
id "java-test-fixtures"
id "maven-publish"
id "me.champeau.jmh"
id "ru.vyarus.animalsniffer"
}
description = 'gRPC: API'
sourceSets {
context
main {
output.classesDirs.from(sourceSets.context.output.classesDirs)
}
}
tasks.named("compileContextJava").configure {
if (JavaVersion.current().isCompatibleWith(JavaVersion.VERSION_20)) {
println("!!! Javac does not support generating Java 7 bytecode. Do not use for release builds !!!")
} else if (JavaVersion.current().isJava9Compatible()) {
options.release = 7
} else {
sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7
}
}
tasks.named("jar").configure {
manifest {
attributes('Automatic-Module-Name': 'io.grpc')
}
}
dependencies {
compileOnly sourceSets.context.output
api libraries.jsr305,
libraries.errorprone.annotations
implementation libraries.guava
testFixturesApi libraries.truth
testFixturesImplementation libraries.jsr305
testFixturesImplementation libraries.guava,
libraries.junit,
libraries.mockito.core
testImplementation project(':grpc-core')
testImplementation project(':grpc-testing')
testImplementation libraries.guava.testlib
signature libraries.signature.java
signature libraries.signature.android
}
tasks.named("javadoc").configure {
source sourceSets.context.allSource
// We want io.grpc.Internal, but not io.grpc.Internal*
exclude 'io/grpc/*MetricInstrument.java'
exclude 'io/grpc/*MetricInstrumentRegistry.java'
exclude 'io/grpc/Internal?*.java'
exclude 'io/grpc/MetricRecorder.java'
exclude 'io/grpc/MetricSink.java'
}
tasks.named("sourcesJar").configure {
from sourceSets.context.allSource
}
components.java.withVariantsFromConfiguration(configurations.testFixturesApiElements) { skip() }
components.java.withVariantsFromConfiguration(configurations.testFixturesRuntimeElements) { skip() }