Skip to content

Commit

Permalink
Invert native dependency of new bridge -> old bridge
Browse files Browse the repository at this point in the history
Reviewed By: mhorowitz

Differential Revision: D3400379

fbshipit-source-id: d641846261977b4f77c2d215bef94e8e676e2c02
  • Loading branch information
cjhopman authored and Facebook Github Bot 5 committed Jun 7, 2016
1 parent f8cbd9f commit 0e50373
Show file tree
Hide file tree
Showing 36 changed files with 72 additions and 72 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,17 @@

@DoNotStrip
public class JSCJavaScriptExecutor extends JavaScriptExecutor {
static {
ReactBridge.staticInit();
}

public static class Factory implements JavaScriptExecutor.Factory {
@Override
public JavaScriptExecutor create(WritableNativeMap jscConfig) throws Exception {
return new JSCJavaScriptExecutor(jscConfig);
}
}

static {
SoLoader.loadLibrary(ReactBridge.REACT_NATIVE_LIB);
}

public JSCJavaScriptExecutor(WritableNativeMap jscConfig) {
initialize(jscConfig);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
@DoNotStrip
public abstract class NativeArray {
static {
SoLoader.loadLibrary(ReactBridge.REACT_NATIVE_LIB);
ReactBridge.staticInit();
}

protected NativeArray(HybridData hybridData) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
@DoNotStrip
public abstract class NativeMap {
static {
SoLoader.loadLibrary(ReactBridge.REACT_NATIVE_LIB);
ReactBridge.staticInit();
}

public NativeMap(HybridData hybridData) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@
*/
@DoNotStrip
public class ProxyJavaScriptExecutor extends JavaScriptExecutor {
static {
ReactBridge.staticInit();
}

public static class Factory implements JavaScriptExecutor.Factory {
private final JavaJSExecutor.Factory mJavaJSExecutorFactory;

Expand All @@ -37,10 +41,6 @@ public JavaScriptExecutor create(WritableNativeMap jscConfig) throws Exception {
}
}

static {
SoLoader.loadLibrary(ReactBridge.REACT_NATIVE_LIB);
}

private @Nullable JavaJSExecutor mJavaJSExecutor;

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,22 @@
@DoNotStrip
public class ReactBridge extends Countable {

/* package */ static final String REACT_NATIVE_LIB = "reactnativejni";
private static final String REACT_NATIVE_LIB = "reactnativejni";
private static final String XREACT_NATIVE_LIB = "reactnativejnifb";

static {
SoLoader.loadLibrary(REACT_NATIVE_LIB);
staticInit();
}

private final ReactCallback mCallback;
private final JavaScriptExecutor mJSExecutor;
private final MessageQueueThread mNativeModulesQueueThread;

public static void staticInit() {
SoLoader.loadLibrary(REACT_NATIVE_LIB);
SoLoader.loadLibrary(XREACT_NATIVE_LIB);
}

/**
* @param jsExecutor the JS executor to use to run JS
* @param callback the callback class used to invoke native modules
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,8 @@
*/
@DoNotStrip
public class ReadableNativeArray extends NativeArray implements ReadableArray {

static {
SoLoader.loadLibrary(ReactBridge.REACT_NATIVE_LIB);
ReactBridge.staticInit();
}

protected ReadableNativeArray(HybridData hybridData) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,8 @@
*/
@DoNotStrip
public class ReadableNativeMap extends NativeMap implements ReadableMap {

static {
SoLoader.loadLibrary(ReactBridge.REACT_NATIVE_LIB);
ReactBridge.staticInit();
}

protected ReadableNativeMap(HybridData hybridData) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,8 @@
*/
@DoNotStrip
public class WritableNativeArray extends ReadableNativeArray implements WritableArray {

static {
SoLoader.loadLibrary(ReactBridge.REACT_NATIVE_LIB);
ReactBridge.staticInit();
}

public WritableNativeArray() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
@DoNotStrip
public class WritableNativeMap extends ReadableNativeMap implements WritableMap {
static {
SoLoader.loadLibrary(ReactBridge.REACT_NATIVE_LIB);
ReactBridge.staticInit();
}

@Override
Expand Down
10 changes: 2 additions & 8 deletions ReactAndroid/src/main/jni/react/jni/Android.mk
Original file line number Diff line number Diff line change
Expand Up @@ -11,15 +11,8 @@ LOCAL_SRC_FILES := \
JSLoader.cpp \
JSLogging.cpp \
JniJSModulesUnbundle.cpp \
NativeArray.cpp \
NativeCommon.cpp \
NativeMap.cpp \
OnLoad.cpp \
ProxyExecutor.cpp \
ReadableNativeArray.cpp \
ReadableNativeMap.cpp \
WritableNativeArray.cpp \
WritableNativeMap.cpp \

LOCAL_C_INCLUDES := $(LOCAL_PATH)
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../.. $(LOCAL_PATH)/..
Expand All @@ -30,7 +23,7 @@ LOCAL_CFLAGS += $(CXX11_FLAGS)
LOCAL_EXPORT_CPPFLAGS := $(CXX11_FLAGS)

LOCAL_LDLIBS += -landroid
LOCAL_SHARED_LIBRARIES := libfolly_json libfb libjsc libglog_init
LOCAL_SHARED_LIBRARIES := libfolly_json libfb libjsc libglog_init libreactnativejnifb
LOCAL_STATIC_LIBRARIES := libreactnative

include $(BUILD_SHARED_LIBRARY)
Expand All @@ -41,3 +34,4 @@ $(call import-module,folly)
$(call import-module,fbgloginit)
$(call import-module,fb)
$(call import-module,jsc)
$(call import-module,xreact/jni)
15 changes: 1 addition & 14 deletions ReactAndroid/src/main/jni/react/jni/BUCK
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ def jni_library(**kwargs):
],
deps = DEPS + JSC_DEPS + [
react_native_target('jni/react:react'),
react_native_target('jni/xreact/jni:jni'),
],
**kwargs
)
Expand All @@ -33,15 +34,8 @@ jni_library(
'JSLoader.cpp',
'JSLogging.cpp',
'JniJSModulesUnbundle.cpp',
'NativeArray.cpp',
'NativeCommon.cpp',
'NativeMap.cpp',
'OnLoad.cpp',
'ProxyExecutor.cpp',
'ReadableNativeArray.cpp',
'ReadableNativeMap.cpp',
'WritableNativeArray.cpp',
'WritableNativeMap.cpp',
],
headers = [
'JSLoader.h',
Expand All @@ -56,13 +50,6 @@ jni_library(
'WebWorkers.h',
],
exported_headers = [
'NativeCommon.h',
'NativeArray.h',
'NativeMap.h',
'ReadableNativeArray.h',
'ReadableNativeMap.h',
'WritableNativeArray.h',
'WritableNativeMap.h',
],
preprocessor_flags = [
'-DLOG_TAG="ReactNativeJNI"',
Expand Down
14 changes: 3 additions & 11 deletions ReactAndroid/src/main/jni/react/jni/OnLoad.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,16 @@
#include "JExecutorTokenFactory.h"
#include "JNativeRunnable.h"
#include "JSLoader.h"
#include "NativeCommon.h"
#include "ReadableNativeArray.h"
#include "ProxyExecutor.h"
#include "OnLoad.h"
#include "JMessageQueueThread.h"
#include "JniJSModulesUnbundle.h"
#include "JSLogging.h"
#include "JSCPerfLogging.h"
#include "WebWorkers.h"
#include "WritableNativeMap.h"

#include <xreact/jni/ReadableNativeArray.h>
#include <xreact/jni/WritableNativeMap.h>
#include <algorithm>

#ifdef WITH_FBSYSTRACE
Expand Down Expand Up @@ -456,17 +456,9 @@ extern "C" JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved) {
PerfLogging::installNativeHooks = addNativePerfLoggingHooks;
JSLogging::nativeHook = nativeLoggingHook;

NativeArray::registerNatives();
ReadableNativeArray::registerNatives();
WritableNativeArray::registerNatives();
JNativeRunnable::registerNatives();
registerJSLoaderNatives();

NativeMap::registerNatives();
ReadableNativeMap::registerNatives();
WritableNativeMap::registerNatives();
ReadableNativeMapKeySetIterator::registerNatives();

registerNatives("com/facebook/react/bridge/JSCJavaScriptExecutor", {
makeNativeMethod("initialize", executors::createJSCExecutor),
});
Expand Down
12 changes: 9 additions & 3 deletions ReactAndroid/src/main/jni/xreact/jni/Android.mk
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,21 @@ LOCAL_SRC_FILES := \
CxxModuleWrapper.cpp \
JExecutorToken.cpp \
JMessageQueueThread.cpp \
JniJSModulesUnbundle.cpp \
JSCPerfLogging.cpp \
JSLoader.cpp \
JSLogging.cpp \
JniJSModulesUnbundle.cpp \
MethodInvoker.cpp \
ModuleRegistryHolder.cpp \
NativeArray.cpp \
NativeCommon.cpp \
NativeMap.cpp \
OnLoad.cpp \
ProxyExecutor.cpp \
ReadableNativeArray.cpp \
ReadableNativeMap.cpp \
WritableNativeArray.cpp \
WritableNativeMap.cpp \

LOCAL_C_INCLUDES := $(LOCAL_PATH)
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../..
Expand All @@ -27,7 +34,7 @@ LOCAL_CFLAGS += $(CXX11_FLAGS)
LOCAL_EXPORT_CPPFLAGS := $(CXX11_FLAGS)

LOCAL_LDLIBS += -landroid
LOCAL_SHARED_LIBRARIES := libfolly_json libfbjni libjsc libglog_init libreactnativejni
LOCAL_SHARED_LIBRARIES := libfolly_json libfbjni libjsc libglog_init
LOCAL_STATIC_LIBRARIES := libreactnativefb

include $(BUILD_SHARED_LIBRARY)
Expand All @@ -37,4 +44,3 @@ $(call import-module,jsc)
$(call import-module,folly)
$(call import-module,fbgloginit)
$(call import-module,jsc)
$(call import-module,react/jni)
10 changes: 8 additions & 2 deletions ReactAndroid/src/main/jni/xreact/jni/BUCK
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,25 @@ SUPPORTED_PLATFORMS = '^android-(armv7|x86)$'

EXPORTED_HEADERS = [
'CxxModuleWrapper.h',
'NativeArray.h',
'NativeCommon.h',
'NativeMap.h',
'ReadableNativeArray.h',
'ReadableNativeMap.h',
'WritableNativeArray.h',
'WritableNativeMap.h',
]

cxx_library(
name='jni',
soname = 'libreactnativejnifb.so',
header_namespace = 'react/jni',
header_namespace = 'xreact/jni',
supported_platforms_regex = SUPPORTED_PLATFORMS,
deps = JSC_DEPS + [
'//native/fb:fb',
'//native/third-party/android-ndk:android',
'//xplat/folly:molly',
'//xplat/fbsystrace:fbsystrace',
react_native_target('jni/react/jni:jni'),
react_native_xplat_target('cxxreact:bridge'),
react_native_xplat_target('cxxreact:module'),
],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@
#include <jni/Countable.h>
#include <jni/LocalReference.h>

#include <react/jni/NativeArray.h>

#include <cxxreact/Instance.h>
#include <cxxreact/MethodCall.h>
#include <cxxreact/ModuleRegistry.h>
Expand All @@ -23,6 +21,7 @@
#include "JavaScriptExecutorHolder.h"
#include "JniJSModulesUnbundle.h"
#include "ModuleRegistryHolder.h"
#include "NativeArray.h"
#include "JNativeRunnable.h"

using namespace facebook::jni;
Expand Down
11 changes: 6 additions & 5 deletions ReactAndroid/src/main/jni/xreact/jni/CxxModuleWrapper.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,11 @@

#include "CxxModuleWrapper.h"

#include <react/jni/ReadableNativeArray.h>

#include <fb/fbjni.h>
#include <fb/Environment.h>
#include <jni/LocalString.h>
#include <jni/Registration.h>

#include <cxxreact/JsArgumentHelpers.h>
#include <cxxreact/FollySupport.h>

#include <android/log.h>

#include <folly/json.h>
Expand All @@ -20,6 +15,12 @@
#include <unordered_set>
#include <dlfcn.h>

#include <cxxreact/JsArgumentHelpers.h>
#include <cxxreact/FollySupport.h>

#include "ReadableNativeArray.h"


using namespace facebook::jni;
using namespace facebook::xplat::module;
using namespace facebook::react;
Expand Down
2 changes: 1 addition & 1 deletion ReactAndroid/src/main/jni/xreact/jni/JCallback.h
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
#include <folly/dynamic.h>
#include <fb/fbjni.h>

#include <react/jni/NativeArray.h>
#include "NativeArray.h"

namespace facebook {
namespace react {
Expand Down
3 changes: 2 additions & 1 deletion ReactAndroid/src/main/jni/xreact/jni/JSCPerfLogging.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@

#include "JSCPerfLogging.h"

#include <cxxreact/JSCHelpers.h>

#include <fb/log.h>
#include <fb/fbjni.h>
#include <react/JSCHelpers.h>

using namespace facebook::jni;

Expand Down
3 changes: 2 additions & 1 deletion ReactAndroid/src/main/jni/xreact/jni/JSLogging.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,10 @@

#include <android/log.h>
#include <algorithm>
#include <react/Value.h>
#include <fb/log.h>

#include <cxxreact/Value.h>

namespace facebook {
namespace react {

Expand Down
2 changes: 1 addition & 1 deletion ReactAndroid/src/main/jni/xreact/jni/MethodInvoker.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@

#include "MethodInvoker.h"

#include <react/jni/ReadableNativeArray.h>
#ifdef WITH_FBSYSTRACE
#include <fbsystrace.h>
#endif

#include "ModuleRegistryHolder.h"
#include "JCallback.h"
#include "JExecutorToken.h"
#include "ReadableNativeArray.h"

namespace facebook {
namespace react {
Expand Down
Loading

0 comments on commit 0e50373

Please sign in to comment.