Skip to content

Commit c6d35cf

Browse files
jjohannesGoogle Java Core Libraries
authored and
Google Java Core Libraries
committedAug 2, 2023
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

File tree

3 files changed

+82
-64
lines changed

3 files changed

+82
-64
lines changed
 

‎android/pom.xml

+13-5
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

+56-54
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

+13-5
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)
Please sign in to comment.