Summary: We are passing layout context from yoga as event data for Layout Pass End event and it is being then used to get the local reference of node so that we can pass it as method parameter to java layer Reviewed By: davidaurelio Differential Revision: D15619640 fbshipit-source-id: 5f6c29d9e6acb73a8d87f8e0cb1577d35a271aeb
80 lines
2.0 KiB
Python
80 lines
2.0 KiB
Python
# Copyright (c) Facebook, Inc. and its affiliates.
|
|
#
|
|
# This source code is licensed under the MIT license found in the
|
|
# LICENSE file in the root directory of this source tree.
|
|
|
|
load("//tools/build_defs/oss:yoga_defs.bzl", "ANDROID", "CXX_LIBRARY_WHITELIST", "FBJNI_JAVA_TARGET", "FBJNI_TARGET", "INFER_ANNOTATIONS_TARGET", "JNI_TARGET", "JSR_305_TARGET", "JUNIT_TARGET", "PROGRUARD_ANNOTATIONS_TARGET", "SOLOADER_TARGET", "yoga_cxx_lib", "yoga_cxx_library", "yoga_dep", "yoga_java_binary", "yoga_java_library", "yoga_java_test")
|
|
|
|
CXX_LIBRARY_WHITELIST_FOR_TESTS = CXX_LIBRARY_WHITELIST + [
|
|
yoga_cxx_lib("testutil:jni"),
|
|
yoga_cxx_lib("testutil:testutil"),
|
|
]
|
|
|
|
yoga_cxx_library(
|
|
name = "jni",
|
|
srcs = glob(["jni/*.cpp"]),
|
|
header_namespace = "yoga/java",
|
|
exported_headers = glob(["jni/*.h"]),
|
|
allow_jni_merging = True,
|
|
compiler_flags = [
|
|
"-fno-omit-frame-pointer",
|
|
"-fexceptions",
|
|
"-fPIC",
|
|
"-Wall",
|
|
"-Werror",
|
|
"-Os",
|
|
"-std=c++11",
|
|
],
|
|
platforms = ANDROID,
|
|
preprocessor_flags = [
|
|
"-DFBJNI_WITH_FAST_CALLS",
|
|
],
|
|
soname = "libyoga.$(ext)",
|
|
visibility = ["PUBLIC"],
|
|
deps = [
|
|
FBJNI_TARGET,
|
|
JNI_TARGET,
|
|
yoga_dep(":yoga"),
|
|
],
|
|
)
|
|
|
|
yoga_java_library(
|
|
name = "java",
|
|
srcs = glob(["com/facebook/yoga/*.java"]),
|
|
required_for_source_only_abi = True,
|
|
source = "1.7",
|
|
target = "1.7",
|
|
tests = [
|
|
yoga_dep("java:tests"),
|
|
],
|
|
visibility = ["PUBLIC"],
|
|
deps = [
|
|
":jni",
|
|
INFER_ANNOTATIONS_TARGET,
|
|
JSR_305_TARGET,
|
|
PROGRUARD_ANNOTATIONS_TARGET,
|
|
SOLOADER_TARGET,
|
|
],
|
|
)
|
|
|
|
yoga_java_test(
|
|
name = "tests",
|
|
srcs = glob(["tests/**/*.java"]),
|
|
cxx_library_whitelist = CXX_LIBRARY_WHITELIST_FOR_TESTS,
|
|
use_cxx_libraries = True,
|
|
visibility = ["PUBLIC"],
|
|
deps = [
|
|
":java",
|
|
yoga_dep("testutil:java"),
|
|
JUNIT_TARGET,
|
|
],
|
|
)
|
|
|
|
yoga_java_binary(
|
|
name = "yoga",
|
|
deps = [
|
|
":java",
|
|
FBJNI_JAVA_TARGET,
|
|
],
|
|
)
|