* master: (207 commits)
Convert to using new React Native MainActivity template
Create RealmReactPackage for our Android plugin
Fix doc for Android
NPM ignore react-native/android folder
Skip building Android module under Xcode
Skip building Android module for iOS tests
gitignore Android downloads folder
Update README with instructions to run on Android
Use un-patched RN for Android by installing hook into JSC
cleanup build system
Use Realm in node_modules for ReactTests on Android
Change Demo => ReactTests
adding a 'publishAndroid' task to generate the AAR with prebuilt .so files
Adjust POM_NAME
Use consistent package naming
Remove old Demo files
Add copyright to JNI file
Cleanup platform.hpp
Make our Android module buildable as a dependency
Add `npm test` command
...
fixes
enumeration test and test setup
add async store api tests
Log benchmark test errors and some other minor edits
Only delete .realm* files for tests
sql lite tests
run all the tests
worthless
Make SQLite benchmarks work
Make Realm insertion benchmark work like SQLite
run each test in release multiple times
Open each database once per benchmark test
Use same AppDelegate for benchmarks as the example
This will load the non-dev JS from the packager.
Make the benchmarks actually match their labels
Delete benchmark databases during setup phase
Some minor code style updates to benchmarks
query tests
make query test mostly work
bug fix and improved logging
remove double insertions
improved logging and bugfix
better logging
batch insersions
more reasonable counts
android
This works by installing some assembly into JSGlobalContextCreateInGroup() that will immediately jump out into our own wrapper function so we always can inject the Realm constructor into the context.
remove unnecessary requires
reduce dependencies for test projects
using the patched Facebook React Native repo as a dependency
remvoe unecessary/duplicate folder
remove unused dir
remove unused gradle tasks + unecessary duplicate deps
more gradle conf/dependencies cleanup
* master:
Fix typo in README
Improve clarity of schema parsing and serialization
Add test that checks schema validation
Update README with new Schema API
Cleanup some code and comments to make it consistent
Convert tests to create objects with property objects
Update example apps with new schema API
Remove confusion between propTypes and objectTypes
Simplify object schema info returned from RPC
RPC now keeps object keys in the same order
Change schema API to take properties as an object
Add method to clear mutation listeners in RPC client
Plug small leak from not releasing a JSStringRef
Make RJSStringForValue use consistent exception style
Improve error messages inside RJSUtil
The top-level package.json explicitly includes the directories it needs (vendor/.npmignore cuts down the cruft). The publish-beta.sh script essentially uses `npm pack` to package up the NPM module and then push it into an orphaned `beta` branch.
The target dependencies are discovered implicitly, and removing the use of explicitly defined dependencies actually resolved a very odd bug with Xcode when building ReactExample.app for a device.
This module has build errors with Release configuration and is not necessary. When in Chrome debugging mode, a warning will be issued about missing the RCTSnapshot module though, which is why we linked against it in the first place.
It embeds RealmJS and GCDWebServers frameworks. This fixes#58, where there were issues with building for devices rather than just the simulator.
Some changes were made so that RealmReact.m didn't need to be weakly linked to libReact.a since that would actually cause any executable that uses this framework from being able to compile with bitcode.
The idea is that we will have an NPM module that should always be required to use the Realm JS API. It will handle the underlying implementation details depending on which environment it is being run in (i.e. JavaScriptCore, Chrome, Node).
The focus here was on stubbing out the machinery required to get React Native Chrome debugging working with the Realm API by leveraging synchronous requests. The app itself will need to run a web server that responds to these requests.