fix gradle compliation (#925)
Summary: Pull Request resolved: https://github.com/facebook/yoga/pull/925 Gradle is failing to compile yoga for two reasons: 1. Ever since `YogaNodeJNIPhantomRefs` was introduced which uses `DestructorThread.Destructor` from fbjni which was the first direct Java dependency from yoga java to fbjni java code. 2. Adding a missing gradle endpoint for `testutil` since it is now required for yoga unit-tests Reviewed By: SidharthGuglani Differential Revision: D17274226 fbshipit-source-id: 3df9648321162d34f81fd3675ca1474e8a1c6d3a
This commit is contained in:
committed by
Facebook Github Bot
parent
e6e224ce48
commit
31de91bbac
@@ -1,10 +1,10 @@
|
||||
load("//tools/build_defs/oss:yoga_defs.bzl", "ANDROID", "FBJNI_TARGET", "LIBRARY_COMPILER_FLAGS", "SOLOADER_TARGET", "yoga_cxx_library", "yoga_dep", "yoga_java_library")
|
||||
load("//tools/build_defs/oss:yoga_defs.bzl", "ANDROID", "FBJNI_TARGET", "LIBRARY_COMPILER_FLAGS", "SOLOADER_TARGET", "subdir_glob", "yoga_cxx_library", "yoga_dep", "yoga_java_library")
|
||||
|
||||
yoga_cxx_library(
|
||||
name = "testutil",
|
||||
srcs = ["testutil.cpp"],
|
||||
header_namespace = "yoga/testutil",
|
||||
exported_headers = ["testutil.h"],
|
||||
srcs = ["src/main/cpp/testutil/testutil.cpp"],
|
||||
header_namespace = "",
|
||||
exported_headers = subdir_glob([("src/main/cpp/include", "yoga/testutil/testutil.h")]),
|
||||
compiler_flags = LIBRARY_COMPILER_FLAGS,
|
||||
soname = "libyoga_testutil.$(ext)",
|
||||
visibility = ["PUBLIC"],
|
||||
@@ -13,7 +13,7 @@ yoga_cxx_library(
|
||||
|
||||
yoga_java_library(
|
||||
name = "java",
|
||||
srcs = ["TestUtil.java"],
|
||||
srcs = ["src/main/java/com/facebook/yoga/TestUtil.java"],
|
||||
source = "1.7",
|
||||
target = "1.7",
|
||||
visibility = ["PUBLIC"],
|
||||
@@ -25,7 +25,7 @@ yoga_java_library(
|
||||
|
||||
yoga_cxx_library(
|
||||
name = "jni",
|
||||
srcs = ["jni.cpp"],
|
||||
srcs = ["src/main/cpp/jni/jni.cpp"],
|
||||
allow_jni_merging = False,
|
||||
compiler_flags = LIBRARY_COMPILER_FLAGS,
|
||||
platforms = ANDROID,
|
||||
|
38
testutil/build.gradle
Normal file
38
testutil/build.gradle
Normal file
@@ -0,0 +1,38 @@
|
||||
/**
|
||||
* 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.
|
||||
*/
|
||||
|
||||
apply plugin: 'com.android.library'
|
||||
|
||||
android {
|
||||
compileSdkVersion rootProject.compileSdkVersion
|
||||
buildToolsVersion rootProject.buildToolsVersion
|
||||
|
||||
defaultConfig {
|
||||
minSdkVersion rootProject.minSdkVersion
|
||||
targetSdkVersion rootProject.targetSdkVersion
|
||||
|
||||
ndk {
|
||||
abiFilters 'x86', 'x86_64', 'armeabi-v7a', 'arm64-v8a'
|
||||
}
|
||||
|
||||
externalNativeBuild {
|
||||
cmake {
|
||||
arguments '-DANDROID_TOOLCHAIN=clang', '-DANDROID_STL=c++_static'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
externalNativeBuild {
|
||||
cmake {
|
||||
path 'src/main/cpp/CMakeLists.txt'
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation 'com.facebook.soloader:soloader:0.5.1'
|
||||
}
|
||||
}
|
12
testutil/src/main/AndroidManifest.xml
Normal file
12
testutil/src/main/AndroidManifest.xml
Normal file
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
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.
|
||||
-->
|
||||
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.facebook.yoga.testutil">
|
||||
</manifest>
|
30
testutil/src/main/cpp/CMakeLists.txt
Normal file
30
testutil/src/main/cpp/CMakeLists.txt
Normal file
@@ -0,0 +1,30 @@
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
|
||||
cmake_minimum_required(VERSION 3.4.1)
|
||||
|
||||
set(CMAKE_VERBOSE_MAKEFILE on)
|
||||
|
||||
add_compile_options(
|
||||
-fno-omit-frame-pointer
|
||||
-fexceptions
|
||||
-Wall
|
||||
-std=c++11
|
||||
-DDISABLE_CPUCAP
|
||||
-DDISABLE_XPLAT)
|
||||
|
||||
file(GLOB testutil_SRC
|
||||
jni/*.cpp
|
||||
testutil/*.cpp)
|
||||
|
||||
add_library(testutil SHARED
|
||||
${testutil_SRC})
|
||||
|
||||
target_include_directories(testutil PRIVATE
|
||||
include)
|
||||
|
||||
target_link_libraries(testutil android log)
|
@@ -4,7 +4,7 @@
|
||||
* This source code is licensed under the MIT license found in the LICENSE
|
||||
* file in the root directory of this source tree.
|
||||
*/
|
||||
#include "testutil.h"
|
||||
#include <yoga/testutil/testutil.h>
|
||||
|
||||
#include <yoga/YGNode.h>
|
||||
#include <yoga/event/event.h>
|
Reference in New Issue
Block a user