google / j2objc

A Java to iOS Objective-C translation tool and runtime.
http://j2objc.org
Apache License 2.0
5.99k stars 967 forks source link

J2objc 3.0.0 and JDK 17 #2345

Closed v-thien closed 4 months ago

v-thien commented 4 months ago

Hello J2OBJC team, I am new to J2OBJC. I saw that there was version 3.0 but it seems it is not an official release. I have two questions below:

  1. Does j2objc 3.0.0 support Java JDK 17?
  2. When will there be an official release?

Developing and maintaining J2OBJC is a great thing, thank you for your effort. I am looking forward to your response.

tomball commented 4 months ago

We stopped distributing release bundles for two reasons. First, with the new Apple-related architectures and added JRE features, release bundles have been too big to upload to GitHub for years now. Second, developers want the latest features and bug fixes within days of their being committed to our repo, so most projects build j2objc from HEAD. We realized that j2objc is best suited for large, multi-platform app builds, and those teams wisely demand full control over what's in the apps. So between customer priorities and GitHub limits, releases no longer make sense.

The reason for the 3.0.0 tag is because we distribute the annotations jar via Maven, since Google Guava depends upon it. The last time we added an annotation that the Guava team used, we had to bump up our jar's version number.

Does j2objc 3.0.0 support Java JDK 17?

No, but our latest source builds with JDK 17. However, our biggest clients are still on Java 11, so it hasn't been tested as thoroughly. You can use post-Java11 features that are implemented by javac, like switch expressions, text blocks, and pattern matching for instanceof. Features requiring JRE updates, like Records, are not yet supported.

tomball commented 4 months ago

Closing answered question.