#!/usr/bin/env python3
#
# Copyright (C) 2016 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.
import json
import os
import sys
def main():
try:
product_out = os.environ[
"ANDROID_PRODUCT_OUT"]
except KeyError:
sys.stderr.write(
"Can't get ANDROID_PRODUCT_OUT. Run lunch first.\n")
sys.exit(
1)
filename = os.path.join(product_out,
"module-info.json")
try:
with open(filename)
as f:
modules = json.load(f)
except FileNotFoundError:
sys.stderr.write(f
"File not found: {filename}\n")
sys.exit(
1)
except json.JSONDecodeError:
sys.stderr.write(f
"Invalid json: {filename}\n")
return None
classes = {}
for name, info
in modules.items():
make = info.get(
"make")
make_gen = info.get(
"make_generated_module_info")
if not make
and make_gen:
classes.setdefault(frozenset(info.get(
"class")), []).append(name)
for cl, names
in classes.items():
print(
" ".join(cl))
for name
in names:
print(
" ", name)
if __name__ ==
"__main__":
main()
¤ Dauer der Verarbeitung: 0.2 Sekunden
¤
*© Formatika GbR, Deutschland