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:
Taras Tsugrii
2018-07-14 17:22:26 -07:00
committed by Facebook Github Bot
parent 6b1d99686d
commit 662c5bfd26
5 changed files with 89 additions and 109 deletions

View File

@@ -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,
],
)

View File

@@ -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"], )
)

View File

@@ -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",
],
)

View File

@@ -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
)

View File

@@ -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)