Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Sep 8, 2025

Bumps the dependencies group in /factory with 1 update: com.google.testing.compile:compile-testing.

Updates com.google.testing.compile:compile-testing from 0.21.0 to 0.22.0

Release notes

Sourced from com.google.testing.compile:compile-testing's releases.

0.22.0

  • With this release, users must pass three additional --add-exports lines:
    • --add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED
    • --add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED
    • --add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED
  • Improve handling of parse errors. (044a5a5)
  • Fixed Compiler.compile to ensure that it doesn't leak file descriptors. (972ac1e)
  • Removed the AutoValue processor from the runtime dependencies of Compile-Testing. (6d8ea27)
Commits
  • 282618c Set version number for compile-testing to 0.22.0.
  • ed71bbf Add a developer entry, as required by Sonatype in recent years.
  • 9a21460 Fix Javadoc problems under JDK 21.
  • 6d8ea27 Omit auto-value from runtime classpath
  • 578b79f Bump the github-actions group with 2 updates
  • 0595973 Don't bother to explicitly set [publishingServerId](https://central.sonatyp...
  • 52796da Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.11.2 to 3.11.3 in t...
  • 5c2484c Remove \<groupId>org.apache.maven.plugins\</groupId>.
  • f74b3d0 Migrate to central-publishing-maven-plugin and off oss-parent.
  • 18ac6a8 Bump com.google.errorprone:error_prone_annotations from 2.40.0 to 2.41.0 in t...
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

@dependabot dependabot bot added dependencies Pull requests that update a dependency file java Pull requests that update Java code labels Sep 8, 2025
@cpovirk
Copy link
Member

cpovirk commented Sep 9, 2025

java.lang.IllegalAccessError: class com.google.testing.compile.Parser (in unnamed module @0x2c6a3f77) cannot access class com.sun.tools.javac.file.JavacFileManager (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.file to unnamed module @0x2c6a3f77

So we'll need more --add-exports.

I also see trouble in #1960:

Error:  COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
Error:  /home/runner/work/auto/auto/value/src/it/functional/src/test/java/com/google/auto/value/gwt/EmptyExtension.java:[21,39] package com.google.auto.value.extension does not exist
Error:  /home/runner/work/auto/auto/value/src/it/functional/src/test/java/com/google/auto/value/gwt/EmptyExtension.java:[35,37] cannot find symbol
  symbol: class AutoValueExtension
Error:  /home/runner/work/auto/auto/value/src/it/functional/src/test/java/com/google/auto/value/gwt/EmptyExtension.java:[66,29] cannot find symbol
  symbol:   class Context
  location: class com.google.auto.value.gwt.EmptyExtension
Error:  /home/runner/work/auto/auto/value/src/it/functional/src/test/java/com/google/auto/value/gwt/EmptyExtension.java:[72,7] cannot find symbol
  symbol:   class Context
  location: class com.google.auto.value.gwt.EmptyExtension
Error:  /home/runner/work/auto/auto/value/src/it/functional/src/test/java/com/google/auto/value/gwt/GwtCompilationTest.java:[21,39] package com.google.auto.value.processor does not exist
Error:  /home/runner/work/auto/auto/value/src/it/functional/src/test/java/com/google/auto/value/gwt/EmptyExtension.java:[34,14] cannot find symbol
  symbol: class AutoValueExtension

That might be more about the removal of the AutoValue processor from the runtime classpath of Compile-Testing.

@cpovirk
Copy link
Member

cpovirk commented Sep 9, 2025

There turns out to be at least two more errors after those.

The first is clearly solvable by adding a missing dep:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.14.0:testCompile (default-testCompile) on project auto-value: Compilation failure: Compilation failure: 
[ERROR] /usr/local/google/home/cpovirk/clients/auto-pink/auto/value/src/test/java/com/google/auto/value/extension/memoized/MemoizedTest.java:[116,57] package org.checkerframework.checker.nullness.qual does not exist
[ERROR] /usr/local/google/home/cpovirk/clients/auto-pink/auto/value/src/test/java/com/google/auto/value/extension/memoized/MemoizedTest.java:[146,48] package org.checkerframework.checker.nullness.qual does not exist
[ERROR] /usr/local/google/home/cpovirk/clients/auto-pink/auto/value/src/test/java/com/google/auto/value/extension/memoized/MemoizedTest.java:[156,48] package org.checkerframework.checker.nullness.qual does not exist
[ERROR] /usr/local/google/home/cpovirk/clients/auto-pink/auto/value/src/test/java/com/google/auto/value/extension/memoized/MemoizedTest.java:[103,19] [AutoValueUndefined] Did not generate @AutoValue class for com.google.auto.value.extension.memoized.MemoizedTest.Value because it references undefined types including org.checkerframework.checker.nullness.qual.Nullable

The second is likely similar but not as immediately obvious:

[INFO] [ERROR] COMPILATION ERROR : 
[INFO] [INFO] -------------------------------------------------------------
[INFO] [ERROR] /usr/local/google/home/cpovirk/clients/auto-pink/auto/factory/target/it/functional/src/main/java/com/google/auto/factory/ReferencePackage.java:[19,44] cannot find symbol
[INFO]   symbol:   class OtherPackageFactory
[INFO]   location: package com.google.auto.factory.otherpackage
[INFO] [ERROR] /usr/local/google/home/cpovirk/clients/auto-pink/auto/factory/target/it/functional/src/main/java/com/google/auto/factory/ReferencePackage.java:[24,17] cannot find symbol
[INFO]   symbol:   class OtherPackageFactory
[INFO]   location: class com.google.auto.factory.ReferencePackage
[INFO] [ERROR] /usr/local/google/home/cpovirk/clients/auto-pink/auto/factory/target/it/functional/src/main/java/com/google/auto/factory/ReferencePackage.java:[28,30] cannot find symbol
[INFO]   symbol:   class OtherPackageFactory
[INFO]   location: class com.google.auto.factory.ReferencePackage
[INFO] [ERROR] /usr/local/google/home/cpovirk/clients/auto-pink/auto/factory/target/it/functional/src/main/java/com/google/auto/factory/otherpackage/OtherPackage.java:[20,31] cannot find symbol
[INFO]   symbol:   class ReferencePackageFactory
[INFO]   location: package com.google.auto.factory
[INFO] [ERROR] /usr/local/google/home/cpovirk/clients/auto-pink/auto/factory/target/it/functional/src/main/java/com/google/auto/factory/otherpackage/OtherPackage.java:[24,17] cannot find symbol
[INFO]   symbol:   class ReferencePackageFactory
[INFO]   location: class com.google.auto.factory.otherpackage.OtherPackage
[INFO] [ERROR] /usr/local/google/home/cpovirk/clients/auto-pink/auto/factory/target/it/functional/src/main/java/com/google/auto/factory/otherpackage/OtherPackage.java:[27,33] cannot find symbol
[INFO]   symbol:   class ReferencePackageFactory
[INFO]   location: class com.google.auto.factory.otherpackage.OtherPackage
[INFO] [ERROR] /usr/local/google/home/cpovirk/clients/auto-pink/auto/factory/target/it/functional/src/main/java/com/google/auto/factory/otherpackage/OtherPackage.java:[32,10] cannot find symbol
[INFO]   symbol:   class ReferencePackageFactory
[INFO]   location: class com.google.auto.factory.otherpackage.OtherPackage
[INFO] [ERROR] /usr/local/google/home/cpovirk/clients/auto-pink/auto/factory/target/it/functional/src/main/java/com/google/auto/factory/FactoryComponent.java:[18,44] cannot find symbol
[INFO]   symbol:   class OtherPackageFactory
[INFO]   location: package com.google.auto.factory.otherpackage
[INFO] [ERROR] /usr/local/google/home/cpovirk/clients/auto-pink/auto/factory/target/it/functional/src/main/java/com/google/auto/factory/FactoryComponent.java:[24,3] cannot find symbol
[INFO]   symbol:   class FooFactory
[INFO]   location: interface com.google.auto.factory.FactoryComponent
[INFO] [ERROR] /usr/local/google/home/cpovirk/clients/auto-pink/auto/factory/target/it/functional/src/main/java/com/google/auto/factory/FactoryComponent.java:[26,3] cannot find symbol
[INFO]   symbol:   class GenericFooFactory
[INFO]   location: interface com.google.auto.factory.FactoryComponent
[INFO] [ERROR] /usr/local/google/home/cpovirk/clients/auto-pink/auto/factory/target/it/functional/src/main/java/com/google/auto/factory/FactoryComponent.java:[28,3] cannot find symbol
[INFO]   symbol:   class ReferencePackageFactory
[INFO]   location: interface com.google.auto.factory.FactoryComponent
[INFO] [ERROR] /usr/local/google/home/cpovirk/clients/auto-pink/auto/factory/target/it/functional/src/main/java/com/google/auto/factory/FactoryComponent.java:[30,3] cannot find symbol
[INFO]   symbol:   class OtherPackageFactory
[INFO]   location: interface com.google.auto.factory.FactoryComponent
[INFO] [ERROR] /usr/local/google/home/cpovirk/clients/auto-pink/auto/factory/target/it/functional/src/main/java/com/google/auto/factory/DaggerModule.java:[51,51] cannot find symbol
[INFO]   symbol:   class ReferencePackageFactory
[INFO]   location: class com.google.auto.factory.DaggerModule
[INFO] [INFO] 13 errors 

@cpovirk
Copy link
Member

cpovirk commented Sep 9, 2025

For the latter error, I tried:

--- a/factory/src/it/functional/pom.xml
+++ b/factory/src/it/functional/pom.xml
@@ -24,6 +24,11 @@
   <version>HEAD-SNAPSHOT</version>
   <name>Auto-Value Functional Integration Test</name>
   <dependencies>
+    <dependency>
+      <groupId>com.google.auto.value</groupId>
+      <artifactId>auto-value</artifactId>
+      <version>@project.version@</version>
+    </dependency>
     <dependency>
       <groupId>com.google.auto.factory</groupId>
       <artifactId>auto-factory</artifactId>

But:

[INFO] [ERROR] Failed to execute goal on project functional: Could not resolve dependencies for project com.google.auto.value.it.functional:functional:jar:HEAD-SNAPSHOT: The following artifacts could not be resolved: com.google.auto.value:auto-value:jar:HEAD-SNAPSHOT (absent): Could not find artifact com.google.auto.value:auto-value:jar:HEAD-SNAPSHOT -> [Help 1]

I'm testing with the command from the GitHub CI config:

mvn -B dependency:go-offline test clean -U --quiet --fail-never -DskipTests=true -f build-pom.xml; mvn -B verify -U --fail-at-end -Dsource.skip=true -Dmaven.javadoc.skip=true -f build-pom.xml

So I would have hoped that that first run would have installed whatever we might need for the second run, as apparently it's done for the AutoFactory dep that we use from these same functional tests.

I do seem to recall that that first run always fails, but maybe now it's failing earlier for additional missing deps. I'll try adding some deps there.

Here's the failure with the compile-testing upgrades and my changes:

[ERROR] COMPILATION ERROR : 
[ERROR] /usr/local/google/home/cpovirk/clients/auto-pink/auto/value/src/it/functional/src/test/java/com/google/auto/value/AutoBuilderKotlinTest.java:[29,4] cannot find symbol
  symbol:   class AutoBuilder
  location: class com.google.auto.value.AutoBuilderKotlinTest
...

Here's the failure before those changes:

[ERROR] COMPILATION ERROR : 
[ERROR] /usr/local/google/home/cpovirk/clients/auto-pink/auto/service/processor/src/main/java/com/google/auto/service/processor/AutoServiceProcessor.java:[25,31] cannot find symbol
  symbol:   class AutoService
  location: package com.google.auto.service
...
[ERROR] COMPILATION ERROR : 
[ERROR] /usr/local/google/home/cpovirk/clients/auto-pink/auto/value/src/test/java/com/google/auto/value/extension/memoized/MemoizedTest.java:[23,29] cannot find symbol
  symbol:   class AutoValue
  location: package com.google.auto.value
...

It's not clear to me whether that change in errors is what makes the difference or not.

@cpovirk
Copy link
Member

cpovirk commented Sep 9, 2025

If I remove --quiet from that first command, I can see more information, at least.

But now I'm seeing the same output from that command both before and after (aside from things like timings and the ordering of dependency resolution, which may or may not be relevant). I'm not sure if the difference in errors I was seeing was nondeterministic or the result of some local change that I unwittingly made.

@cpovirk
Copy link
Member

cpovirk commented Sep 9, 2025

I diffed the full output from both commands. Here's the first difference that I'm seeing in the builds after my changes:

[WARNING] The POM for com.google.auto.value:auto-value:jar:HEAD-SNAPSHOT is missing, no dependency information available

That prevents us from seeing some other errors in functional. And it's pretty clearly the cause of the "Could not resolve dependencies" error that I reported above (and that I see later in the output).

I'm wondering if the AutoValue functional tests have never run against the head version of AutoValue but instead against whatever version was transitively pulled in through compile-testing? Or maybe it ran against the head version at one point but then stopped? I'd have to investigate more, and I'm not sure it's worth it at the moment.

(One question is how much we need the functional tests. I'm assuming that we're running something similar inside Google under Bazel, but I haven't checked. Of course, there is likely also value in testing behavior under Maven, including perhaps testing the Maven configuration that we recommend in our documentation.)

In an attempt to make auto-value available to the later steps, I added an additional command to the beginning (and removed clean from the now-second command to be extra safe). I see auto-value get installed to the Maven local repository (as it may well have already been doing), but

mvn -B clean dependency:go-offline install -U -f value/processor ; mvn -B dependency:go-offline test -U --fail-never -DskipTests=true -f build-pom.xml; mvn -B verify -U --fail-at-end -Dsource.skip=true -Dmaven.javadoc.skip=true -f build-pom.xml

Another thing: I noticed that invoker:3.9.1:install is copying over auto-value (both jar and pom) into target/it-repo—or at least it is under my new command (and then again after the failure).

Hmm: But while the error is reported for com.google.auto.value.it.functional:functional, it happens under invoker:3.9.1:run (integration-test) @ auto-factory. So maybe what we need is for AutoFactory to install AutoValue for its integration tests....

@cpovirk
Copy link
Member

cpovirk commented Sep 9, 2025

Adding a test dependency on auto-value in factory did not help:

--- a/factory/pom.xml
+++ b/factory/pom.xml
@@ -131,6 +131,12 @@
       <version>1.13.0</version>
     </dependency>
     <!-- test dependencies -->
+    <dependency>
+      <groupId>com.google.auto.value</groupId>
+      <artifactId>auto-value</artifactId>
+      <version>${auto-value.version}</version>
+      <scope>test</scope>
+    </dependency>
     <dependency>
       <groupId>javax.inject</groupId>
       <artifactId>javax.inject</artifactId>

Nor does a non-test dependency, which we wouldn't really want, anyway.

factory/pom.xml already has an annotationProcessorPaths dependency on auto-value. Maybe the problem is that that dependency is on ${auto-value.version} while we want HEAD-SNAPSHOT? That said, I haven't found any version of auto-value mentioned in the invoker:3.9.1:install output.

@cpovirk
Copy link
Member

cpovirk commented Sep 9, 2025

That said, I haven't found any version of auto-value mentioned in the invoker:3.9.1:install output.

...but I do see factory/target/it-repo/com/google/auto/value/auto-value/1.11.0/, so it's getting there somehow. This probably takes us back to the previous sentence:

Maybe the problem is that that dependency is on ${auto-value.version} while we want HEAD-SNAPSHOT?

Oh, so my mistake is probably that I have the factory/src/it/functional/pom.xml dep on auto-value set to @project.version@ at all. It's essentially an accident that that even almost works: While we use the same HEAD-SNAPSHOT version for both projects, otherwise AutoFactory and AutoValue have unrelated version numbers. I should presumably instead be hardcoding a version of auto-value.

@eamonnmcmanus
Copy link
Member

I am sorry to say that the AutoValue tests are probably still not run, though they are compiled.

@cpovirk
Copy link
Member

cpovirk commented Sep 9, 2025

Thanks, I'll at least be a little more willing to consider giving up at some point :)

The version change in factory/src/it/functional/pom.xml does get me further:

[INFO] [ERROR] COMPILATION ERROR : 
[INFO] [INFO] -------------------------------------------------------------
[INFO] [ERROR] /usr/local/google/home/cpovirk/clients/auto-pink/auto/factory/target/it/functional/src/main/java/com/google/auto/factory/ReferencePackage.java:[19,44] cannot find symbol
[INFO]   symbol:   class OtherPackageFactory
[INFO]   location: package com.google.auto.factory.otherpackage
[INFO] [ERROR] /usr/local/google/home/cpovirk/clients/auto-pink/auto/factory/target/it/functional/src/main/java/com/google/auto/factory/ReferencePackage.java:[24,17] cannot find symbol
[INFO]   symbol:   class OtherPackageFactory
[INFO]   location: class com.google.auto.factory.ReferencePackage

(It's highly possible that I was at that point before but then messed it up by adding the bad auto-value dep. I might not even want the auto-value dep ultimately.... Sigh.)

@cpovirk
Copy link
Member

cpovirk commented Sep 9, 2025

Oh, maybe that part has all been about https://bugs.openjdk.org/browse/JDK-8321319, since I didn't learn my lesson from google/gson#2892 and use JDK 21 instead of 24?

...yep. OK, everything is passing, so now I just unwind unnecessary changes until I have the minimal set.

copybara-service bot pushed a commit that referenced this pull request Sep 9, 2025
(mainly for #1962 and #1960)

RELNOTES=n/a
PiperOrigin-RevId: 805023364
copybara-service bot pushed a commit that referenced this pull request Sep 9, 2025
(mainly for #1962 and #1960)

RELNOTES=n/a
PiperOrigin-RevId: 805057737
@cpovirk
Copy link
Member

cpovirk commented Sep 9, 2025

@dependabot rebase

Bumps the dependencies group in /factory with 1 update: [com.google.testing.compile:compile-testing](https://github.com/google/compile-testing).


Updates `com.google.testing.compile:compile-testing` from 0.21.0 to 0.22.0
- [Release notes](https://github.com/google/compile-testing/releases)
- [Commits](google/compile-testing@v0.21.0...v0.22.0)

---
updated-dependencies:
- dependency-name: com.google.testing.compile:compile-testing
  dependency-version: 0.22.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: dependencies
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot force-pushed the dependabot/maven/factory/dependencies-a4f5aafed1 branch from 7992e7a to d1476ac Compare September 9, 2025 21:11
@copybara-service copybara-service bot closed this in 059cfec Sep 9, 2025
@dependabot @github
Copy link
Contributor Author

dependabot bot commented on behalf of github Sep 9, 2025

This pull request was built based on a group rule. Closing it will not ignore any of these versions in future pull requests.

To ignore these dependencies, configure ignore rules in dependabot.yml

@dependabot dependabot bot deleted the dependabot/maven/factory/dependencies-a4f5aafed1 branch September 9, 2025 21:21
copybara-service bot pushed a commit that referenced this pull request Sep 9, 2025
Also, update our integration tests to do the same. This fixes the Auto build under Java 24, eliminating one of the stumbling blocks I encountered during #1962.

Fixes #1963

RELNOTES=n/a
PiperOrigin-RevId: 805073117
copybara-service bot pushed a commit that referenced this pull request Sep 9, 2025
Also, update our integration tests to do the same. This fixes the Auto build under Java 24, eliminating one of the stumbling blocks I encountered during #1962.

Fixes #1963

RELNOTES=n/a
PiperOrigin-RevId: 805112641
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file java Pull requests that update Java code P2

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants