|
11 | 11 | xcode_app_tmp_path: "/tmp/{{ xcode_app }}" |
12 | 12 | xcode_app_dest_path: "/Applications/{{ xcode_app }}" |
13 | 13 | xcode_sas_token_var: "XCode{{ xcode_version | replace('.', '_') }}_SAS_TOKEN" |
| 14 | + xcode_appleopenjdk_tmp: "/tmp/appleopenjdk_clone" |
14 | 15 |
|
15 | 16 | # Xcode {{ xcode_version }} is needed to build JDK 17+ |
16 | 17 | # Xcode {{ xcode_version }} can be downloaded from https://developer.apple.com/download/all after authentication with apple ID and password |
|
57 | 58 | dest: "{{ xcode_app_dest_path }}" |
58 | 59 | remote_src: true |
59 | 60 |
|
| 61 | + - name: Obtain JavaNativeFoundation from appleopenjdk |
| 62 | + shell: | |
| 63 | + mkdir -p "{{ xcode_appleopenjdk_tmp }}" |
| 64 | + cd "{{ xcode_appleopenjdk_tmp }}" |
| 65 | + git clone https://github.com/apple/openjdk.git appleopenjdk |
| 66 | + cd appleopenjdk |
| 67 | + echo "Checking out apple/openjdk latest commit" |
| 68 | + git checkout 356491bda24e6c4781c6b650f4efda05a6bc1296 |
| 69 | +
|
| 70 | + - name: Apply JavaNativeFoundation patch to Xcode |
| 71 | + shell: | |
| 72 | + mkdir {{ xcode_app_dest_path }}/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/JavaNativeFoundation.framework/Versions/Current/Headers |
| 73 | + cp {{ xcode_appleopenjdk_tmp }}/appleopenjdk/apple/JavaNativeFoundation/JavaNativeFoundation/*.h {{ xcode_app_dest_path }}/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/JavaNativeFoundation.framework/Versions/Current/Headers |
| 74 | + cp -R {{ xcode_appleopenjdk_tmp }}/appleopenjdk/apple/JavaNativeFoundation/JavaNativeFoundation/Modules {{ xcode_app_dest_path }}/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/JavaNativeFoundation.framework/Versions/Current |
| 75 | + ln -s Versions/Current/Headers {{ xcode_app_dest_path }}/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/JavaNativeFoundation.framework/Headers |
| 76 | + ln -s Versions/Current/Modules {{ xcode_app_dest_path }}/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/JavaNativeFoundation.framework/Modules |
| 77 | +
|
| 78 | + - name: Clean up appleopenjdk |
| 79 | + shell: rm -rf "{{ xcode_appleopenjdk_tmp }}" |
| 80 | + |
60 | 81 | - name: Select Xcode as the default Xcode |
61 | 82 | shell: sudo xcode-select --switch "{{ xcode_app_dest_path }}" |
62 | 83 |
|
|
0 commit comments