Skip to content

Commit 4787cf5

Browse files
jjohannesGoogle Java Core Libraries
authored and
Google Java Core Libraries
committed
Put the versions of dependencies directly in Gradle Metadata.
This makes the version handling in POM and Gradle Metadata more similar. See #6654 (comment) We expect this to fix #6657, though we don't fully understand it. Fixes #6664 RELNOTES=Changed Gradle Metadata to include dependency versions directly. This may address ["Could not find `some-dependency`" errors](#6657) that some users have reported (which might be a result of users' excluding `guava-parent`). PiperOrigin-RevId: 553180806
1 parent 110c207 commit 4787cf5

File tree

3 files changed

+82
-64
lines changed

3 files changed

+82
-64
lines changed

android/pom.xml

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@
1515
<!-- Override this with -Dtest.include="**/SomeTest.java" on the CLI -->
1616
<test.include>%regex[.*.class]</test.include>
1717
<truth.version>1.1.3</truth.version>
18+
<jsr305.version>3.0.2</jsr305.version>
19+
<checker.version>3.33.0</checker.version>
20+
<errorprone.version>2.18.0</errorprone.version>
21+
<j2objc.version>2.8</j2objc.version>
1822
<maven-javadoc-plugin.version>3.4.1</maven-javadoc-plugin.version>
1923
<javac.version>9+181-r4173-1</javac.version>
2024
<!-- Empty for all JDKs but 9-12 -->
@@ -302,24 +306,28 @@
302306
<dependency>
303307
<groupId>com.google.code.findbugs</groupId>
304308
<artifactId>jsr305</artifactId>
305-
<version>3.0.2</version>
309+
<version>${jsr305.version}</version>
306310
</dependency>
307311
<dependency>
308312
<groupId>org.checkerframework</groupId>
309313
<artifactId>checker-qual</artifactId>
310-
<version>3.33.0</version>
314+
<version>${checker.version}</version>
311315
</dependency>
312316
<dependency>
313317
<groupId>com.google.errorprone</groupId>
314318
<artifactId>error_prone_annotations</artifactId>
315-
<version>2.18.0</version>
319+
<version>${errorprone.version}</version>
316320
</dependency>
317321
<dependency>
318322
<groupId>com.google.j2objc</groupId>
319323
<artifactId>j2objc-annotations</artifactId>
320-
<version>2.8</version>
324+
<version>${j2objc.version}</version>
321325
</dependency>
322-
<!-- We avoid using dependencyManagement for test-only deps because of https://github.com/google/guava/issues/6654 -->
326+
<!--
327+
We moved away from using dependencyManagement for test-only deps because of https://github.com/google/guava/issues/6654.
328+
We could probably have resumed it after https://github.com/google/guava/pull/6664.
329+
But it's always weird that published poms reference test-only libraries at all, so I'm not in any rush to do so.
330+
-->
323331
</dependencies>
324332
</dependencyManagement>
325333
<profiles>

guava/module.json

Lines changed: 56 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,6 @@
2626
"org.gradle.usage": "java-api"
2727
},
2828
"dependencies": [
29-
{
30-
"group": "com.google.guava",
31-
"module": "guava-parent",
32-
"version": {
33-
"requires": "${pom.version}"
34-
},
35-
"attributes": {
36-
"org.gradle.category": "platform"
37-
}
38-
},
3929
{
4030
"group": "com.google.guava",
4131
"module": "failureaccess",
@@ -52,19 +42,31 @@
5242
},
5343
{
5444
"group": "com.google.code.findbugs",
55-
"module": "jsr305"
45+
"module": "jsr305",
46+
"version": {
47+
"requires": "${jsr305.version}"
48+
}
5649
},
5750
{
5851
"group": "org.checkerframework",
59-
"module": "checker-qual"
52+
"module": "checker-qual",
53+
"version": {
54+
"requires": "${checker.version}"
55+
}
6056
},
6157
{
6258
"group": "com.google.errorprone",
63-
"module": "error_prone_annotations"
59+
"module": "error_prone_annotations",
60+
"version": {
61+
"requires": "${errorprone.version}"
62+
}
6463
},
6564
{
6665
"group": "com.google.j2objc",
67-
"module": "j2objc-annotations"
66+
"module": "j2objc-annotations",
67+
"version": {
68+
"requires": "${j2objc.version}"
69+
}
6870
}
6971
],
7072
"files": [
@@ -97,16 +99,6 @@
9799
"org.gradle.usage": "java-runtime"
98100
},
99101
"dependencies": [
100-
{
101-
"group": "com.google.guava",
102-
"module": "guava-parent",
103-
"version": {
104-
"requires": "${pom.version}"
105-
},
106-
"attributes": {
107-
"org.gradle.category": "platform"
108-
}
109-
},
110102
{
111103
"group": "com.google.guava",
112104
"module": "failureaccess",
@@ -123,15 +115,24 @@
123115
},
124116
{
125117
"group": "com.google.code.findbugs",
126-
"module": "jsr305"
118+
"module": "jsr305",
119+
"version": {
120+
"requires": "${jsr305.version}"
121+
}
127122
},
128123
{
129124
"group": "org.checkerframework",
130-
"module": "checker-qual"
125+
"module": "checker-qual",
126+
"version": {
127+
"requires": "${checker.version}"
128+
}
131129
},
132130
{
133131
"group": "com.google.errorprone",
134-
"module": "error_prone_annotations"
132+
"module": "error_prone_annotations",
133+
"version": {
134+
"requires": "${errorprone.version}"
135+
}
135136
}
136137
],
137138
"files": [
@@ -164,16 +165,6 @@
164165
"org.gradle.usage": "java-api"
165166
},
166167
"dependencies": [
167-
{
168-
"group": "com.google.guava",
169-
"module": "guava-parent",
170-
"version": {
171-
"requires": "${otherVariant.version}"
172-
},
173-
"attributes": {
174-
"org.gradle.category": "platform"
175-
}
176-
},
177168
{
178169
"group": "com.google.guava",
179170
"module": "failureaccess",
@@ -190,19 +181,31 @@
190181
},
191182
{
192183
"group": "com.google.code.findbugs",
193-
"module": "jsr305"
184+
"module": "jsr305",
185+
"version": {
186+
"requires": "${jsr305.version}"
187+
}
194188
},
195189
{
196190
"group": "org.checkerframework",
197-
"module": "checker-qual"
191+
"module": "checker-qual",
192+
"version": {
193+
"requires": "${checker.version}"
194+
}
198195
},
199196
{
200197
"group": "com.google.errorprone",
201-
"module": "error_prone_annotations"
198+
"module": "error_prone_annotations",
199+
"version": {
200+
"requires": "${errorprone.version}"
201+
}
202202
},
203203
{
204204
"group": "com.google.j2objc",
205-
"module": "j2objc-annotations"
205+
"module": "j2objc-annotations",
206+
"version": {
207+
"requires": "${j2objc.version}"
208+
}
206209
}
207210
],
208211
"files": [
@@ -235,16 +238,6 @@
235238
"org.gradle.usage": "java-runtime"
236239
},
237240
"dependencies": [
238-
{
239-
"group": "com.google.guava",
240-
"module": "guava-parent",
241-
"version": {
242-
"requires": "${otherVariant.version}"
243-
},
244-
"attributes": {
245-
"org.gradle.category": "platform"
246-
}
247-
},
248241
{
249242
"group": "com.google.guava",
250243
"module": "failureaccess",
@@ -261,15 +254,24 @@
261254
},
262255
{
263256
"group": "com.google.code.findbugs",
264-
"module": "jsr305"
257+
"module": "jsr305",
258+
"version": {
259+
"requires": "${jsr305.version}"
260+
}
265261
},
266262
{
267263
"group": "org.checkerframework",
268-
"module": "checker-qual"
264+
"module": "checker-qual",
265+
"version": {
266+
"requires": "${checker.version}"
267+
}
269268
},
270269
{
271270
"group": "com.google.errorprone",
272-
"module": "error_prone_annotations"
271+
"module": "error_prone_annotations",
272+
"version": {
273+
"requires": "${errorprone.version}"
274+
}
273275
}
274276
],
275277
"files": [

pom.xml

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,10 @@
1515
<!-- Override this with -Dtest.include="**/SomeTest.java" on the CLI -->
1616
<test.include>%regex[.*.class]</test.include>
1717
<truth.version>1.1.3</truth.version>
18+
<jsr305.version>3.0.2</jsr305.version>
19+
<checker.version>3.33.0</checker.version>
20+
<errorprone.version>2.18.0</errorprone.version>
21+
<j2objc.version>2.8</j2objc.version>
1822
<maven-javadoc-plugin.version>3.4.1</maven-javadoc-plugin.version>
1923
<javac.version>9+181-r4173-1</javac.version>
2024
<!-- Empty for all JDKs but 9-12 -->
@@ -296,24 +300,28 @@
296300
<dependency>
297301
<groupId>com.google.code.findbugs</groupId>
298302
<artifactId>jsr305</artifactId>
299-
<version>3.0.2</version>
303+
<version>${jsr305.version}</version>
300304
</dependency>
301305
<dependency>
302306
<groupId>org.checkerframework</groupId>
303307
<artifactId>checker-qual</artifactId>
304-
<version>3.33.0</version>
308+
<version>${checker.version}</version>
305309
</dependency>
306310
<dependency>
307311
<groupId>com.google.errorprone</groupId>
308312
<artifactId>error_prone_annotations</artifactId>
309-
<version>2.18.0</version>
313+
<version>${errorprone.version}</version>
310314
</dependency>
311315
<dependency>
312316
<groupId>com.google.j2objc</groupId>
313317
<artifactId>j2objc-annotations</artifactId>
314-
<version>2.8</version>
318+
<version>${j2objc.version}</version>
315319
</dependency>
316-
<!-- We avoid using dependencyManagement for test-only deps because of https://github.com/google/guava/issues/6654 -->
320+
<!--
321+
We moved away from using dependencyManagement for test-only deps because of https://github.com/google/guava/issues/6654.
322+
We could probably have resumed it after https://github.com/google/guava/pull/6664.
323+
But it's always weird that published poms reference test-only libraries at all, so I'm not in any rush to do so.
324+
-->
317325
</dependencies>
318326
</dependencyManagement>
319327
<profiles>

0 commit comments

Comments
 (0)