mirror of
https://github.com/zhigang1992/react-native.git
synced 2026-04-28 20:25:33 +08:00
Skylarkify ReactNative build defs.
Summary: https://buckbuild.com/concept/skylark.html Reviewed By: mzlee Differential Revision: D8823004 fbshipit-source-id: 164be349782862bf83f5bdf2c869bf10713d5dfe
This commit is contained in:
committed by
Facebook Github Bot
parent
6b1d99686d
commit
662c5bfd26
@@ -1,27 +1,30 @@
|
|||||||
load("//ReactNative:DEFS.bzl", "IS_OSS_BUILD", "JNI_TARGET", "cxx_library", "subdir_glob")
|
load("//ReactNative:DEFS.bzl", "JNI_TARGET", "subdir_glob", "oss_cxx_library")
|
||||||
|
|
||||||
# This target is only used in open source
|
# This target is only used in open source
|
||||||
if IS_OSS_BUILD:
|
oss_cxx_library(
|
||||||
cxx_library(
|
name = "jni",
|
||||||
name = "jni",
|
srcs = glob([
|
||||||
soname = "libfb.$(ext)",
|
"*.cpp",
|
||||||
srcs = glob(["*.cpp", "jni/*.cpp", "lyra/*.cpp"]),
|
"jni/*.cpp",
|
||||||
header_namespace = "",
|
"lyra/*.cpp",
|
||||||
compiler_flags = [
|
]),
|
||||||
"-fno-omit-frame-pointer",
|
header_namespace = "",
|
||||||
"-fexceptions",
|
exported_headers = subdir_glob([
|
||||||
"-Wall",
|
("include", "fb/**/*.h"),
|
||||||
"-Werror",
|
("include", "jni/*.h"),
|
||||||
"-std=c++11",
|
]),
|
||||||
"-DDISABLE_CPUCAP",
|
compiler_flags = [
|
||||||
"-DDISABLE_XPLAT",
|
"-fno-omit-frame-pointer",
|
||||||
],
|
"-fexceptions",
|
||||||
exported_headers = subdir_glob([
|
"-Wall",
|
||||||
("include", "fb/**/*.h"),
|
"-Werror",
|
||||||
("include", "jni/*.h"),
|
"-std=c++11",
|
||||||
]),
|
"-DDISABLE_CPUCAP",
|
||||||
deps = [
|
"-DDISABLE_XPLAT",
|
||||||
JNI_TARGET,
|
],
|
||||||
],
|
soname = "libfb.$(ext)",
|
||||||
visibility = ["PUBLIC"],
|
visibility = ["PUBLIC"],
|
||||||
)
|
deps = [
|
||||||
|
JNI_TARGET,
|
||||||
|
],
|
||||||
|
)
|
||||||
|
|||||||
@@ -1,23 +1,22 @@
|
|||||||
load("//ReactNative:DEFS.bzl", "FBJNI_TARGET", "IS_OSS_BUILD", "cxx_library")
|
load("//ReactNative:DEFS.bzl", "FBJNI_TARGET", "oss_cxx_library")
|
||||||
|
|
||||||
# This target is only used in open source
|
# This target is only used in open source
|
||||||
if IS_OSS_BUILD:
|
oss_cxx_library(
|
||||||
cxx_library(
|
name = "jni",
|
||||||
name = "jni",
|
srcs = glob(["jni/*.cpp"]),
|
||||||
soname = "libyoga.$(ext)",
|
header_namespace = "",
|
||||||
srcs = glob(["jni/*.cpp"]),
|
compiler_flags = [
|
||||||
header_namespace = "",
|
"-fno-omit-frame-pointer",
|
||||||
compiler_flags = [
|
"-fexceptions",
|
||||||
"-fno-omit-frame-pointer",
|
"-Wall",
|
||||||
"-fexceptions",
|
"-Werror",
|
||||||
"-Wall",
|
"-O3",
|
||||||
"-Werror",
|
"-std=c++11",
|
||||||
"-O3",
|
],
|
||||||
"-std=c++11",
|
soname = "libyoga.$(ext)",
|
||||||
],
|
visibility = ["PUBLIC"],
|
||||||
deps = [
|
deps = [
|
||||||
"//ReactCommon/yoga:yoga",
|
"//ReactCommon/yoga:yoga",
|
||||||
FBJNI_TARGET,
|
FBJNI_TARGET,
|
||||||
],
|
],
|
||||||
visibility = ["PUBLIC"],
|
)
|
||||||
)
|
|
||||||
|
|||||||
@@ -1,24 +0,0 @@
|
|||||||
# NOTE(agallagher): The platform should really be responsible for providing
|
|
||||||
# this type of implicit dependency. As it is now, we need to setup a dummy
|
|
||||||
# rules to model the Android NDK's built in libraries.
|
|
||||||
|
|
||||||
LIBS = (
|
|
||||||
"android",
|
|
||||||
"EGL",
|
|
||||||
"GLESv2",
|
|
||||||
"jnigraphics",
|
|
||||||
"log",
|
|
||||||
"z",
|
|
||||||
)
|
|
||||||
|
|
||||||
for lib in LIBS:
|
|
||||||
prebuilt_cxx_library(
|
|
||||||
name = lib,
|
|
||||||
header_only = True,
|
|
||||||
exported_platform_linker_flags = [
|
|
||||||
("android.*", ["-l" + lib]),
|
|
||||||
],
|
|
||||||
visibility = [
|
|
||||||
"PUBLIC",
|
|
||||||
],
|
|
||||||
)
|
|
||||||
@@ -1,41 +1,40 @@
|
|||||||
load("//ReactNative:DEFS.bzl", "IS_OSS_BUILD", "YOGA_TARGET", "react_native_dep", "react_native_target", "react_native_tests_target", "rn_robolectric_test")
|
load("//ReactNative:DEFS.bzl", "IS_OSS_BUILD", "YOGA_TARGET", "react_native_dep", "react_native_target", "react_native_tests_target", "rn_robolectric_test")
|
||||||
|
|
||||||
if not IS_OSS_BUILD:
|
rn_robolectric_test(
|
||||||
rn_robolectric_test(
|
name = "fabric",
|
||||||
name = "fabric",
|
srcs = glob(["**/*.java"]),
|
||||||
srcs = glob(["**/*.java"]),
|
contacts = ["oncall+fbandroid_sheriff@xmail.facebook.com"],
|
||||||
contacts = ["oncall+fbandroid_sheriff@xmail.facebook.com"],
|
resources = glob([
|
||||||
resources = glob([
|
"**/*.txt",
|
||||||
"**/*.txt",
|
"**/*.json",
|
||||||
"**/*.json",
|
]),
|
||||||
]),
|
visibility = [
|
||||||
visibility = [
|
"PUBLIC",
|
||||||
"PUBLIC",
|
],
|
||||||
],
|
deps = [
|
||||||
deps = [
|
"xplat//yoga/java:java",
|
||||||
"xplat//yoga/java:java",
|
react_native_dep("third-party/java/assertj:assertj-core"),
|
||||||
react_native_dep("third-party/java/assertj:assertj-core"),
|
react_native_dep("third-party/java/fest:fest"),
|
||||||
react_native_dep("third-party/java/fest:fest"),
|
react_native_dep("third-party/java/fest:fest_android"),
|
||||||
react_native_dep("third-party/java/fest:fest_android"),
|
react_native_dep("third-party/java/guava:guava"),
|
||||||
react_native_dep("third-party/java/guava:guava"),
|
react_native_dep("third-party/java/jackson:jackson"),
|
||||||
react_native_dep("third-party/java/jackson:jackson"),
|
react_native_dep("third-party/java/jsr-305:jsr-305"),
|
||||||
react_native_dep("third-party/java/jsr-305:jsr-305"),
|
react_native_dep("third-party/java/jsr-330:jsr-330"),
|
||||||
react_native_dep("third-party/java/jsr-330:jsr-330"),
|
react_native_dep("third-party/java/junit:junit"),
|
||||||
react_native_dep("third-party/java/junit:junit"),
|
react_native_dep("third-party/java/mockito:mockito"),
|
||||||
react_native_dep("third-party/java/mockito:mockito"),
|
react_native_dep("third-party/java/robolectric3/robolectric:robolectric"),
|
||||||
react_native_dep("third-party/java/robolectric3/robolectric:robolectric"),
|
react_native_dep("libraries/fbcore/src/test/java/com/facebook/powermock:powermock"),
|
||||||
react_native_dep("libraries/fbcore/src/test/java/com/facebook/powermock:powermock"),
|
react_native_dep("libraries/soloader/java/com/facebook/soloader:soloader"),
|
||||||
react_native_dep("libraries/soloader/java/com/facebook/soloader:soloader"),
|
react_native_dep("third-party/android/support/v4:lib-support-v4"),
|
||||||
react_native_dep("third-party/android/support/v4:lib-support-v4"),
|
react_native_target("java/com/facebook/react:react"),
|
||||||
react_native_target("java/com/facebook/react:react"),
|
react_native_target("java/com/facebook/react/bridge:bridge"),
|
||||||
react_native_target("java/com/facebook/react/bridge:bridge"),
|
react_native_target("java/com/facebook/react/common:common"),
|
||||||
react_native_target("java/com/facebook/react/common:common"),
|
react_native_target("java/com/facebook/react/fabric:fabric"),
|
||||||
react_native_target("java/com/facebook/react/fabric:fabric"),
|
react_native_target("java/com/facebook/react/modules/core:core"),
|
||||||
react_native_target("java/com/facebook/react/modules/core:core"),
|
react_native_target("java/com/facebook/react/uimanager:uimanager"),
|
||||||
react_native_target("java/com/facebook/react/uimanager:uimanager"),
|
react_native_target("java/com/facebook/react/views/text:text"),
|
||||||
react_native_target("java/com/facebook/react/views/text:text"),
|
react_native_target("java/com/facebook/react/views/view:view"),
|
||||||
react_native_target("java/com/facebook/react/views/view:view"),
|
react_native_target("java/com/facebook/react/views/progressbar:progressbar"),
|
||||||
react_native_target("java/com/facebook/react/views/progressbar:progressbar"),
|
react_native_tests_target("java/com/facebook/react/bridge:testhelpers"),
|
||||||
react_native_tests_target("java/com/facebook/react/bridge:testhelpers"),
|
],
|
||||||
],
|
) if not IS_OSS_BUILD else None
|
||||||
)
|
|
||||||
|
|||||||
@@ -260,3 +260,6 @@ def _single_subdir_glob(dirpath, glob_pattern, exclude = None, prefix = None):
|
|||||||
results[key] = f
|
results[key] = f
|
||||||
|
|
||||||
return results
|
return results
|
||||||
|
|
||||||
|
def oss_cxx_library(**kwargs):
|
||||||
|
cxx_library(**kwargs)
|
||||||
|
|||||||
Reference in New Issue
Block a user