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

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

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

View File

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