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:
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
|
||||
if IS_OSS_BUILD:
|
||||
cxx_library(
|
||||
name = "jni",
|
||||
soname = "libfb.$(ext)",
|
||||
srcs = glob(["*.cpp", "jni/*.cpp", "lyra/*.cpp"]),
|
||||
header_namespace = "",
|
||||
compiler_flags = [
|
||||
"-fno-omit-frame-pointer",
|
||||
"-fexceptions",
|
||||
"-Wall",
|
||||
"-Werror",
|
||||
"-std=c++11",
|
||||
"-DDISABLE_CPUCAP",
|
||||
"-DDISABLE_XPLAT",
|
||||
],
|
||||
exported_headers = subdir_glob([
|
||||
("include", "fb/**/*.h"),
|
||||
("include", "jni/*.h"),
|
||||
]),
|
||||
deps = [
|
||||
JNI_TARGET,
|
||||
],
|
||||
visibility = ["PUBLIC"],
|
||||
)
|
||||
oss_cxx_library(
|
||||
name = "jni",
|
||||
srcs = glob([
|
||||
"*.cpp",
|
||||
"jni/*.cpp",
|
||||
"lyra/*.cpp",
|
||||
]),
|
||||
header_namespace = "",
|
||||
exported_headers = subdir_glob([
|
||||
("include", "fb/**/*.h"),
|
||||
("include", "jni/*.h"),
|
||||
]),
|
||||
compiler_flags = [
|
||||
"-fno-omit-frame-pointer",
|
||||
"-fexceptions",
|
||||
"-Wall",
|
||||
"-Werror",
|
||||
"-std=c++11",
|
||||
"-DDISABLE_CPUCAP",
|
||||
"-DDISABLE_XPLAT",
|
||||
],
|
||||
soname = "libfb.$(ext)",
|
||||
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
|
||||
if IS_OSS_BUILD:
|
||||
cxx_library(
|
||||
name = "jni",
|
||||
soname = "libyoga.$(ext)",
|
||||
srcs = glob(["jni/*.cpp"]),
|
||||
header_namespace = "",
|
||||
compiler_flags = [
|
||||
"-fno-omit-frame-pointer",
|
||||
"-fexceptions",
|
||||
"-Wall",
|
||||
"-Werror",
|
||||
"-O3",
|
||||
"-std=c++11",
|
||||
],
|
||||
deps = [
|
||||
"//ReactCommon/yoga:yoga",
|
||||
FBJNI_TARGET,
|
||||
],
|
||||
visibility = ["PUBLIC"],
|
||||
)
|
||||
oss_cxx_library(
|
||||
name = "jni",
|
||||
srcs = glob(["jni/*.cpp"]),
|
||||
header_namespace = "",
|
||||
compiler_flags = [
|
||||
"-fno-omit-frame-pointer",
|
||||
"-fexceptions",
|
||||
"-Wall",
|
||||
"-Werror",
|
||||
"-O3",
|
||||
"-std=c++11",
|
||||
],
|
||||
soname = "libyoga.$(ext)",
|
||||
visibility = ["PUBLIC"],
|
||||
deps = [
|
||||
"//ReactCommon/yoga:yoga",
|
||||
FBJNI_TARGET,
|
||||
],
|
||||
)
|
||||
|
|
|
@ -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")
|
||||
|
||||
if not IS_OSS_BUILD:
|
||||
rn_robolectric_test(
|
||||
name = "fabric",
|
||||
srcs = glob(["**/*.java"]),
|
||||
contacts = ["oncall+fbandroid_sheriff@xmail.facebook.com"],
|
||||
resources = glob([
|
||||
"**/*.txt",
|
||||
"**/*.json",
|
||||
]),
|
||||
visibility = [
|
||||
"PUBLIC",
|
||||
],
|
||||
deps = [
|
||||
"xplat//yoga/java:java",
|
||||
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_android"),
|
||||
react_native_dep("third-party/java/guava:guava"),
|
||||
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-330:jsr-330"),
|
||||
react_native_dep("third-party/java/junit:junit"),
|
||||
react_native_dep("third-party/java/mockito:mockito"),
|
||||
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/soloader/java/com/facebook/soloader:soloader"),
|
||||
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/bridge:bridge"),
|
||||
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/modules/core:core"),
|
||||
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/view:view"),
|
||||
react_native_target("java/com/facebook/react/views/progressbar:progressbar"),
|
||||
react_native_tests_target("java/com/facebook/react/bridge:testhelpers"),
|
||||
],
|
||||
)
|
||||
rn_robolectric_test(
|
||||
name = "fabric",
|
||||
srcs = glob(["**/*.java"]),
|
||||
contacts = ["oncall+fbandroid_sheriff@xmail.facebook.com"],
|
||||
resources = glob([
|
||||
"**/*.txt",
|
||||
"**/*.json",
|
||||
]),
|
||||
visibility = [
|
||||
"PUBLIC",
|
||||
],
|
||||
deps = [
|
||||
"xplat//yoga/java:java",
|
||||
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_android"),
|
||||
react_native_dep("third-party/java/guava:guava"),
|
||||
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-330:jsr-330"),
|
||||
react_native_dep("third-party/java/junit:junit"),
|
||||
react_native_dep("third-party/java/mockito:mockito"),
|
||||
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/soloader/java/com/facebook/soloader:soloader"),
|
||||
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/bridge:bridge"),
|
||||
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/modules/core:core"),
|
||||
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/view:view"),
|
||||
react_native_target("java/com/facebook/react/views/progressbar:progressbar"),
|
||||
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
|
||||
|
||||
return results
|
||||
|
||||
def oss_cxx_library(**kwargs):
|
||||
cxx_library(**kwargs)
|
||||
|
|
Loading…
Reference in New Issue