Fix deprecated glob usage.
Summary: https://our.intern.facebook.com/intern/wiki/Buck/python-to-skylark/ Differential Revision: D8595731 fbshipit-source-id: 0e3046a7fd2a25e9b13462713ae9a008ad546770
This commit is contained in:
committed by
Facebook Github Bot
parent
cdb1ee21a0
commit
a67c555320
3
BUCK
3
BUCK
@@ -2,8 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This source code is licensed under the MIT license found in the
|
# This source code is licensed under the MIT license found in the
|
||||||
# LICENSE file in the root directory of this source tree.
|
# LICENSE file in the root directory of this source tree.
|
||||||
|
load("//:yoga_defs.bzl", "BASE_COMPILER_FLAGS", "GTEST_TARGET", "LIBRARY_COMPILER_FLAGS", "subdir_glob", "yoga_cxx_library", "yoga_cxx_test", "yoga_dep")
|
||||||
load("//:yoga_defs.bzl", "BASE_COMPILER_FLAGS", "GTEST_TARGET", "LIBRARY_COMPILER_FLAGS", "yoga_cxx_library", "yoga_cxx_test", "yoga_dep")
|
|
||||||
|
|
||||||
GMOCK_OVERRIDE_FLAGS = [
|
GMOCK_OVERRIDE_FLAGS = [
|
||||||
# gmock does not mark mocked methods as override, ignore the warnings in tests
|
# gmock does not mark mocked methods as override, ignore the warnings in tests
|
||||||
|
@@ -2,8 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This source code is licensed under the MIT license found in the
|
# This source code is licensed under the MIT license found in the
|
||||||
# LICENSE file in the root directory of this source tree.
|
# LICENSE file in the root directory of this source tree.
|
||||||
|
load("//:yoga_defs.bzl", "subdir_glob", "yoga_apple_library", "yoga_apple_test", "yoga_dep")
|
||||||
load("//:yoga_defs.bzl", "yoga_apple_library", "yoga_apple_test", "yoga_dep")
|
|
||||||
|
|
||||||
COMPILER_FLAGS = [
|
COMPILER_FLAGS = [
|
||||||
"-fobjc-arc",
|
"-fobjc-arc",
|
||||||
|
@@ -2,8 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This source code is licensed under the MIT license found in the
|
# This source code is licensed under the MIT license found in the
|
||||||
# LICENSE file in the root directory of this source tree.
|
# LICENSE file in the root directory of this source tree.
|
||||||
|
load("//:yoga_defs.bzl", "subdir_glob", "yoga_cxx_binary", "yoga_dep")
|
||||||
load("//:yoga_defs.bzl", "yoga_cxx_binary", "yoga_dep")
|
|
||||||
|
|
||||||
yoga_cxx_binary(
|
yoga_cxx_binary(
|
||||||
name = "benchmark",
|
name = "benchmark",
|
||||||
|
@@ -2,8 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This source code is licensed under the MIT license found in the
|
# This source code is licensed under the MIT license found in the
|
||||||
# LICENSE file in the root directory of this source tree.
|
# LICENSE file in the root directory of this source tree.
|
||||||
|
load("//:yoga_defs.bzl", "ANDROID", "FBJNI_JAVA_TARGET", "JNI_TARGET", "YOGA_ROOTS", "subdir_glob", "yoga_cxx_library", "yoga_prebuilt_cxx_library")
|
||||||
load("//:yoga_defs.bzl", "ANDROID", "FBJNI_JAVA_TARGET", "JNI_TARGET", "YOGA_ROOTS", "yoga_cxx_library", "yoga_prebuilt_cxx_library")
|
|
||||||
|
|
||||||
yoga_prebuilt_cxx_library(
|
yoga_prebuilt_cxx_library(
|
||||||
name = "ndklog",
|
name = "ndklog",
|
||||||
|
@@ -2,8 +2,7 @@
|
|||||||
#
|
#
|
||||||
# This source code is licensed under the MIT license found in the
|
# This source code is licensed under the MIT license found in the
|
||||||
# LICENSE file in the root directory of this source tree.
|
# LICENSE file in the root directory of this source tree.
|
||||||
|
load("//:yoga_defs.bzl", "YOGA_ROOTS", "subdir_glob", "yoga_cxx_library")
|
||||||
load("//:yoga_defs.bzl", "YOGA_ROOTS", "yoga_cxx_library")
|
|
||||||
|
|
||||||
COMPILER_FLAGS = [
|
COMPILER_FLAGS = [
|
||||||
"-std=c++11",
|
"-std=c++11",
|
||||||
|
@@ -59,6 +59,87 @@ LIBRARY_COMPILER_FLAGS = BASE_COMPILER_FLAGS + [
|
|||||||
"-fPIC",
|
"-fPIC",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
def _paths_join(path, *others):
|
||||||
|
"""Joins one or more path components."""
|
||||||
|
result = path
|
||||||
|
|
||||||
|
for p in others:
|
||||||
|
if p.startswith("/"): # absolute
|
||||||
|
result = p
|
||||||
|
elif not result or result.endswith("/"):
|
||||||
|
result += p
|
||||||
|
else:
|
||||||
|
result += "/" + p
|
||||||
|
|
||||||
|
return result
|
||||||
|
|
||||||
|
def subdir_glob(glob_specs, exclude = None, prefix = ""):
|
||||||
|
"""Returns a dict of sub-directory relative paths to full paths.
|
||||||
|
|
||||||
|
The subdir_glob() function is useful for defining header maps for C/C++
|
||||||
|
libraries which should be relative the given sub-directory.
|
||||||
|
Given a list of tuples, the form of (relative-sub-directory, glob-pattern),
|
||||||
|
it returns a dict of sub-directory relative paths to full paths.
|
||||||
|
|
||||||
|
Please refer to native.glob() for explanations and examples of the pattern.
|
||||||
|
|
||||||
|
Args:
|
||||||
|
glob_specs: The array of tuples in form of
|
||||||
|
(relative-sub-directory, glob-pattern inside relative-sub-directory).
|
||||||
|
type: List[Tuple[str, str]]
|
||||||
|
exclude: A list of patterns to identify files that should be removed
|
||||||
|
from the set specified by the first argument. Defaults to [].
|
||||||
|
type: Optional[List[str]]
|
||||||
|
prefix: If is not None, prepends it to each key in the dictionary.
|
||||||
|
Defaults to None.
|
||||||
|
type: Optional[str]
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
A dict of sub-directory relative paths to full paths.
|
||||||
|
"""
|
||||||
|
if exclude == None:
|
||||||
|
exclude = []
|
||||||
|
|
||||||
|
results = []
|
||||||
|
|
||||||
|
for dirpath, glob_pattern in glob_specs:
|
||||||
|
results.append(
|
||||||
|
_single_subdir_glob(dirpath, glob_pattern, exclude, prefix),
|
||||||
|
)
|
||||||
|
|
||||||
|
return _merge_maps(*results)
|
||||||
|
|
||||||
|
def _merge_maps(*file_maps):
|
||||||
|
result = {}
|
||||||
|
for file_map in file_maps:
|
||||||
|
for key in file_map:
|
||||||
|
if key in result and result[key] != file_map[key]:
|
||||||
|
fail(
|
||||||
|
"Conflicting files in file search paths. " +
|
||||||
|
"\"%s\" maps to both \"%s\" and \"%s\"." %
|
||||||
|
(key, result[key], file_map[key]),
|
||||||
|
)
|
||||||
|
|
||||||
|
result[key] = file_map[key]
|
||||||
|
|
||||||
|
return result
|
||||||
|
|
||||||
|
def _single_subdir_glob(dirpath, glob_pattern, exclude = None, prefix = None):
|
||||||
|
if exclude == None:
|
||||||
|
exclude = []
|
||||||
|
results = {}
|
||||||
|
files = native.glob([_paths_join(dirpath, glob_pattern)], exclude = exclude)
|
||||||
|
for f in files:
|
||||||
|
if dirpath:
|
||||||
|
key = f[len(dirpath) + 1:]
|
||||||
|
else:
|
||||||
|
key = f
|
||||||
|
if prefix:
|
||||||
|
key = _paths_join(prefix, key)
|
||||||
|
results[key] = f
|
||||||
|
|
||||||
|
return results
|
||||||
|
|
||||||
def yoga_dep(dep):
|
def yoga_dep(dep):
|
||||||
return "//" + dep
|
return "//" + dep
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user