Port platform_build to new javax.annotation

Started by broumbroum, August 16, 2014, 10:24:48

Previous topic - Next topic

broumbroum

(Post following http://lwjgl.org/forum/index.php/topic,5460.msg28895.html#msg28895)
Hello, 

The current build is JVM 1.7 compliant, and can run javax.annotation. Current APT (Annotation Processing Tool) is not available on SDKs running on Mac 10.8 and later. APT (bin/apt ) was deprecated since java 6, and the MacOSX.sdk 10.8 includes a 1.8 JVM, which is missing APT .

I'm currently porting the platform_build to the new _javax.annotation API_ that's been integrated into the javac compiler.  That port is being finalized on my GitHub fork and I'm looking forward to post a pull request when it'll be done.

You don't have to install the new SDKs for those who wish to compile on their own if you already have one. A documentation on how the set out for compiling lwjgl on macosx may be updated as well.

The changes commit modifications on several files in the org.lwjgl.util.* and *.generator.* packages. Also the build-generators.xml and platform_build/macosx/build.xml is being refactored accordingly to the new SDKs. This files also builds on the other platforms outputs, thereby Java 7 is mandatory for all.

https://github.com/b23prodtm/lwjgl/tree/JDK8 (I will merge the current lwjgl/master commits asap)

spasi

This is great, thank you for the time and effort it took!

I'm OK with requiring Java 6 or 7 (for javax.annotation.processing) for building LWJGL, but I'm uncomfortable with compiling everything with source=1.7. The decision has been made that we won't break compatibility with Java 5 (LWJGL 3 does that). Could you please try to make it so that only the "generate-*" targets require Java 6 or 7? You shouldn't even need to change source=1.5 and target=1.5 to use javax.annotation.processing (but if you do, it should be possible to do it only for the generator package and the template interfaces).

broumbroum

Thank you Spasi, I've just reset -source to 1.5 for the base, and, .. well, I'm undertaking tests on my machines.. And it seems ok for the LWJGL building yet  :D