2019-11-09 10:40:39 +08:00
|
|
|
// Copyright (C) 2019 The Android Open Source Project
|
|
|
|
//
|
|
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
// you may not use this file except in compliance with the License.
|
|
|
|
// You may obtain a copy of the License at
|
|
|
|
//
|
|
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
//
|
|
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
// See the License for the specific language governing permissions and
|
|
|
|
// limitations under the License.
|
|
|
|
|
2021-02-13 13:42:54 +08:00
|
|
|
package {
|
|
|
|
// See: http://go/android-license-faq
|
|
|
|
// A large-scale-change added 'default_applicable_licenses' to import
|
|
|
|
// all of the 'license_kinds' from "build_make_license"
|
|
|
|
// to get the below license kinds:
|
|
|
|
// SPDX-license-identifier-Apache-2.0
|
|
|
|
// SPDX-license-identifier-BSD
|
|
|
|
// SPDX-license-identifier-CC-BY
|
|
|
|
// SPDX-license-identifier-GPL
|
|
|
|
// SPDX-license-identifier-MIT
|
|
|
|
default_applicable_licenses: ["build_make_license"],
|
|
|
|
}
|
|
|
|
|
2019-11-09 10:40:39 +08:00
|
|
|
python_binary_host {
|
|
|
|
name: "generate-self-extracting-archive",
|
|
|
|
srcs: ["generate-self-extracting-archive.py"],
|
|
|
|
version: {
|
|
|
|
py2: {
|
|
|
|
enabled: true,
|
|
|
|
},
|
|
|
|
py3: {
|
|
|
|
enabled: false,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
2020-05-20 17:33:43 +08:00
|
|
|
|
|
|
|
python_binary_host {
|
|
|
|
name: "post_process_props",
|
|
|
|
srcs: ["post_process_props.py"],
|
|
|
|
version: {
|
|
|
|
py2: {
|
|
|
|
enabled: false,
|
|
|
|
},
|
|
|
|
py3: {
|
|
|
|
enabled: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
Support optional prop assignments
This CL adds a number of changes to make the assignment of system
properties to be less confusing.
1. Added `a ?= b` syntax, which is called optional prop assignments. The
prop `a` gets the value `b` only when there is no non-optional prop
assignment for `a` such as `a = c`. This is useful for props that
provide some reasonable default values as fallback.
2. With the introduction of the optional prop assignment syntax,
duplicated non-optional assignments is prohibited; e.g., the follwing
now triggers a build-time error:
a = b
a = c
, but the following doesn't:
a ?= b
a = c
Note that the textual order between the optional and non-optional
assignments doesn't matter. The non-optional assignment eclipses the
optional assignment even when the former appears 'before' the latter.
a = c
a ?= b
In the above, `a` gets the value `c`
When there are multiple optional assignments without a non-optional
assignments as shown below, the last one wins:
a ?= b
a ?= c
`a` becomes `c`. Specifically, the former assignment is commented out
and the latter is converted to a non-optional assignment.
3. post_process_props.py is modified so that when a prop assignment is
deleted, changed, or added, the changes are recorded as comments. This
is to aid debugging. Previously, it was often difficult to find out why
a certain sysprop assignment is missing or is added.
4. post_process_prop.py now has a unittest
Bug: 117892318
Bug: 158735147
Test: atest --host post_process_prop_unittest
Exempt-From-Owner-Approval: cherry-pick from master
Merged-In: I9c073a21c8257987cf2378012cadaeeeb698a4fb
(cherry picked from commit 7aeb8de74e08eb2d305686aa8eff45353973e7d7)
Change-Id: I9c073a21c8257987cf2378012cadaeeeb698a4fb
2020-06-22 16:30:57 +08:00
|
|
|
|
|
|
|
python_test_host {
|
|
|
|
name: "post_process_props_unittest",
|
|
|
|
main: "test_post_process_props.py",
|
|
|
|
srcs: [
|
|
|
|
"post_process_props.py",
|
|
|
|
"test_post_process_props.py",
|
|
|
|
],
|
|
|
|
version: {
|
|
|
|
py2: {
|
|
|
|
enabled: false,
|
|
|
|
},
|
|
|
|
py3: {
|
|
|
|
enabled: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
test_config: "post_process_props_unittest.xml",
|
|
|
|
test_suites: ["general-tests"],
|
|
|
|
}
|
2020-07-28 09:49:41 +08:00
|
|
|
|
|
|
|
python_binary_host {
|
|
|
|
name: "extract_kernel",
|
|
|
|
srcs: ["extract_kernel.py"],
|
|
|
|
version: {
|
|
|
|
py2: {
|
2021-02-07 17:01:26 +08:00
|
|
|
enabled: false,
|
2020-07-28 09:49:41 +08:00
|
|
|
},
|
|
|
|
py3: {
|
2021-02-07 17:01:26 +08:00
|
|
|
enabled: true,
|
2020-07-28 09:49:41 +08:00
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
|
|
|
|
|
|
|
genrule_defaults {
|
|
|
|
name: "extract_kernel_release_defaults",
|
|
|
|
tools: ["extract_kernel", "lz4"],
|
|
|
|
out: ["kernel_release.txt"],
|
|
|
|
cmd: "$(location) --tools lz4:$(location lz4) --input $(in) --output-release > $(out)"
|
|
|
|
}
|