[Build] Update MACOSX_DEPLOYMENT_TARGET to macOS 11#3185
[Build] Update MACOSX_DEPLOYMENT_TARGET to macOS 11#3185HannesWell wants to merge 1 commit intoeclipse-platform:masterfrom
Conversation
|
CC @Phillipus and @BeckerWdf since you are also interested in macOS and maybe/probably also in the minimally supported versions. |
72095c2 to
4bced23
Compare
That's only possible after the deprecation warnings have been resolved: Or deprecation warnings are explicitly excluded. |
HeikoKlare
left a comment
There was a problem hiding this comment.
Fully agree with bumping the minimal macOS version. Cutting off support for old versions that we do not properly test anyway is good to move foward and macOS 11 is still rather old anyway.
4bced23 to
527a168
Compare
Following the bump of the minimum supported macOS version to 11.0 (see eclipse-platform#3185), this removes all code paths that were only needed for older macOS versions. The search was performed by scanning all Java files in the cocoa-specific directories for OS.VERSION comparisons and isBigSurOrLater() calls, then removing branches that are now always-false (< some version < 11.0) or inlining branches that are now always-true (>= some version <= 11.0).
|
Thanks for the pointer, but I'm not exactly sure what the conclusion is? |
Yes. It just seemed a relevant reference. |
527a168 to
fb59245
Compare
And enable the compiler options equivalent to the Xcode options - CLANG_WARN_UNGUARDED_AVAILABILITY = yes - GCC_TREAT_WARNINGS_AS_ERRORS = yes
fb59245 to
6f693d0
Compare
macOS 10.10aka OS X Yosemite, was released 2014, almost 12 years ago and I think there is a high chance that the currently built binaries don't work at that version at all. To my knowledge, there is no evidence that this is still a working value) According to the linked Wikipedia article macOS 10.10 received the last security patches 2017, 9 years ago, so one should really not use it anymore.Furthermore SWT now requires Java-21:
eclipse.platform.swt/bundles/org.eclipse.swt/META-INF/MANIFEST.MF
Line 26 in 98062b7
And at least the Oracle JDK-21 requires at least macOS 14:
https://www.oracle.com/java/technologies/javase/products-doc-jdk21certconfig.html
Temurin JDK-21 runs on macOS 12, but older macOS versions are not mentioned the support page (so their status is unclear):
https://adoptium.net/supported-platforms
Still the Gemini AI claims Temurin JDK-21 also runs on macOS 11, but fails to provide a reliable source.
At this moment we built and test on
macOS 11aka Big Sur (although this hardware is about to be replaced with at least), macOS 11 is proven to work at this moment.Therefore my proposal is to move
MACOSX_DEPLOYMENT_TARGETto11.According to the Project-Plan Eclipse actually only supports macOS 14 and later:
https://eclipse.dev/eclipse/development/plans.html?file=plans/eclipse_project_plan_4_40.xml
So this very minimal version would still be way below the 'actively' supported version.
And given that the two mac test and build machines are about to be replaced (see eclipse-platform/eclipse.platform.releng.aggregator#3315), the 'actively' supported version will probably be raised soon as well.
In order to verify the deployment target at least to some extend, this also attempts to enable the compiler options equivalent to the Xcode options
CLANG_WARN_UNGUARDED_AVAILABILITY = yesGCC_TREAT_WARNINGS_AS_ERRORS = yes