{"id":20574513,"url":"https://github.com/nkh-lab/aosp-devicemk-parser","last_synced_at":"2025-09-04T00:10:38.925Z","repository":{"id":44887726,"uuid":"505892848","full_name":"nkh-lab/aosp-devicemk-parser","owner":"nkh-lab","description":"Python-based tool project for parsing AOSP device mk file dependencies for lunch target and present output in PlantUML format.","archived":false,"fork":false,"pushed_at":"2022-11-24T13:58:30.000Z","size":113,"stargazers_count":6,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-18T05:37:20.055Z","etag":null,"topics":["android","android-development","android-device","aosp","aosp-build","makefile","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nkh-lab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-06-21T15:07:13.000Z","updated_at":"2025-03-04T11:08:21.000Z","dependencies_parsed_at":"2022-07-15T07:30:54.861Z","dependency_job_id":null,"html_url":"https://github.com/nkh-lab/aosp-devicemk-parser","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nkh-lab/aosp-devicemk-parser","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nkh-lab%2Faosp-devicemk-parser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nkh-lab%2Faosp-devicemk-parser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nkh-lab%2Faosp-devicemk-parser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nkh-lab%2Faosp-devicemk-parser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nkh-lab","download_url":"https://codeload.github.com/nkh-lab/aosp-devicemk-parser/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nkh-lab%2Faosp-devicemk-parser/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273529881,"owners_count":25121891,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-03T02:00:09.631Z","response_time":76,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","android-development","android-device","aosp","aosp-build","makefile","python"],"created_at":"2024-11-16T05:34:59.447Z","updated_at":"2025-09-04T00:10:38.878Z","avatar_url":"https://github.com/nkh-lab.png","language":"Python","readme":"## Intro\nPython-based tool project for parsing AOSP device mk file dependencies for lunch target and presenting output in [PlantUML](https://plantuml.com/en/) format.\n\n## CI Status\n[![CI](https://github.com/nkh-lab/aosp-devicemk-parser/actions/workflows/ci.yml/badge.svg)](https://github.com/nkh-lab/aosp-devicemk-parser/actions/workflows/ci.yml)\n\n## How to use\nScript should be run from AOSP tree for sourced lunch target. For example:\n```\n$ . ./build/envsetup.sh\n$ lunch ncar_x86-userdebug\n$ cd vendor/nkh-lab/tools/devicemk-parser/\n```\nAnd run the script:\n```\n$ python parse_devicemk.py\nParsing make files dependencies...\ndevice/nkh-lab/ncar/ncar_x86.mk\ndevice/nkh-lab/ncar/ncar_x86/BoardConfig.mk\ndevice/generic/car/emulator/aosp_car_emulator.mk\nbuild/make/target/product/aosp_x86.mk\ndevice/nkh-lab/ncar/ncar_x86/device-ncar_x86.mk\ndevice/generic/car/generic_car_x86/BoardConfig.mk\ndevice/generic/car/common/car.mk\n...\nbuild/make/target/product/base_vendor.mk\nbuild/make/target/product/runtime_libart.mk\nbuild/make/target/product/default_art_config.mk\n============================================\nParsed files: 72, Warnings: 0, Time spent: 0m 13s\nGenerated output:\nPUML: /home/mykola/Projects/my/ncar/vendor/nkh-lab/tools/devicemk-parser/ncar_x86.puml\n```\nFor more options, see the script help:\n```\n$ python parse_devicemk.py -h\n```\n## Output examples\nFollowing output examples were obtained from parsing [NCAR - Android Automotive Emulator](https://github.com/nkh-lab/aosp-ncar-manifest) AOSP project for `ncar_x86-userdebug` target:\n- [PlantUML output file](doc/output-examples/ncar_x86.puml)\n- [text output file](doc/output-examples/ncar_x86.txt) (more for tool debugging needs)\n\nThe following is an example of graphical PlantUML presentation, where [PlantUML output file](doc/output-examples/ncar_x86.puml) was converted into SVG image by using [PlantUML Extension for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=jebbs.plantuml) (also output file can be converted using [PlantUML online interpreter](https://www.plantuml.com/plantuml/uml/SyfFKj2rKt3CoKnELR1Io4ZDoSa70000)):\n\n![](doc/output-examples/ncar_x86.svg)\n\n[Link to full size image](https://raw.githubusercontent.com/nkh-lab/aosp-devicemk-parser/master/doc/output-examples/ncar_x86.svg)\n\n## Useful links\n- [PlantUML Home page](https://plantuml.com/en/)\n- [PlantUML Online Interpreter](https://www.plantuml.com/plantuml/uml/SyfFKj2rKt3CoKnELR1Io4ZDoSa70000)\n- [PlantUML Extension for VSCode](https://marketplace.visualstudio.com/items?itemName=jebbs.plantuml)\n- [SVG Preview Extension for VSCode](https://marketplace.visualstudio.com/items?itemName=SimonSiefke.svg-preview)","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnkh-lab%2Faosp-devicemk-parser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnkh-lab%2Faosp-devicemk-parser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnkh-lab%2Faosp-devicemk-parser/lists"}