diff options
author | Mathieu Chartier <mathieuc@google.com> | 2017-08-15 13:37:07 -0700 |
---|---|---|
committer | Mathieu Chartier <mathieuc@google.com> | 2017-08-15 22:36:00 +0000 |
commit | 678ba75bb9b700a927d2f8f3bea725086c59405d (patch) | |
tree | 17738f8060c6d05ff6748c8e3e1e0f9e3121ccfe | |
parent | 73e3d9f58c9edd2db254f072bd82bcecb2c13275 (diff) |
Add some preloaded classes related files and tools
Added copyright-header to be used by generation scripts to
automatically add a copyright header to preloaded classes.
Add a default blacklist file to avoid needing to manually
remove classes that can't be preloaded in the zygote.
Added a script go generate a preloaded classes list from a raw class
list. This script adds the copyright headers and comments and removes
blacklisted classes.
Bug: 37966211
Test: manually run the scripts
Change-Id: I166f990c41978c80134d2f1e12c1b1079a12752a
-rw-r--r-- | config/copyright-header | 15 | ||||
-rwxr-xr-x | config/generate-preloaded-classes.sh | 33 | ||||
-rw-r--r-- | config/preloaded-classes-blacklist | 1 |
3 files changed, 49 insertions, 0 deletions
diff --git a/config/copyright-header b/config/copyright-header new file mode 100644 index 000000000000..93071cd7e2ef --- /dev/null +++ b/config/copyright-header @@ -0,0 +1,15 @@ +# +# Copyright (C) 2017 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. +# diff --git a/config/generate-preloaded-classes.sh b/config/generate-preloaded-classes.sh new file mode 100755 index 000000000000..d55190bf4256 --- /dev/null +++ b/config/generate-preloaded-classes.sh @@ -0,0 +1,33 @@ +#!/bin/bash +# +# Copyright (C) 2017 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. +if [ "$#" -lt 2 ]; then + echo "Usage $0 <input classes file> <blacklist file> [extra classes files]" + exit 1 +fi +echo "# Preloaded-classes filter file for phones. +# +# Classes in this file will be allocated into the boot image, and forcibly initialized in +# the zygote during initialization. This is a trade-off, using virtual address space to share +# common heap between apps. +# +# This file has been derived for mainline phone (and tablet) usage. +#" +input=$1 +blacklist=$2 +shift 2 +extra_classes_files=("$@") +sort "$input" "${extra_classes_files[@]}" | uniq | grep -f "$blacklist" -v -F -x + diff --git a/config/preloaded-classes-blacklist b/config/preloaded-classes-blacklist new file mode 100644 index 000000000000..48cdce852872 --- /dev/null +++ b/config/preloaded-classes-blacklist @@ -0,0 +1 @@ +placeholder |