Skip to content

Commit c6d35cf

Browse files
jjohannesGoogle Java Core Libraries
authored andcommitted
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: 553215970
1 parent 110c207 commit c6d35cf

3 files changed

Lines changed: 82 additions & 64 deletions

File tree

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)