xref: /aosp_15_r20/system/media/camera/docs/README.md (revision b9df5ad1c9ac98a7fefaac271a55f7ae3db05414)
1*b9df5ad1SAndroid Build Coastguard Worker# Camera Metadata XML
2*b9df5ad1SAndroid Build Coastguard Worker## Introduction
3*b9df5ad1SAndroid Build Coastguard WorkerThis is a set of scripts to manipulate the camera metadata in an XML form.
4*b9df5ad1SAndroid Build Coastguard Worker
5*b9df5ad1SAndroid Build Coastguard Worker## Generated Files
6*b9df5ad1SAndroid Build Coastguard WorkerMany files can be generated from XML, such as the documentation (html/pdf),
7*b9df5ad1SAndroid Build Coastguard WorkerC code, Java code, and even XML itself (as a round-trip validity check).
8*b9df5ad1SAndroid Build Coastguard Worker
9*b9df5ad1SAndroid Build Coastguard Worker## Dependencies
10*b9df5ad1SAndroid Build Coastguard Worker* Python 2.7.x+
11*b9df5ad1SAndroid Build Coastguard Worker* Beautiful Soup 4+ - HTML/XML parser, used to parse `metadata_definitions.xml`
12*b9df5ad1SAndroid Build Coastguard Worker* Mako 0.7+         - Template engine, needed to do file generation.
13*b9df5ad1SAndroid Build Coastguard Worker* Markdown 2.1+     - Plain text to HTML converter, for docs formatting.
14*b9df5ad1SAndroid Build Coastguard Worker* Tidy              - Cleans up the XML/HTML files.
15*b9df5ad1SAndroid Build Coastguard Worker* XML Lint          - Validates XML against XSD schema.
16*b9df5ad1SAndroid Build Coastguard Worker
17*b9df5ad1SAndroid Build Coastguard Worker## Quick Setup (Debian Rodete):
18*b9df5ad1SAndroid Build Coastguard WorkerNOTE: Debian (and most Linux distros) no longer package Python 2.
19*b9df5ad1SAndroid Build Coastguard Worker      Python 3 dependencies are listed below.
20*b9df5ad1SAndroid Build Coastguard Worker```
21*b9df5ad1SAndroid Build Coastguard Workersudo apt install python3-mako \
22*b9df5ad1SAndroid Build Coastguard Worker                 python3-bs4 \
23*b9df5ad1SAndroid Build Coastguard Worker                 python3-markdown \
24*b9df5ad1SAndroid Build Coastguard Worker                 tidy \
25*b9df5ad1SAndroid Build Coastguard Worker                 libxml2-utils
26*b9df5ad1SAndroid Build Coastguard Worker```
27*b9df5ad1SAndroid Build Coastguard Worker
28*b9df5ad1SAndroid Build Coastguard Worker## Quick Usage:
29*b9df5ad1SAndroid Build Coastguard Worker1. Modify or add to `metadata_definition.xml`
30*b9df5ad1SAndroid Build Coastguard Worker2. Execute `metadata-generate`
31*b9df5ad1SAndroid Build Coastguard Worker3. Run `m ds-docs` to make sure the javadoc is correctly generated
32*b9df5ad1SAndroid Build Coastguard Worker4. Commit and Upload the repos listed at the end of `metadata-generate`
33