diff options
author | sanjaypujare <sanjaypujare@users.noreply.github.com> | 2023-06-28 18:28:30 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-28 18:28:30 -0700 |
commit | 4d2c3aac0ef7d35ac363ef328f1005366758cf94 (patch) | |
tree | 74e469f0bca5cd9e4249f0779ae1cae8a5e503f9 | |
parent | d654707838201191001586ab873897a901dcf1d5 (diff) | |
download | grpc-grpc-java-4d2c3aac0ef7d35ac363ef328f1005366758cf94.tar.gz |
context, all: move Context classes to grpc-api (#10313)
* context, all: move Context classes to grpc-api
clean up grpc-context since it has no source code: only add dep on grpc-api
add exclusion for all transitive deps of grpc-api - only guava
exclude grpc-context as a dependency from grpc-alts because all context code is in grpc-api now
api: 1.7 as target Java version for Context source-set of grpc-api
* core, census: fix the issues with android project pulling in old grpc-context version
* api,context: make changes to bazel build files to account for context code moving from context to api
-rw-r--r-- | api/BUILD.bazel | 2 | ||||
-rw-r--r-- | api/build.gradle | 27 | ||||
-rw-r--r-- | api/src/context/java/io/grpc/Context.java (renamed from context/src/main/java/io/grpc/Context.java) | 0 | ||||
-rw-r--r-- | api/src/context/java/io/grpc/Deadline.java (renamed from context/src/main/java/io/grpc/Deadline.java) | 0 | ||||
-rw-r--r-- | api/src/context/java/io/grpc/PersistentHashArrayMappedTrie.java (renamed from context/src/main/java/io/grpc/PersistentHashArrayMappedTrie.java) | 0 | ||||
-rw-r--r-- | api/src/context/java/io/grpc/ThreadLocalContextStorage.java (renamed from context/src/main/java/io/grpc/ThreadLocalContextStorage.java) | 0 | ||||
-rw-r--r-- | api/src/jmh/java/io/grpc/AttachDetachBenchmark.java (renamed from context/src/jmh/java/io/grpc/AttachDetachBenchmark.java) | 0 | ||||
-rw-r--r-- | api/src/jmh/java/io/grpc/ReadBenchmark.java (renamed from context/src/jmh/java/io/grpc/ReadBenchmark.java) | 0 | ||||
-rw-r--r-- | api/src/jmh/java/io/grpc/WriteBenchmark.java (renamed from context/src/jmh/java/io/grpc/WriteBenchmark.java) | 0 | ||||
-rw-r--r-- | api/src/test/java/io/grpc/ContextTest.java (renamed from context/src/test/java/io/grpc/ContextTest.java) | 0 | ||||
-rw-r--r-- | api/src/test/java/io/grpc/DeadlineTest.java (renamed from context/src/test/java/io/grpc/DeadlineTest.java) | 0 | ||||
-rw-r--r-- | api/src/test/java/io/grpc/PersistentHashArrayMappedTrieTest.java (renamed from context/src/test/java/io/grpc/PersistentHashArrayMappedTrieTest.java) | 0 | ||||
-rw-r--r-- | api/src/test/java/io/grpc/ThreadLocalContextStorageTest.java (renamed from context/src/test/java/io/grpc/ThreadLocalContextStorageTest.java) | 0 | ||||
-rw-r--r-- | api/src/testFixtures/java/io/grpc/StaticTestingClassLoader.java (renamed from context/src/testFixtures/java/io/grpc/StaticTestingClassLoader.java) | 0 | ||||
-rw-r--r-- | api/src/testFixtures/java/io/grpc/testing/DeadlineSubject.java (renamed from context/src/testFixtures/java/io/grpc/testing/DeadlineSubject.java) | 0 | ||||
-rw-r--r-- | census/build.gradle | 3 | ||||
-rw-r--r-- | context/BUILD.bazel | 3 | ||||
-rw-r--r-- | context/build.gradle | 29 | ||||
-rw-r--r-- | core/build.gradle | 5 | ||||
-rw-r--r-- | gcp-observability/build.gradle | 2 | ||||
-rw-r--r-- | interop-testing/build.gradle | 3 | ||||
-rw-r--r-- | istio-interop-testing/build.gradle | 3 | ||||
-rw-r--r-- | testing/build.gradle | 2 |
23 files changed, 40 insertions, 39 deletions
diff --git a/api/BUILD.bazel b/api/BUILD.bazel index 4b74e6a83..b513bc120 100644 --- a/api/BUILD.bazel +++ b/api/BUILD.bazel @@ -2,6 +2,7 @@ java_library( name = "api", srcs = glob([ "src/main/java/**/*.java", + "src/context/java/**/*.java", ]), javacopts = ["-Xep:DoNotCall:OFF"], # Remove once requiring Bazel 3.4.0+; allows non-final visibility = ["//visibility:public"], @@ -13,4 +14,5 @@ java_library( "@com_google_guava_guava//jar", "@com_google_j2objc_j2objc_annotations//jar", ], + exports = ["//context"], ) diff --git a/api/build.gradle b/api/build.gradle index 3d19e3949..6906a2ae0 100644 --- a/api/build.gradle +++ b/api/build.gradle @@ -9,17 +9,31 @@ plugins { description = 'gRPC: API' +sourceSets { + context + main { + output.classesDirs.from(sourceSets.context.output.classesDirs) + } +} + +compileContextJava { + sourceCompatibility = 1.7 + targetCompatibility = 1.7 +} + + dependencies { - api project(':grpc-context'), - libraries.jsr305, + 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 testFixtures(project(':grpc-context')), - project(':grpc-testing'), + testImplementation project(':grpc-testing'), project(':grpc-grpclb') testImplementation libraries.guava.testlib jmh project(':grpc-core') @@ -29,9 +43,14 @@ dependencies { } tasks.named("javadoc").configure { + source sourceSets.context.allSource // We want io.grpc.Internal, but not io.grpc.Internal* exclude 'io/grpc/Internal?*.java' } +tasks.named("sourcesJar").configure { + from sourceSets.context.allSource +} + components.java.withVariantsFromConfiguration(configurations.testFixturesApiElements) { skip() } components.java.withVariantsFromConfiguration(configurations.testFixturesRuntimeElements) { skip() } diff --git a/context/src/main/java/io/grpc/Context.java b/api/src/context/java/io/grpc/Context.java index f63f02121..f63f02121 100644 --- a/context/src/main/java/io/grpc/Context.java +++ b/api/src/context/java/io/grpc/Context.java diff --git a/context/src/main/java/io/grpc/Deadline.java b/api/src/context/java/io/grpc/Deadline.java index 62b803267..62b803267 100644 --- a/context/src/main/java/io/grpc/Deadline.java +++ b/api/src/context/java/io/grpc/Deadline.java diff --git a/context/src/main/java/io/grpc/PersistentHashArrayMappedTrie.java b/api/src/context/java/io/grpc/PersistentHashArrayMappedTrie.java index 66ee86972..66ee86972 100644 --- a/context/src/main/java/io/grpc/PersistentHashArrayMappedTrie.java +++ b/api/src/context/java/io/grpc/PersistentHashArrayMappedTrie.java diff --git a/context/src/main/java/io/grpc/ThreadLocalContextStorage.java b/api/src/context/java/io/grpc/ThreadLocalContextStorage.java index 63f560462..63f560462 100644 --- a/context/src/main/java/io/grpc/ThreadLocalContextStorage.java +++ b/api/src/context/java/io/grpc/ThreadLocalContextStorage.java diff --git a/context/src/jmh/java/io/grpc/AttachDetachBenchmark.java b/api/src/jmh/java/io/grpc/AttachDetachBenchmark.java index 10e845e79..10e845e79 100644 --- a/context/src/jmh/java/io/grpc/AttachDetachBenchmark.java +++ b/api/src/jmh/java/io/grpc/AttachDetachBenchmark.java diff --git a/context/src/jmh/java/io/grpc/ReadBenchmark.java b/api/src/jmh/java/io/grpc/ReadBenchmark.java index 8046008be..8046008be 100644 --- a/context/src/jmh/java/io/grpc/ReadBenchmark.java +++ b/api/src/jmh/java/io/grpc/ReadBenchmark.java diff --git a/context/src/jmh/java/io/grpc/WriteBenchmark.java b/api/src/jmh/java/io/grpc/WriteBenchmark.java index d4c27053e..d4c27053e 100644 --- a/context/src/jmh/java/io/grpc/WriteBenchmark.java +++ b/api/src/jmh/java/io/grpc/WriteBenchmark.java diff --git a/context/src/test/java/io/grpc/ContextTest.java b/api/src/test/java/io/grpc/ContextTest.java index c2f36f41d..c2f36f41d 100644 --- a/context/src/test/java/io/grpc/ContextTest.java +++ b/api/src/test/java/io/grpc/ContextTest.java diff --git a/context/src/test/java/io/grpc/DeadlineTest.java b/api/src/test/java/io/grpc/DeadlineTest.java index 69f849bea..69f849bea 100644 --- a/context/src/test/java/io/grpc/DeadlineTest.java +++ b/api/src/test/java/io/grpc/DeadlineTest.java diff --git a/context/src/test/java/io/grpc/PersistentHashArrayMappedTrieTest.java b/api/src/test/java/io/grpc/PersistentHashArrayMappedTrieTest.java index aeac2f51a..aeac2f51a 100644 --- a/context/src/test/java/io/grpc/PersistentHashArrayMappedTrieTest.java +++ b/api/src/test/java/io/grpc/PersistentHashArrayMappedTrieTest.java diff --git a/context/src/test/java/io/grpc/ThreadLocalContextStorageTest.java b/api/src/test/java/io/grpc/ThreadLocalContextStorageTest.java index 9a2aaad09..9a2aaad09 100644 --- a/context/src/test/java/io/grpc/ThreadLocalContextStorageTest.java +++ b/api/src/test/java/io/grpc/ThreadLocalContextStorageTest.java diff --git a/context/src/testFixtures/java/io/grpc/StaticTestingClassLoader.java b/api/src/testFixtures/java/io/grpc/StaticTestingClassLoader.java index 716a887e8..716a887e8 100644 --- a/context/src/testFixtures/java/io/grpc/StaticTestingClassLoader.java +++ b/api/src/testFixtures/java/io/grpc/StaticTestingClassLoader.java diff --git a/context/src/testFixtures/java/io/grpc/testing/DeadlineSubject.java b/api/src/testFixtures/java/io/grpc/testing/DeadlineSubject.java index 5d4e86fac..5d4e86fac 100644 --- a/context/src/testFixtures/java/io/grpc/testing/DeadlineSubject.java +++ b/api/src/testFixtures/java/io/grpc/testing/DeadlineSubject.java diff --git a/census/build.gradle b/census/build.gradle index 25948f17f..6c9a72785 100644 --- a/census/build.gradle +++ b/census/build.gradle @@ -9,12 +9,13 @@ description = 'gRPC: Census' dependencies { api project(':grpc-api') + // force dependent jars to depend on latest grpc-context + runtimeOnly project(":grpc-context") implementation libraries.guava, libraries.opencensus.api, libraries.opencensus.contrib.grpc.metrics testImplementation testFixtures(project(':grpc-api')), - testFixtures(project(':grpc-context')), testFixtures(project(':grpc-core')), project(':grpc-testing'), libraries.opencensus.impl diff --git a/context/BUILD.bazel b/context/BUILD.bazel index a59da4ae7..a5289a1ff 100644 --- a/context/BUILD.bazel +++ b/context/BUILD.bazel @@ -1,7 +1,4 @@ java_library( name = "context", - srcs = glob([ - "src/main/java/**/*.java", - ]), visibility = ["//visibility:public"], ) diff --git a/context/build.gradle b/context/build.gradle index a788261cb..46d3d852f 100644 --- a/context/build.gradle +++ b/context/build.gradle @@ -1,31 +1,14 @@ plugins { - id "java" - id "java-test-fixtures" + id "java-library" id "maven-publish" - - id "me.champeau.gradle.japicmp" - id "me.champeau.jmh" - id "ru.vyarus.animalsniffer" } description = 'gRPC: Context' -sourceCompatibility = 1.7 -targetCompatibility = 1.7 - dependencies { - testFixturesApi libraries.truth - // Explicitly choose the guava version to stay Java 7-compatible. - testFixturesImplementation 'com.google.guava:guava:30.1.1-android' - testFixturesImplementation libraries.jsr305 - testImplementation libraries.jsr305 - // Explicitly choose the guava version to stay Java 7-compatible. The rest of gRPC can move - // forward to Java 8-requiring versions. This is also only used for testing, so is unlikely to - // cause problems. - testImplementation 'com.google.guava:guava-testlib:30.1.1-android' - signature "org.codehaus.mojo.signature:java17:1.0@signature" - signature "net.sf.androidscents.signature:android-api-level-14:4.0_r4@signature" + runtimeOnly (project(":grpc-api")) { + exclude group: "com.google.guava", module: "guava" + exclude group: "com.google.code.findbugs", module: "jsr305" + exclude group: "com.google.errorprone", module: "error_prone_annotations" + } } - -components.java.withVariantsFromConfiguration(configurations.testFixturesApiElements) { skip() } -components.java.withVariantsFromConfiguration(configurations.testFixturesRuntimeElements) { skip() } diff --git a/core/build.gradle b/core/build.gradle index 932c8778e..c2e87127c 100644 --- a/core/build.gradle +++ b/core/build.gradle @@ -22,6 +22,8 @@ description = 'gRPC: Core' dependencies { api project(':grpc-api') + // force dependent jars to depend on latest grpc-context + runtimeOnly project(":grpc-context") implementation libraries.gson, libraries.android.annotations, libraries.animalsniffer.annotations, @@ -33,8 +35,7 @@ dependencies { libraries.mockito.core, libraries.truth, project(':grpc-testing') - testImplementation testFixtures(project(':grpc-context')), - testFixtures(project(':grpc-api')), + testImplementation testFixtures(project(':grpc-api')), project(':grpc-testing'), project(':grpc-grpclb') testImplementation libraries.guava.testlib diff --git a/gcp-observability/build.gradle b/gcp-observability/build.gradle index 9cef17fcd..38fb3d0fc 100644 --- a/gcp-observability/build.gradle +++ b/gcp-observability/build.gradle @@ -63,7 +63,7 @@ dependencies { libraries.checker.qual, // Explicit dependency to keep in step with version used by guava libraries.j2objc.annotations // Explicit dependency to keep in step with version used by guava - testImplementation testFixtures(project(':grpc-context')), + testImplementation testFixtures(project(':grpc-api')), project(':grpc-testing'), project(':grpc-testing-proto') testImplementation (libraries.guava.testlib) { diff --git a/interop-testing/build.gradle b/interop-testing/build.gradle index 96d4ca361..a1ae639b2 100644 --- a/interop-testing/build.gradle +++ b/interop-testing/build.gradle @@ -45,8 +45,7 @@ dependencies { libraries.netty.tcnative.classes, project(':grpc-grpclb'), project(':grpc-rls') - testImplementation testFixtures(project(':grpc-context')), - testFixtures(project(':grpc-api')), + testImplementation testFixtures(project(':grpc-api')), testFixtures(project(':grpc-core')), libraries.mockito.core, libraries.okhttp diff --git a/istio-interop-testing/build.gradle b/istio-interop-testing/build.gradle index b4495002a..204996ca9 100644 --- a/istio-interop-testing/build.gradle +++ b/istio-interop-testing/build.gradle @@ -26,8 +26,7 @@ dependencies { runtimeOnly libraries.netty.tcnative, libraries.netty.tcnative.classes - testImplementation testFixtures(project(':grpc-context')), - testFixtures(project(':grpc-api')), + testImplementation testFixtures(project(':grpc-api')), testFixtures(project(':grpc-core')), libraries.mockito.core, libraries.junit, diff --git a/testing/build.gradle b/testing/build.gradle index a2887eac3..0c08381a7 100644 --- a/testing/build.gradle +++ b/testing/build.gradle @@ -14,7 +14,7 @@ dependencies { libraries.junit // Only io.grpc.internal.testing.StatsTestUtils depends on opencensus_api, for internal use. compileOnly libraries.opencensus.api - runtimeOnly project(":grpc-context") // Pull in newer version than census-api + runtimeOnly project(":grpc-api") // Pull in newer version than census-api testImplementation libraries.mockito.core |