Skip to content
Snippets Groups Projects
Commit dfade847 authored by Makoto Onuki's avatar Makoto Onuki
Browse files

[Ravenwood] Tweak build files

... to allow other modules to refer to the text
files.

Bug: 292141694
Test: ./scripts/run-all-tests.sh

Change-Id: I46f0c0e238a6d7f8dc1a30cf111296a529c83664
parent e4749a7f
No related branches found
No related tags found
No related merge requests found
......@@ -30,7 +30,7 @@ java_genrule {
name: "framework-minus-apex.ravenwood-base",
tools: ["hoststubgen"],
cmd: "$(location hoststubgen) " +
"@$(location ravenwood/texts/ravenwood-standard-options.txt) " +
"@$(location :ravenwood-standard-options) " +
"--debug-log $(location hoststubgen_framework-minus-apex.log) " +
"--stats-file $(location hoststubgen_framework-minus-apex_stats.csv) " +
......@@ -42,13 +42,13 @@ java_genrule {
"--gen-input-dump-file $(location hoststubgen_dump.txt) " +
"--in-jar $(location :framework-minus-apex-for-hoststubgen) " +
"--policy-override-file $(location ravenwood/texts/framework-minus-apex-ravenwood-policies.txt) " +
"--annotation-allowed-classes-file $(location ravenwood/texts/ravenwood-annotation-allowed-classes.txt) ",
"--policy-override-file $(location :ravenwood-framework-policies) " +
"--annotation-allowed-classes-file $(location :ravenwood-annotation-allowed-classes) ",
srcs: [
":framework-minus-apex-for-hoststubgen",
"ravenwood/texts/framework-minus-apex-ravenwood-policies.txt",
"ravenwood/texts/ravenwood-standard-options.txt",
"ravenwood/texts/ravenwood-annotation-allowed-classes.txt",
":ravenwood-framework-policies",
":ravenwood-standard-options",
":ravenwood-annotation-allowed-classes",
],
out: [
"ravenwood.jar",
......@@ -118,7 +118,7 @@ java_genrule {
name: "services.core.ravenwood-base",
tools: ["hoststubgen"],
cmd: "$(location hoststubgen) " +
"@$(location ravenwood/texts/ravenwood-standard-options.txt) " +
"@$(location :ravenwood-standard-options) " +
"--debug-log $(location hoststubgen_services.core.log) " +
"--stats-file $(location hoststubgen_services.core_stats.csv) " +
......@@ -130,13 +130,13 @@ java_genrule {
"--gen-input-dump-file $(location hoststubgen_dump.txt) " +
"--in-jar $(location :services.core-for-hoststubgen) " +
"--policy-override-file $(location ravenwood/texts/services.core-ravenwood-policies.txt) " +
"--annotation-allowed-classes-file $(location ravenwood/texts/ravenwood-annotation-allowed-classes.txt) ",
"--policy-override-file $(location :ravenwood-services-policies) " +
"--annotation-allowed-classes-file $(location :ravenwood-annotation-allowed-classes) ",
srcs: [
":services.core-for-hoststubgen",
"ravenwood/texts/services.core-ravenwood-policies.txt",
"ravenwood/texts/ravenwood-standard-options.txt",
"ravenwood/texts/ravenwood-annotation-allowed-classes.txt",
":ravenwood-services-policies",
":ravenwood-standard-options",
":ravenwood-annotation-allowed-classes",
],
out: [
"ravenwood.jar",
......
......@@ -16,6 +16,38 @@ filegroup {
visibility: ["//visibility:public"],
}
filegroup {
name: "ravenwood-services-policies",
srcs: [
"texts/ravenwood-services-policies.txt",
],
visibility: ["//visibility:public"],
}
filegroup {
name: "ravenwood-framework-policies",
srcs: [
"texts/ravenwood-framework-policies.txt",
],
visibility: ["//visibility:public"],
}
filegroup {
name: "ravenwood-standard-options",
srcs: [
"texts/ravenwood-standard-options.txt",
],
visibility: ["//visibility:public"],
}
filegroup {
name: "ravenwood-annotation-allowed-classes",
srcs: [
"texts/ravenwood-annotation-allowed-classes.txt",
],
visibility: ["//visibility:public"],
}
java_library {
name: "ravenwood-annotations-lib",
srcs: [":ravenwood-annotations"],
......
......@@ -15,11 +15,11 @@
*/
package com.android.hoststubgen.filters
import com.android.hoststubgen.UnknownApiException
import com.android.hoststubgen.addNonNullElement
import com.android.hoststubgen.asm.ClassNodes
import com.android.hoststubgen.asm.toHumanReadableClassName
import com.android.hoststubgen.asm.toHumanReadableMethodName
import com.android.hoststubgen.log
// TODO: Validate all input names.
......@@ -48,30 +48,30 @@ class InMemoryOutputFilter(
return mPolicies[getClassKey(className)] ?: super.getPolicyForClass(className)
}
private fun ensureClassExists(className: String) {
private fun checkClass(className: String) {
if (classes.findClass(className) == null) {
throw UnknownApiException("Unknown class $className")
log.w("Unknown class $className")
}
}
private fun ensureFieldExists(className: String, fieldName: String) {
private fun checkField(className: String, fieldName: String) {
if (classes.findField(className, fieldName) == null) {
throw UnknownApiException("Unknown field $className.$fieldName")
log.w("Unknown field $className.$fieldName")
}
}
private fun ensureMethodExists(
private fun checkMethod(
className: String,
methodName: String,
descriptor: String
) {
if (classes.findMethod(className, methodName, descriptor) == null) {
throw UnknownApiException("Unknown method $className.$methodName$descriptor")
log.w("Unknown method $className.$methodName$descriptor")
}
}
fun setPolicyForClass(className: String, policy: FilterPolicyWithReason) {
ensureClassExists(className)
checkClass(className)
mPolicies[getClassKey(className)] = policy
}
......@@ -81,7 +81,7 @@ class InMemoryOutputFilter(
}
fun setPolicyForField(className: String, fieldName: String, policy: FilterPolicyWithReason) {
ensureFieldExists(className, fieldName)
checkField(className, fieldName)
mPolicies[getFieldKey(className, fieldName)] = policy
}
......@@ -100,7 +100,7 @@ class InMemoryOutputFilter(
descriptor: String,
policy: FilterPolicyWithReason,
) {
ensureMethodExists(className, methodName, descriptor)
checkMethod(className, methodName, descriptor)
mPolicies[getMethodKey(className, methodName, descriptor)] = policy
}
......@@ -110,8 +110,8 @@ class InMemoryOutputFilter(
}
fun setRenameTo(className: String, methodName: String, descriptor: String, toName: String) {
ensureMethodExists(className, methodName, descriptor)
ensureMethodExists(className, toName, descriptor)
checkMethod(className, methodName, descriptor)
checkMethod(className, toName, descriptor)
mRenames[getMethodKey(className, methodName, descriptor)] = toName
}
......@@ -121,7 +121,7 @@ class InMemoryOutputFilter(
}
fun setNativeSubstitutionClass(from: String, to: String) {
ensureClassExists(from)
checkClass(from)
// Native substitute classes may be provided from other jars, so we can't do this check.
// ensureClassExists(to)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment