tree 633ae4acb54f28270309a2ce086ffe96a7a837a0
parent 902bfceb0c26c456117c3f7d2ac4c0c5e65a6d27
author Inseob Kim <inseob@google.com> 1540445253 +0900
committer Inseob Kim <inseob@google.com> 1540973789 +0900

Change schema of sysprop description file

Underlying property name for schematized property have been generated
with owner, prefix, readonly, and name field. This is too restrictive
and uncomfortable as

1) Names of API should be same with names of its underlying properties.
For example, if we schematize dalvik.vm.systemservercompilerfilter, the
name of API should look like "some.module.systemservercompilerfilter()"
which looks not so good.
2) The name generation rule is complicated and not intuitive.
3) There's no nice way to schematize props with prefix persist or ro.
4) Representing accessibility with only one field "readonly" is too
narrow.

So schema of sysprop description file is changed as follows:

1) prefix field was too complex, so it is removed.
2) "readonly" boolean field is changed to "access" enum field which can
hold one of: Readonly | Writeonce | ReadWrite. "ro." prefix for property
name is mandatory for Readonly and Writeonce properties. For ReadWrite
properties. "ro." prefix should not exist.
3) One can optionally set "prop_name" which will directly be used as
the underlying property. If "prop_name" is not set, owner, access, and
api_name field will be used as before.

Bug: 80125326
Test: mma -j && run sysprop_test && try to make java_library and
cc_library_shared with sysprop description file

Change-Id: I485b4d1e993f99d2875dce66ec7f077c71aba985
