Vendor dependencies
Let's see how I like this workflow.
This commit is contained in:
parent
34d1830413
commit
9c435dc440
7500 changed files with 1665121 additions and 99 deletions
74
vendor/cxx/tools/buck/prelude/js/js.bzl
vendored
Normal file
74
vendor/cxx/tools/buck/prelude/js/js.bzl
vendored
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
# Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||
#
|
||||
# This source code is licensed under both the MIT license found in the
|
||||
# LICENSE-MIT file in the root directory of this source tree and the Apache
|
||||
# License, Version 2.0 found in the LICENSE-APACHE file in the root directory
|
||||
# of this source tree.
|
||||
|
||||
load("@prelude//android:android.bzl", "android_toolchain")
|
||||
load("@prelude//js:js_bundle.bzl", "js_bundle_impl")
|
||||
load("@prelude//js:js_bundle_genrule.bzl", "js_bundle_genrule_impl")
|
||||
load("@prelude//js:js_library.bzl", "js_library_impl")
|
||||
load("@prelude//genrule.bzl", "genrule_attributes")
|
||||
|
||||
def _select_platform():
|
||||
# FIXME: prelude// should be standalone (not refer to ovr_config//)
|
||||
return select({
|
||||
"DEFAULT": "android",
|
||||
"ovr_config//os/constraints:iphoneos": "ios",
|
||||
})
|
||||
|
||||
def _is_release():
|
||||
# FIXME: prelude// should be standalone (not refer to ovr_config//)
|
||||
return select({
|
||||
"DEFAULT": False,
|
||||
"ovr_config//build_mode/constraints:release": True,
|
||||
})
|
||||
|
||||
def _is_build_only_native_code():
|
||||
return select(
|
||||
{
|
||||
"DEFAULT": False,
|
||||
"fbsource//xplat/buck2/platform/android:build_only_native_code": True,
|
||||
},
|
||||
)
|
||||
|
||||
implemented_rules = {
|
||||
"js_bundle": js_bundle_impl,
|
||||
"js_bundle_genrule": js_bundle_genrule_impl,
|
||||
"js_library": js_library_impl,
|
||||
}
|
||||
|
||||
extra_attributes = {
|
||||
"js_bundle": {
|
||||
"worker": attrs.exec_dep(),
|
||||
"_android_toolchain": android_toolchain(),
|
||||
"_is_release": attrs.bool(
|
||||
default = _is_release(),
|
||||
),
|
||||
"_platform": attrs.string(
|
||||
default = _select_platform(),
|
||||
),
|
||||
},
|
||||
"js_bundle_genrule": genrule_attributes() | {
|
||||
"type": attrs.string(
|
||||
default = "js_bundle_genrule",
|
||||
),
|
||||
"_is_release": attrs.bool(
|
||||
default = _is_release(),
|
||||
),
|
||||
"_platform": attrs.string(
|
||||
default = _select_platform(),
|
||||
),
|
||||
},
|
||||
"js_library": {
|
||||
"worker": attrs.exec_dep(),
|
||||
"_build_only_native_code": attrs.bool(default = _is_build_only_native_code()),
|
||||
"_is_release": attrs.bool(
|
||||
default = _is_release(),
|
||||
),
|
||||
"_platform": attrs.string(
|
||||
default = _select_platform(),
|
||||
),
|
||||
},
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue