mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-29 02:50:26 +00:00
0e24bfb464
Use them to download and extract the TZDB files
76 lines
2.2 KiB
Text
76 lines
2.2 KiB
Text
#
|
|
# This file introduces templates for calling extract_archive_contents.py
|
|
#
|
|
# extract_archive_contents.py behaves like CMake's file(ARCHIVE_EXTRACT)
|
|
#
|
|
# Parameters:
|
|
# archive (required) [string]
|
|
#
|
|
# files (required) [list of strings]
|
|
# Relative paths to the root of the archive of files to extract
|
|
#
|
|
# directory (required) [string]
|
|
# Output directory root for all the files
|
|
#
|
|
# paths (optional) [list of strings]
|
|
# Relative paths to the root of the archive of directories to extract
|
|
#
|
|
# Example use:
|
|
#
|
|
# extract_archive_contents("my_files") {
|
|
# archive = "$root_gen_dir/MyModule/xyz.tar.gz"
|
|
# directory = "$root_gen_dir/MyModule"
|
|
# files = [
|
|
# "file_one.txt",
|
|
# "file_two"
|
|
# ]
|
|
# paths = [ "some_dir" ]
|
|
# }
|
|
#
|
|
|
|
template("extract_archive_contents") {
|
|
assert(defined(invoker.archive), "must set 'archive' in $target_name")
|
|
assert(defined(invoker.files) || defined(invoker.paths),
|
|
"must set 'files' and/or 'paths' in $target_name")
|
|
assert(defined(invoker.directory), "must set 'directory' in $target_name")
|
|
|
|
action(target_name) {
|
|
script = "//Meta/gn/build/extract_archive_contents.py"
|
|
|
|
paths = []
|
|
if (defined(invoker.paths)) {
|
|
foreach(path, invoker.paths) {
|
|
paths += [ path + "/" ]
|
|
}
|
|
}
|
|
files = []
|
|
if (defined(invoker.files)) {
|
|
files = invoker.files
|
|
}
|
|
stamp_file = invoker.directory + "$target_name.stamp"
|
|
|
|
sources = invoker.archive
|
|
outputs = []
|
|
args = [
|
|
"-d",
|
|
rebase_path(invoker.directory, root_build_dir),
|
|
"-s",
|
|
rebase_path(stamp_file, root_build_dir),
|
|
rebase_path(sources[0], root_build_dir),
|
|
] + files + paths
|
|
foreach(file, files) {
|
|
outputs += [ invoker.directory + file ]
|
|
}
|
|
outputs += [ stamp_file ]
|
|
|
|
forward_variables_from(invoker,
|
|
[
|
|
"configs",
|
|
"deps",
|
|
"public_configs",
|
|
"public_deps",
|
|
"testonly",
|
|
"visibility",
|
|
])
|
|
}
|
|
}
|