mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-11-24 06:16:30 +03:00
62 lines
2.1 KiB
Plaintext
62 lines
2.1 KiB
Plaintext
|
# Copyright 2018 The Chromium Authors. All rights reserved.
|
||
|
# Use of this source code is governed by a BSD-style license that can be
|
||
|
# found in the LICENSE file.
|
||
|
|
||
|
# Creates a group() that lists Python sources as |data|.
|
||
|
# Having such targets serves two purposes:
|
||
|
# 1) Causes files to be included in runtime_deps, so that they are uploaded to
|
||
|
# swarming when running tests remotely.
|
||
|
# 2) Causes "gn analyze" to know about all Python inputs so that tests will be
|
||
|
# re-run when relevant Python files change.
|
||
|
#
|
||
|
# All non-trivial Python scripts should use a "pydeps" file to track their
|
||
|
# sources. To create a .pydep file for a target in //example:
|
||
|
#
|
||
|
# build/print_python_deps.py \
|
||
|
# --root example \
|
||
|
# --output example/$target_name.pydeps \
|
||
|
# path/to/your/script.py
|
||
|
#
|
||
|
# Keep the .pydep file up-to-date by adding to //PRESUBMIT.py under one of:
|
||
|
# _ANDROID_SPECIFIC_PYDEPS_FILES, _GENERIC_PYDEPS_FILES
|
||
|
#
|
||
|
# Variables
|
||
|
# pydeps_file: Path to .pydeps file to read sources from (optional).
|
||
|
# data: Additional files to include in data. E.g. non-.py files needed by the
|
||
|
# library, or .py files that are conditionally / lazily imported.
|
||
|
#
|
||
|
# Example
|
||
|
# python_library("my_library_py") {
|
||
|
# pydeps_file = "my_library.pydeps"
|
||
|
# data = [ "foo.dat" ]
|
||
|
# }
|
||
|
template("python_library") {
|
||
|
group(target_name) {
|
||
|
forward_variables_from(invoker,
|
||
|
[
|
||
|
"data_deps",
|
||
|
"deps",
|
||
|
"testonly",
|
||
|
"visibility",
|
||
|
])
|
||
|
|
||
|
if (defined(invoker.pydeps_file)) {
|
||
|
_py_files = read_file(invoker.pydeps_file, "list lines")
|
||
|
|
||
|
# Filter out comments.
|
||
|
set_sources_assignment_filter([ "#*" ])
|
||
|
sources = _py_files
|
||
|
|
||
|
# Even though the .pydep file is not used at runtime, it must be added
|
||
|
# so that "gn analyze" will mark the target as changed when .py files
|
||
|
# are removed but none are added or modified.
|
||
|
data = sources + [ invoker.pydeps_file ]
|
||
|
} else {
|
||
|
data = []
|
||
|
}
|
||
|
if (defined(invoker.data)) {
|
||
|
data += invoker.data
|
||
|
}
|
||
|
}
|
||
|
}
|