Comments (7)
Do you by chance have something I could run to reproduce the problem? Your proposed fixes seem reasonable but I would want to be able to test them.
I'm also a little puzzled because I believe we do run a graalified Turbine internally at Google. Perhaps @cushon might have some insights?
from auto.
@eamonnmcmanus Here you go: https://github.com/timothyg-stripe/auto-1783
It's as minimal as I could make it, but it's still rather large as it needs to include numerous Maven jars and rules_graalvm. The README has more details, including an appendix on overriding jars that you could use to test a locally built jar.
from auto.
I'm also a little puzzled because I believe we do run a graalified Turbine internally at Google
We include some annotation processors in the internal GraalVM native-image for turbine, but AutoValue isn't included because it doesn't generate API and shouldn't need to run during annotation processing. We also use AutoValue with java_plugin.generates_api
disabled.
@timothyg-stripe is your use-case that you have code that deliberately references generated AutoValue_
types in the public API, and so AutoValue needs to run during header compilation?
from auto.
Ah, that makes a lot of sense.
I'm not sure historically why we have AutoValue on generates_api = True
. Currently for production builds, we typically have header compilation turned off and rely instead on ijar. The reason why we are interested in compiling Turbine with AutoValue built-in now is that, we have a pipeline to extract the "gensrc jar" from a Bazel build for IDEs, and Graal Turbine can run annotation processors faster than Javac/JavaBuilder (even with multiplex workers enabled).
from auto.
Thanks for putting together the repro! I did finally manage to make it work with my own compiled jar, though given my Bazel ignorance it wasn't straightforward. :-)
A fix should be forthcoming, though it probably won't be useful to you until the next release.
from auto.
The just-released 1.11.0 includes this change.
from auto.
Thank you for the quick fix!
from auto.
Related Issues (20)
- AutoService breaks with Immutables HOT 8
- Shaded guava triggers CVE checks HOT 1
- AutoValue functional tests not being run by Maven
- Intermittent `Stream closed` exception after upgrading to 1.10.2 HOT 16
- auto-value 1.10.2 breaks compatibility with Kotlin 1.6 HOT 8
- AutoBuilder will not build Kotlin data class with Duration HOT 3
- Require Java 11+ for compilation HOT 1
- Use Jakarta's @Generated annotation if available HOT 2
- AutoValue `toBuilder()` works poorly if an extension subclasses `Builder`; possible INCOMPATIBLE change HOT 1
- Android does not use AutoService. See the example code HOT 2
- Is cross-process support available? HOT 3
- Release AutoFactory 1.1.0 HOT 1
- Remove `o == this` check from generated `equals`? HOT 2
- AutoValue null annotations in Eclipse HOT 2
- Possible documentation issue around collection builders HOT 1
- google/auto
- Annotation Processor output is not deterministic HOT 3
- Drop support for running generated code under Java 7 HOT 2
- [Bug] Annotation processor generated duplicated classes from dependency that also used autovalue HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from auto.