forked from BabylonJS/BabylonReactNative
-
Notifications
You must be signed in to change notification settings - Fork 0
Permalink
Choose a base ref
{{ refName }}
default
Choose a head ref
{{ refName }}
default
Comparing changes
Choose two branches to see what’s changed or to start a new pull request.
If you need to, you can also or
learn more about diff comparisons.
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also .
Learn more about diff comparisons here.
base repository: ryantrem/BabylonReactNative
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 0.0.7-alpha.5
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
...
head repository: ryantrem/BabylonReactNative
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: binary-builds
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
- 8 commits
- 6 files changed
- 2 contributors
Commits on Jul 8, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 0ded9fb - Browse repository at this point
Copy the full SHA 0ded9fbView commit details -
Binary package build (BabylonJS#44)
This change supports building an NPM package with pre-compiled binaries. Notable pieces of this change: - There is a new Package directory, which contains a few static support files, and a Gulp based build script. I decided to use Gulp because it is cross platform, commonly used for web-tech based projects, and makes it easy to break the build script into separable pieces. My plan is to have a PR build that does gulp buildIOS and gulp buildAndroid in parallel, and have the CI build that does gulp (invokes the default function) to build both iOS and Android and then publish the package. These PR/CI build changes will come in a later PR. - The build script builds Android by just building the Playground app and then copying over the libBabylonNative.so files for different architectures, plus some Android specific interop source code files that are compiled into the consuming app. - For Android, we additionally include a static build.gradle that is exactly what is generated by the React Native CLI tools for new packages (which is compatible with React Native consuming apps), plus two additions: 1) It produces a build error if the min SDK version is less than 18 (required for GLES3), 2) it adds a dependency on ARCore. - The build script builds iOS through a CMakeLists.txt that includes the regular iOS CMakeLists.txt from the source package, and then adds a few extra steps to scoop up all the static libs we care about into a single directory. These libs are run through the lipo tool to combine the different architectures for each lib into a set of "universal libs" for all supported architectures. This makes them compatible with CocoaPods, where we do not have the ability to specify different static libs for different architectures. The "universal libs" plus some iOS specific interop source code files are copied over to the precompiled package directory. - For iOS, we additionally include a static podspec that includes all the static libs, plus the loose source files that the consuming app needs to compile. - The PackageTest app's @babylonjs/react-native dependency now points to the locally built binary package (rather than the source package). - The PackageTest app's xcworkspace no longer references a ReactNativeBabylon xcodeproj since it is now pulling in precompiled binaries. Other smaller changes included in this PR: - Update to the BabylonNative submodule to the latest master, which includes fixes for warnings as errors on iOS and Android. This pulled in an updated version of glslang, which produces two additional libs, which needed to be added to the list of libs to link in the source-based package's podspec. - I updated the iOS deployment target of the PackageTest app to be 12 instead of 9. This just got missed on the initial checkin, and actually results in build errors for Release (since the Babylon React Native package declares a minimum deployment target of 12). - The iOS CMakeLists.txt now explicitly uses ${CMAKE_CURRENT_LIST_DIR} since paths are relative to the CMakeLists.txt file itself. Without specifying this, paths are relative to the "top level" CMakeLists.txt (in this case, the one in the Package directory that includes this CMakeLists.txt. - Updates to the README.md to reflect the changes around the binary packaging.
Configuration menu - View commit details
-
Copy full SHA for 4bbfb84 - Browse repository at this point
Copy the full SHA 4bbfb84View commit details -
Configuration menu - View commit details
-
Copy full SHA for a7a811b - Browse repository at this point
Copy the full SHA a7a811bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 83e70e5 - Browse repository at this point
Copy the full SHA 83e70e5View commit details -
Merge branch 'binary-builds' of https://github.com/BabylonJS/BabylonR…
…eactNative into binary-builds
Configuration menu - View commit details
-
Copy full SHA for 6870a4f - Browse repository at this point
Copy the full SHA 6870a4fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 89542f8 - Browse repository at this point
Copy the full SHA 89542f8View commit details -
Configuration menu - View commit details
-
Copy full SHA for e56cba3 - Browse repository at this point
Copy the full SHA e56cba3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 841775b - Browse repository at this point
Copy the full SHA 841775bView commit details
Loading
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff 0.0.7-alpha.5...binary-builds