Layout validation walks over a layout resource and verifies that the layout only uses features the layout compiler supports. Currently this means we reject layouts that use any of the following tags: * include * fragment * merge * view In the future, we will extend the layout compiler to handle these, but for now we want to be liberal in what we reject. Bug: 111895153 Test: atest view-compiler-tests Change-Id: I8dca30c035a83b6763497a36fc60c68438fa1b0c
88 lines
2.0 KiB
Plaintext
88 lines
2.0 KiB
Plaintext
//
|
|
// 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.
|
|
//
|
|
|
|
cc_defaults {
|
|
name: "viewcompiler_defaults",
|
|
header_libs: [
|
|
"libbase_headers",
|
|
],
|
|
shared_libs: [
|
|
"libbase",
|
|
"libdexfile",
|
|
"slicer",
|
|
],
|
|
static_libs: [
|
|
"libtinyxml2",
|
|
],
|
|
}
|
|
|
|
cc_library_host_static {
|
|
name: "libviewcompiler",
|
|
defaults: ["viewcompiler_defaults"],
|
|
srcs: [
|
|
"dex_builder.cc",
|
|
"java_lang_builder.cc",
|
|
"tinyxml_layout_parser.cc",
|
|
"util.cc",
|
|
"layout_validation.cc",
|
|
],
|
|
}
|
|
|
|
cc_binary_host {
|
|
name: "viewcompiler",
|
|
defaults: ["viewcompiler_defaults"],
|
|
srcs: [
|
|
"main.cc",
|
|
],
|
|
static_libs: [
|
|
"libgflags",
|
|
"libviewcompiler",
|
|
],
|
|
}
|
|
|
|
cc_test_host {
|
|
name: "view-compiler-tests",
|
|
defaults: ["viewcompiler_defaults"],
|
|
srcs: [
|
|
"dex_builder_test.cc",
|
|
"layout_validation_test.cc",
|
|
"util_test.cc",
|
|
],
|
|
static_libs: [
|
|
"libviewcompiler",
|
|
],
|
|
test_suites: ["general-tests"],
|
|
}
|
|
|
|
cc_binary_host {
|
|
name: "dex_testcase_generator",
|
|
defaults: ["viewcompiler_defaults"],
|
|
srcs: ["dex_testcase_generator.cc"],
|
|
static_libs: [
|
|
"libviewcompiler",
|
|
],
|
|
}
|
|
|
|
genrule {
|
|
name: "generate_dex_testcases",
|
|
tools: [":dex_testcase_generator"],
|
|
cmd: "$(location :dex_testcase_generator) $(genDir)",
|
|
out: [
|
|
"simple.dex",
|
|
"trivial.dex",
|
|
],
|
|
}
|