Files
frameworks_base/startop/view_compiler/Android.bp
Eric Holk 3cbf176e7c [view-compiler] Add layout validation
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
2018-12-14 09:36:14 -08:00

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",
],
}