jbock-java / zerobuilder

A flexible builder scheme for Java
Apache License 2.0
21 stars 3 forks source link

Tweaking for Java 9+ #5

Open clinuxrulz opened 1 year ago

clinuxrulz commented 1 year ago

I know this project is deprecated. Is there any chance we can add a config or tweak the generated code to work on Java 9+?

Basically: import javax.annotion.Generated; Needs to become: import javax.annotion.processing.Generated;

In the generated code. Then it should work for Java 9+, but would break Java 8-. Need a way to check which jdk is being used.

h908714124 commented 1 year ago

Oh wow, it's been a while. I guess I would migrate everything to gradle first. Does it have to be zerobuilder itself, or can you use one of the other projects mentioned in the readme "crate", "readable", "bean standard"? It seems easier to do with these.

h908714124 commented 1 year ago

OK I'll try to convert it to gradle, then it should be easy enough.

h908714124 commented 1 year ago

Done, had to change the groupId though. Try with these coordinates:

implementation('io.github.jbock-java:zerobuilder:1.645')
annotationProcessor('io.github.jbock-java:zerobuilder-compiler:1.645')
clinuxrulz commented 1 year ago

That is awesome. Thank you!

Been trying to revive an old project with a decades worth of code in it and get it on a new version of java, and there was 100s of classes all using zerobuilder. On Java 8 my old project takes over 60 minutes to compile. But on the newer JDK its takes 2 minutes. (Performance regression in Java 8 compiler)