blob: 29537542330dfb4657bf1e517a7e1f4a375dd78a [file] [log] [blame]
// Copyright (C) 2018 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.
apexer_tools = [
"apexer",
"aapt2",
"avbtool",
"e2fsdroid",
"mke2fs",
"resize2fs",
"sefcontext_compile",
"zipalign",
"make_f2fs",
"sload_f2fs",
// TODO(b/124476339) apex doesn't follow 'required' dependencies so we need to include this
// manually for 'avbtool'.
"fec",
]
// TODO(b/157110982): cannot specify "required" dependency on go binary
apexer_go_tools = [
"merge_zips",
"soong_zip",
]
python_library_host {
name: "apex_manifest",
srcs: [
"apex_manifest.py",
],
version: {
py2: {
enabled: true,
},
py3: {
enabled: true,
},
},
libs: [
"apex_manifest_proto",
],
}
python_binary_host {
name: "apexer",
srcs: [
"apexer.py",
],
version: {
py2: {
enabled: true,
embedded_launcher: true,
},
py3: {
enabled: false,
},
},
libs: [
"apex_manifest",
"apex_build_info_proto",
"manifest_utils",
],
required: apexer_tools,
}
python_binary_host {
name: "conv_apex_manifest",
srcs: [
"conv_apex_manifest.py",
],
version: {
py2: {
enabled: true,
embedded_launcher: true,
},
py3: {
enabled: false,
},
},
libs: [
"apex_manifest_proto",
],
}
apex_key {
name: "com.android.support.apexer.key",
public_key: "etc/com.android.support.apexer.avbpubkey",
private_key: "etc/com.android.support.apexer.pem",
}
// This is a host-apex that contains all the binaries needed to create new apex's seprate from
// soong.
apex_test {
name: "com.android.support.apexer",
payload_type: "zip",
host_supported: true,
device_supported: false,
manifest: "etc/manifest.json",
ignore_system_library_special_case: true,
key: "com.android.support.apexer.key",
binaries: apexer_tools + apexer_go_tools,
}
// TODO(b/148659029): this test can't run in TEST_MAPPING.
python_test_host {
name: "apexer_test",
main: "apexer_test.py",
srcs: [
"apexer_test.py",
],
data: [
":com.android.example.apex",
":com.android.example-legacy.apex",
":com.android.example-logging_parent.apex",
":com.android.example-overridden_package_name.apex",
"testdata/com.android.example.apex.avbpubkey",
"testdata/com.android.example.apex.pem",
"testdata/com.android.example.apex.pk8",
"testdata/com.android.example.apex.x509.pem",
],
version: {
py2: {
enabled: false,
},
py3: {
enabled: true,
},
},
test_suites: ["general-tests"],
libs: [
"apex_manifest",
],
required: [
"apexer",
"deapexer"
],
}