Skip to content

Commit 06c1a6c

Browse files
React-native 0.70 support (#511)
* RN 0.70 support * npm scripts * ios/android projects tweaks * sdk 31 * windows PG * rn version string * gradlew +x and strings for RN version * publish preview 0.70 * typo with packageNamePostfix * de-duplicate code from tools.js * xcode 13.4.1 for publish and release * xcode-version not required * removed no-objc-msgsend-selector-stubs option * metro config * package version --------- Co-authored-by: Cedric Guillemet <[email protected]>
1 parent 9452321 commit 06c1a6c

File tree

116 files changed

+33643
-142
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

116 files changed

+33643
-142
lines changed

.github/workflows/ios_android.yml

+5
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ on:
99
release-version:
1010
required: true
1111
type: string
12+
xcode-version:
13+
type: string
14+
default: '13.4.1'
1215

1316
jobs:
1417
Build:
@@ -24,6 +27,8 @@ jobs:
2427
cmake-version: '3.19.6' # See https://gitlab.kitware.com/cmake/cmake/-/issues/22021
2528
- name: Setup Ninja
2629
run: brew install ninja
30+
- name: 'Select XCode ${{ inputs.xcode-version }}'
31+
run: sudo xcode-select --switch /Applications/Xcode_${{ inputs.xcode-version }}.app/Contents/Developer
2732
- name: NPM Install (Playground)
2833
run: npm install
2934
working-directory: ./Apps/Playground

.github/workflows/pr.yml

+16-4
Original file line numberDiff line numberDiff line change
@@ -129,25 +129,37 @@ jobs:
129129
build-android-ios-065:
130130
uses: ./.github/workflows/ios_android.yml
131131
with:
132-
react-native-version: 0.65
132+
react-native-version: '0.65'
133133
release-version: 0.0.${GITHUB_SHA::8}
134134

135135
build-android-ios-069:
136136
uses: ./.github/workflows/ios_android.yml
137137
with:
138-
react-native-version: 0.69
138+
react-native-version: '0.69'
139+
release-version: 0.0.${GITHUB_SHA::8}
140+
141+
build-android-ios-070:
142+
uses: ./.github/workflows/ios_android.yml
143+
with:
144+
react-native-version: '0.70'
139145
release-version: 0.0.${GITHUB_SHA::8}
140146

141147
build-windows-065:
142148
uses: ./.github/workflows/windows.yml
143149
with:
144-
react-native-version: 0.65
150+
react-native-version: '0.65'
145151
release-version: 0.0.${GITHUB_SHA::8}
146152

147153
build-windows-069:
148154
uses: ./.github/workflows/windows.yml
149155
with:
150-
react-native-version: 0.69
156+
react-native-version: '0.69'
157+
release-version: 0.0.${GITHUB_SHA::8}
158+
159+
build-windows-070:
160+
uses: ./.github/workflows/windows.yml
161+
with:
162+
react-native-version: '0.70'
151163
release-version: 0.0.${GITHUB_SHA::8}
152164

153165
build-typescript:

.github/workflows/publish.yml

+43-7
Original file line numberDiff line numberDiff line change
@@ -7,37 +7,49 @@ jobs:
77
build-android-ios-064:
88
uses: ./.github/workflows/ios_android.yml
99
with:
10-
react-native-version: 0.64
10+
react-native-version: '0.64'
1111
release-version: ${GITHUB_REF/refs\/tags\//}
1212

1313
build-android-ios-065:
1414
uses: ./.github/workflows/ios_android.yml
1515
with:
16-
react-native-version: 0.65
16+
react-native-version: '0.65'
1717
release-version: ${GITHUB_REF/refs\/tags\//}
1818

1919
build-android-ios-069:
2020
uses: ./.github/workflows/ios_android.yml
2121
with:
22-
react-native-version: 0.69
22+
react-native-version: '0.69'
23+
release-version: ${GITHUB_REF/refs\/tags\//}
24+
25+
build-android-ios-070:
26+
uses: ./.github/workflows/ios_android.yml
27+
with:
28+
react-native-version: '0.70'
2329
release-version: ${GITHUB_REF/refs\/tags\//}
2430

2531
build-windows-064:
2632
uses: ./.github/workflows/windows.yml
2733
with:
28-
react-native-version: 0.64
34+
react-native-version: '0.64'
2935
release-version: ${GITHUB_REF/refs\/tags\//}
3036

3137
build-windows-065:
3238
uses: ./.github/workflows/windows.yml
3339
with:
34-
react-native-version: 0.65
40+
react-native-version: '0.65'
3541
release-version: ${GITHUB_REF/refs\/tags\//}
3642

3743
build-windows-069:
3844
uses: ./.github/workflows/windows.yml
3945
with:
40-
react-native-version: 0.69
46+
react-native-version: '0.69'
47+
release-version: ${GITHUB_REF/refs\/tags\//}
48+
49+
build-windows-070:
50+
uses: ./.github/workflows/windows.yml
51+
with:
52+
react-native-version: '0.70'
4153
release-version: ${GITHUB_REF/refs\/tags\//}
4254

4355
build-typescript:
@@ -46,7 +58,7 @@ jobs:
4658
release-version: ${GITHUB_REF/refs\/tags\//}
4759

4860
package:
49-
needs: [build-typescript, build-android-ios-064, build-android-ios-065, build-android-ios-069, build-windows-064, build-windows-065, build-windows-069]
61+
needs: [build-typescript, build-android-ios-064, build-android-ios-065, build-android-ios-069, build-android-ios-070, build-windows-064, build-windows-065, build-windows-069, build-windows-070]
5062
runs-on: macos-latest
5163
steps:
5264
- name: Checkout Repo
@@ -74,6 +86,11 @@ jobs:
7486
with:
7587
name: 'Assembled-iOSAndroid0.69'
7688
path: Package/Assembled-iOSAndroid0.69
89+
- name: Download Assembled-iOSAndroid 0.70 Folder
90+
uses: actions/download-artifact@v2
91+
with:
92+
name: 'Assembled-iOSAndroid0.70'
93+
path: Package/Assembled-iOSAndroid0.70
7794
- name: Download Assembled-Windows 0.64 Folder
7895
uses: actions/download-artifact@v2
7996
with:
@@ -89,6 +106,11 @@ jobs:
89106
with:
90107
name: 'Assembled-Windows0.69'
91108
path: Package/Assembled-Windows0.69
109+
- name: Download Assembled-Windows 0.70 Folder
110+
uses: actions/download-artifact@v2
111+
with:
112+
name: 'Assembled-Windows0.70'
113+
path: Package/Assembled-Windows0.70
92114
- name: Display structure of downloaded Assembled and Assembled-Windows folders
93115
run: ls -R
94116
- name: Setup Node.js
@@ -126,6 +148,13 @@ jobs:
126148
working-directory: ./Package/Assembled-iOSAndroid0.69
127149
env:
128150
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
151+
- name: Version & Publish Package @babylonjs/react-native-iosandroid-0-70
152+
run: |
153+
npm version --no-git-tag-version ${GITHUB_REF/refs\/tags\//}
154+
npm publish --access public
155+
working-directory: ./Package/Assembled-iOSAndroid0.70
156+
env:
157+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
129158

130159
- name: Version & Publish Package @babylonjs/react-native-windows-0-64
131160
run: |
@@ -148,3 +177,10 @@ jobs:
148177
working-directory: ./Package/Assembled-Windows0.69
149178
env:
150179
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
180+
- name: Version & Publish Package @babylonjs/react-native-windows-0-70
181+
run: |
182+
npm version --no-git-tag-version ${GITHUB_REF/refs\/tags\//}
183+
npm publish --access public
184+
working-directory: ./Package/Assembled-Windows0.70
185+
env:
186+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

.github/workflows/publish_preview.yml

+43-7
Original file line numberDiff line numberDiff line change
@@ -17,37 +17,49 @@ jobs:
1717
build-android-ios-064:
1818
uses: ./.github/workflows/ios_android.yml
1919
with:
20-
react-native-version: 0.64
20+
react-native-version: '0.64'
2121
release-version: ${{ github.event.inputs.release_version }}
2222

2323
build-android-ios-065:
2424
uses: ./.github/workflows/ios_android.yml
2525
with:
26-
react-native-version: 0.65
26+
react-native-version: '0.65'
2727
release-version: ${{ github.event.inputs.release_version }}
2828

2929
build-android-ios-069:
3030
uses: ./.github/workflows/ios_android.yml
3131
with:
32-
react-native-version: 0.69
32+
react-native-version: '0.69'
33+
release-version: ${{ github.event.inputs.release_version }}
34+
35+
build-android-ios-070:
36+
uses: ./.github/workflows/ios_android.yml
37+
with:
38+
react-native-version: '0.70'
3339
release-version: ${{ github.event.inputs.release_version }}
3440

3541
build-windows-064:
3642
uses: ./.github/workflows/windows.yml
3743
with:
38-
react-native-version: 0.64
44+
react-native-version: '0.64'
3945
release-version: ${{ github.event.inputs.release_version }}
4046

4147
build-windows-065:
4248
uses: ./.github/workflows/windows.yml
4349
with:
44-
react-native-version: 0.65
50+
react-native-version: '0.65'
4551
release-version: ${{ github.event.inputs.release_version }}
4652

4753
build-windows-069:
4854
uses: ./.github/workflows/windows.yml
4955
with:
50-
react-native-version: 0.69
56+
react-native-version: '0.69'
57+
release-version: ${{ github.event.inputs.release_version }}
58+
59+
build-windows-070:
60+
uses: ./.github/workflows/windows.yml
61+
with:
62+
react-native-version: '0.70'
5163
release-version: ${{ github.event.inputs.release_version }}
5264

5365
build-typescript:
@@ -56,7 +68,7 @@ jobs:
5668
release-version: ${{ github.event.inputs.release_version }}
5769

5870
package:
59-
needs: [build-typescript, build-android-ios-064, build-android-ios-065, build-android-ios-069, build-windows-064, build-windows-065, build-windows-069]
71+
needs: [build-typescript, build-android-ios-064, build-android-ios-065, build-android-ios-069, build-android-ios-070, build-windows-064, build-windows-065, build-windows-069, build-windows-070]
6072
runs-on: macos-latest
6173
steps:
6274
- name: Checkout Repo
@@ -84,6 +96,11 @@ jobs:
8496
with:
8597
name: 'Assembled-iOSAndroid0.69'
8698
path: Package/Assembled-iOSAndroid0.69
99+
- name: Download Assembled-iOSAndroid 0.70 Folder
100+
uses: actions/download-artifact@v2
101+
with:
102+
name: 'Assembled-iOSAndroid0.70'
103+
path: Package/Assembled-iOSAndroid0.70
87104
- name: Download Assembled-Windows 0.64 Folder
88105
uses: actions/download-artifact@v2
89106
with:
@@ -99,6 +116,11 @@ jobs:
99116
with:
100117
name: 'Assembled-Windows0.69'
101118
path: Package/Assembled-Windows0.69
119+
- name: Download Assembled-Windows 0.70 Folder
120+
uses: actions/download-artifact@v2
121+
with:
122+
name: 'Assembled-Windows0.70'
123+
path: Package/Assembled-Windows0.70
102124
- name: Display structure of downloaded Assembled and Assembled-Windows folders
103125
run: ls -R
104126
- name: Setup Node.js
@@ -136,6 +158,13 @@ jobs:
136158
working-directory: ./Package/Assembled-iOSAndroid0.69
137159
env:
138160
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
161+
- name: Version & Publish Package @babylonjs/react-native-iosandroid-0-70
162+
run: |
163+
npm version --no-git-tag-version ${{ github.event.inputs.release_version }}
164+
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }}
165+
working-directory: ./Package/Assembled-iOSAndroid0.70
166+
env:
167+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
139168

140169
- name: Version & Publish Package @babylonjs/react-native-windows-0-64
141170
run: |
@@ -156,5 +185,12 @@ jobs:
156185
npm version --no-git-tag-version ${{ github.event.inputs.release_version }}
157186
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }}
158187
working-directory: ./Package/Assembled-Windows0.69
188+
env:
189+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
190+
- name: Version & Publish Package @babylonjs/react-native-windows-0-70
191+
run: |
192+
npm version --no-git-tag-version ${{ github.event.inputs.release_version }}
193+
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }}
194+
working-directory: ./Package/Assembled-Windows0.70
159195
env:
160196
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

Apps/Playground/0.64/scripts/tools.js

+1-37
Original file line numberDiff line numberDiff line change
@@ -1,37 +1 @@
1-
const os = require('os');
2-
const shelljs = require('shelljs');
3-
const chalk = require('chalk');
4-
5-
function iosCmake() {
6-
console.log(chalk.black.bgCyan('Running CMake for iOS...'));
7-
shelljs.exec('cmake -G Xcode -DCMAKE_TOOLCHAIN_FILE=../submodules/BabylonNative/Dependencies/ios-cmake/ios.toolchain.cmake -DPLATFORM=OS64COMBINED -DENABLE_ARC=0 -DENABLE_BITCODE=1 -DDEPLOYMENT_TARGET=12 -DENABLE_PCH=OFF .', {cwd: 'node_modules/@babylonjs/react-native-iosandroid/ios'});
8-
}
9-
10-
function postInstall() {
11-
const version = shelljs.exec('npm --version', {silent: true});
12-
13-
console.log(chalk.black.bgCyan('Installing Babylon React Native npm packages...'));
14-
shelljs.exec('npm install --legacy-peer-deps', {cwd: '../../../Modules/@babylonjs/react-native'});
15-
16-
console.log(chalk.black.bgCyan('Updating submodules...'));
17-
shelljs.exec('git submodule update --init --recursive', {cwd: '../../../'});
18-
19-
if (os.platform() === 'darwin') {
20-
iosCmake();
21-
22-
console.log(chalk.black.bgCyan('Installing iOS pods...'));
23-
shelljs.exec('pod install', {cwd: 'ios'});
24-
}
25-
}
26-
27-
// First arg will be 'node', second arg will be 'tools.js'
28-
const [command] = process.argv.slice(2);
29-
30-
if (command === 'postinstall') {
31-
postInstall();
32-
} else if (command === 'iosCMake') {
33-
iosCmake();
34-
} else {
35-
console.error(chalk.black.bgRedBright(`Unkown command: ${command}`));
36-
process.exit(1);
37-
}
1+
require('../../scripts/tools.js')

Apps/Playground/0.65/scripts/tools.js

+1-37
Original file line numberDiff line numberDiff line change
@@ -1,37 +1 @@
1-
const os = require('os');
2-
const shelljs = require('shelljs');
3-
const chalk = require('chalk');
4-
5-
function iosCmake() {
6-
console.log(chalk.black.bgCyan('Running CMake for iOS...'));
7-
shelljs.exec('cmake -G Xcode -DCMAKE_TOOLCHAIN_FILE=../submodules/BabylonNative/Dependencies/ios-cmake/ios.toolchain.cmake -DPLATFORM=OS64COMBINED -DENABLE_ARC=0 -DENABLE_BITCODE=1 -DDEPLOYMENT_TARGET=12 -DENABLE_PCH=OFF .', {cwd: 'node_modules/@babylonjs/react-native-iosandroid/ios'});
8-
}
9-
10-
function postInstall() {
11-
const version = shelljs.exec('npm --version', {silent: true});
12-
13-
console.log(chalk.black.bgCyan('Installing Babylon React Native npm packages...'));
14-
shelljs.exec('npm install --legacy-peer-deps', {cwd: '../../../Modules/@babylonjs/react-native'});
15-
16-
console.log(chalk.black.bgCyan('Updating submodules...'));
17-
shelljs.exec('git submodule update --init --recursive', {cwd: '../../../'});
18-
19-
if (os.platform() === 'darwin') {
20-
iosCmake();
21-
22-
console.log(chalk.black.bgCyan('Installing iOS pods...'));
23-
shelljs.exec('pod install', {cwd: 'ios'});
24-
}
25-
}
26-
27-
// First arg will be 'node', second arg will be 'tools.js'
28-
const [command] = process.argv.slice(2);
29-
30-
if (command === 'postinstall') {
31-
postInstall();
32-
} else if (command === 'iosCMake') {
33-
iosCmake();
34-
} else {
35-
console.error(chalk.black.bgRedBright(`Unkown command: ${command}`));
36-
process.exit(1);
37-
}
1+
require('../../scripts/tools.js')

0 commit comments

Comments
 (0)