Skip to content

Commit

Permalink
Remove xr/camera build targets for basekit (#605)
Browse files Browse the repository at this point in the history
* Remove xr/camera build targets for basekit

* extra kit libs

* debug cmake

* test basekit

* test with non existent targets

* fix typo

* target links

* cmake deps

* removed xr include

* android link

* private

* group option for xr/camera in shared cmakelists
  • Loading branch information
CedricGuillemet authored Sep 28, 2023
1 parent a5b239d commit 6dc5352
Show file tree
Hide file tree
Showing 7 changed files with 104 additions and 35 deletions.
41 changes: 23 additions & 18 deletions .github/workflows/publish_preview.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,14 @@ on:
default: 1.0.0
NPM_tag:
description: 'NPM Tag'
required: true
required: true
type: string
default: preview
NPM_publish_arg:
description: 'NPM Publish arg'
required: false
type: string
default: --dry-run

jobs:
build-android-ios-064:
Expand Down Expand Up @@ -186,79 +191,79 @@ jobs:
- name: Version & Publish Package @babylonjs/react-native
run: |
npm version --no-git-tag-version ${{ github.event.inputs.release_version }}
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }}
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }} ${{ github.event.inputs.NPM_publish_arg }}
working-directory: ./Package/Assembled
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

- name: Version & Publish Package @babylonjs/react-native-iosandroid-0-64
run: |
npm version --no-git-tag-version ${{ github.event.inputs.release_version }}
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }}
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }} ${{ github.event.inputs.NPM_publish_arg }}
working-directory: ./Package/Assembled-iOSAndroid0.64
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Version & Publish Package @babylonjs/react-native-iosandroid-0-65
run: |
npm version --no-git-tag-version ${{ github.event.inputs.release_version }}
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }}
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }} ${{ github.event.inputs.NPM_publish_arg }}
working-directory: ./Package/Assembled-iOSAndroid0.65
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Version & Publish Package @babylonjs/react-native-iosandroid-0-69
run: |
npm version --no-git-tag-version ${{ github.event.inputs.release_version }}
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }}
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }} ${{ github.event.inputs.NPM_publish_arg }}
working-directory: ./Package/Assembled-iOSAndroid0.69
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Version & Publish Package @babylonjs/react-native-iosandroid-0-70
run: |
npm version --no-git-tag-version ${{ github.event.inputs.release_version }}
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }}
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }} ${{ github.event.inputs.NPM_publish_arg }}
working-directory: ./Package/Assembled-iOSAndroid0.70
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Version & Publish Package @babylonjs/react-native-iosandroid-0-71
run: |
npm version --no-git-tag-version ${{ github.event.inputs.release_version }}
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }}
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }} ${{ github.event.inputs.NPM_publish_arg }}
working-directory: ./Package/Assembled-iOSAndroid0.71
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

- name: Version & Publish Package @babylonjs/react-native-windows-0-64
run: |
npm version --no-git-tag-version ${{ github.event.inputs.release_version }}
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }}
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }} ${{ github.event.inputs.NPM_publish_arg }}
working-directory: ./Package/Assembled-Windows0.64
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Version & Publish Package @babylonjs/react-native-windows-0-65
run: |
npm version --no-git-tag-version ${{ github.event.inputs.release_version }}
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }}
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }} ${{ github.event.inputs.NPM_publish_arg }}
working-directory: ./Package/Assembled-Windows0.65
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Version & Publish Package @babylonjs/react-native-windows-0-69
run: |
npm version --no-git-tag-version ${{ github.event.inputs.release_version }}
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }}
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }} ${{ github.event.inputs.NPM_publish_arg }}
working-directory: ./Package/Assembled-Windows0.69
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Version & Publish Package @babylonjs/react-native-windows-0-70
run: |
npm version --no-git-tag-version ${{ github.event.inputs.release_version }}
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }}
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }} ${{ github.event.inputs.NPM_publish_arg }}
working-directory: ./Package/Assembled-Windows0.70
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Version & Publish Package @babylonjs/react-native-windows-0-71
run: |
npm version --no-git-tag-version ${{ github.event.inputs.release_version }}
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }}
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }} ${{ github.event.inputs.NPM_publish_arg }}
working-directory: ./Package/Assembled-Windows0.71
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
Expand All @@ -267,42 +272,42 @@ jobs:
- name: Version & Publish Package @babylonjs/react-native-basekit-iosandroid-0-69
run: |
npm version --no-git-tag-version ${{ github.event.inputs.release_version }}
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }}
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }} ${{ github.event.inputs.NPM_publish_arg }}
working-directory: ./Package/Assembled-BaseKit-iOSAndroid0.69
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Version & Publish Package @babylonjs/react-native-basekit-iosandroid-0-70
run: |
npm version --no-git-tag-version ${{ github.event.inputs.release_version }}
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }}
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }} ${{ github.event.inputs.NPM_publish_arg }}
working-directory: ./Package/Assembled-BaseKit-iOSAndroid0.70
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Version & Publish Package @babylonjs/react-native-basekit-iosandroid-0-71
run: |
npm version --no-git-tag-version ${{ github.event.inputs.release_version }}
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }}
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }} ${{ github.event.inputs.NPM_publish_arg }}
working-directory: ./Package/Assembled-BaseKit-iOSAndroid0.71
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Version & Publish Package @babylonjs/react-native-basekit-windows-0-69
run: |
npm version --no-git-tag-version ${{ github.event.inputs.release_version }}
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }}
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }} ${{ github.event.inputs.NPM_publish_arg }}
working-directory: ./Package/Assembled-BaseKit-Windows0.69
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Version & Publish Package @babylonjs/react-native-basekit-windows-0-70
run: |
npm version --no-git-tag-version ${{ github.event.inputs.release_version }}
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }}
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }} ${{ github.event.inputs.NPM_publish_arg }}
working-directory: ./Package/Assembled-BaseKit-Windows0.70
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Version & Publish Package @babylonjs/react-native-basekit-windows-0-71
run: |
npm version --no-git-tag-version ${{ github.event.inputs.release_version }}
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }}
npm publish --access public --tag ${{ github.event.inputs.NPM_tag }} ${{ github.event.inputs.NPM_publish_arg }}
working-directory: ./Package/Assembled-BaseKit-Windows0.71
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
58 changes: 58 additions & 0 deletions .github/workflows/testVersion.yml
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,64 @@ jobs:
name: 'iOSApp'
path: Playground/ios/playgroundSimulator.xcarchive


build-android-basekit:
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/[email protected]
- name: Build Playground Android
run: |
npm uninstall -g react-native-cli @react-native-community/cli
npx react-native init Playground --version "${{ github.event.inputs.RN_Version }}" --verbose
cp Apps/Playground/playground-shared/App.tsx ./Playground/App.tsx
cd Playground
npm install @babylonjs/core@${{ github.event.inputs.BJS_Version }}
npm install @babylonjs/loaders@${{ github.event.inputs.BJS_Version }}
npm install @babylonjs/react-native@${{ github.event.inputs.BRN_Version }}
npm install @babylonjs/react-native-basekit-iosandroid-${{ github.event.inputs.BRN_Postfix }}@${{ github.event.inputs.BRN_Version }}
npm install @react-native-community/slider
cd android
./gradlew app:assembleRelease --stacktrace --info
- name: Upload APK
uses: actions/upload-artifact@v2
with:
name: 'AndroidBasekitAPK'
path: Playground/android/app/build/outputs/apk/release/app-release.apk

build-ios-basekit:
runs-on: macos-latest
steps:
- name: Checkout Repo
uses: actions/[email protected]
- name: Clone iOS Toolchain
run: |
git clone https://github.com/leetal/ios-cmake.git
- name: Build Playground iOS
run: |
brew install node
brew install watchman
npm uninstall -g react-native-cli @react-native-community/cli
npx react-native init Playground --version "${{ github.event.inputs.RN_Version }}" --verbose --skip-install
cp Apps/Playground/playground-shared/App.tsx ./Playground/App.tsx
cd Playground
yarn install
npm install @babylonjs/core@${{ github.event.inputs.BJS_Version }}
npm install @babylonjs/loaders@${{ github.event.inputs.BJS_Version }}
npm install @babylonjs/react-native@${{ github.event.inputs.BRN_Version }}
npm install @babylonjs/react-native-basekit-iosandroid-${{ github.event.inputs.BRN_Postfix }}@${{ github.event.inputs.BRN_Version }}
npm install @react-native-community/slider
cd ios
pod install
#xcodebuild -sdk iphoneos -configuration Release -workspace Playground.xcworkspace -scheme Playground build CODE_SIGNING_ALLOWED=NO
xcodebuild -sdk iphonesimulator -arch x86_64 -configuration Release -workspace Playground.xcworkspace -scheme Playground build CODE_SIGNING_ALLOWED=NO -archivePath ./playgroundSimulator.xcarchive archive
- name: Upload iOS App
uses: actions/upload-artifact@v2
with:
name: 'iOSBasekitApp'
path: Playground/ios/playgroundSimulator.xcarchive
# test jobs not working
# test-android:
# needs: [build-android]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,9 @@ add_library(BabylonNative SHARED
${SHARED_SOURCES})

if (${BASEKIT_BUILD})
target_compile_definitions(BabylonNative PRIVATE BASEKIT_BUILD)
target_compile_definitions(BabylonNative PRIVATE BASEKIT_BUILD=1)
else()
set(ADDITIONAL_LIBRARIES NativeXr NativeCamera)
endif()

set(TURBOMODULE_DIR "${REACTNATIVE_DIR_CMAKE}/ReactAndroid/src/main/jni/react/turbomodule/")
Expand Down Expand Up @@ -139,16 +141,15 @@ if (EXISTS "${TURBOMODULE_DIR}/CMakeLists.txt")
AndroidExtensions
GraphicsDevice
JsRuntime
NativeCamera
NativeCapture
NativeEngine
NativeInput
NativeOptimizations
NativeTracing
NativeXr
Window
XMLHttpRequest
Canvas)
Canvas
${ADDITIONAL_LIBRARIES})

# We use an interface target to propagate flags to all the generated targets
# such as the folly flags or others.
Expand Down Expand Up @@ -201,14 +202,13 @@ else()
AndroidExtensions
GraphicsDevice
JsRuntime
NativeCamera
NativeCapture
NativeEngine
NativeInput
NativeOptimizations
NativeTracing
NativeXr
Window
XMLHttpRequest
Canvas)
Canvas
${ADDITIONAL_LIBRARIES})
endif()
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
#include <Babylon/JsRuntime.h>
#include <Babylon/Plugins/NativeEngine.h>
#include <Babylon/Plugins/NativeInput.h>
#include <Babylon/Plugins/NativeXr.h>
#include <Babylon/Polyfills/Window.h>
#include <Babylon/Polyfills/XMLHttpRequest.h>

Expand Down
9 changes: 5 additions & 4 deletions Modules/@babylonjs/react-native-iosandroid/ios/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,9 @@ add_library(BabylonNative
${SHARED_SOURCES})

if (${BASEKIT_BUILD})
target_compile_definitions(BabylonNative PRIVATE BASEKIT_BUILD)
target_compile_definitions(BabylonNative PRIVATE BASEKIT_BUILD=1)
else()
set(ADDITIONAL_LIBRARIES NativeXr NativeCamera)
endif()

target_include_directories(BabylonNative PRIVATE ${SHARED_INCLUDES})
Expand All @@ -50,16 +52,15 @@ target_link_libraries(BabylonNative
jsi
reactnative
JsRuntime
NativeCamera
NativeCapture
NativeEngine
NativeInput
NativeOptimizations
NativeTracing
NativeXr
Window
XMLHttpRequest
Canvas)
Canvas
${ADDITIONAL_LIBRARIES})

# TODO: For some reason these don't work, so we specify these in the CMake command line args.
set_target_properties(BabylonNative PROPERTIES
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,9 @@ add_library(BabylonNative
${SHARED_SOURCES})

if (${BASEKIT_BUILD})
target_compile_definitions(BabylonNative PRIVATE BASEKIT_BUILD)
target_compile_definitions(BabylonNative PRIVATE BASEKIT_BUILD=1)
else()
set(ADDITIONAL_LIBRARIES NativeXr NativeCamera)
endif()

target_include_directories(BabylonNative PRIVATE ${SHARED_INCLUDES})
Expand All @@ -37,13 +39,12 @@ target_link_libraries(BabylonNative
GraphicsDevice
jsi
JsRuntime
NativeCamera
NativeCapture
NativeEngine
NativeInput
NativeOptimizations
NativeTracing
NativeXr
Window
XMLHttpRequest
Canvas)
Canvas
${ADDITIONAL_LIBRARIES})
7 changes: 6 additions & 1 deletion Modules/@babylonjs/react-native/shared/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,9 @@ set(SHARED_INCLUDES
set(SHARED_SOURCES
"${CMAKE_CURRENT_LIST_DIR}/DispatchFunction.h"
"${CMAKE_CURRENT_LIST_DIR}/BabylonNative.h"
"${CMAKE_CURRENT_LIST_DIR}/BabylonNative.cpp")
"${CMAKE_CURRENT_LIST_DIR}/BabylonNative.cpp")

if (${BASEKIT_BUILD})
set(BABYLON_NATIVE_PLUGIN_NATIVEXR OFF CACHE BOOL "")
set(BABYLON_NATIVE_PLUGIN_NATIVECAMERA OFF CACHE BOOL "")
endif()

0 comments on commit 6dc5352

Please sign in to comment.