bgraph
BGraph is a tool designed to generate dependencies graphs from Android.bp soong files.
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.6%) to scientific vocabulary
Repository
BGraph is a tool designed to generate dependencies graphs from Android.bp soong files.
Basic Info
- Host: GitHub
- Owner: quarkslab
- License: apache-2.0
- Language: Python
- Default Branch: master
- Homepage: https://quarkslab.github.io/bgraph/
- Size: 420 KB
Statistics
- Stars: 16
- Watchers: 5
- Forks: 7
- Open Issues: 3
- Releases: 0
Metadata Files
README.md
BGraph
BGraph is a tool designed to generate dependencies graphs from Android.bp soong files.
Overview
BGraph (for Build-Graphs) is a project aimed at create build graphs from blueprints in AOSP and querying those graphs.
In short, this project builds/uses Unified Dependency Graph for the Android Open Source Project by parsing and linking modules defined in the Android build system Soong.
Use-cases
You should use this tool if you want to find:
- all the dependencies of a source file in AOSP;
- all the sources involved in the building of a target in AOSP;
- common dependencies between two targets.
Usage
```bash
% bgraph --help
Usage: bgraph [OPTIONS] COMMAND [ARGS]...
BGraph - generate and query build dependency graphes.
BGraph is used to manipulate build dependency graphs generated from blueprint files. The main commands are:
- generate : used to generates multiples graphs
- query: used to query a previously generated graph
To get more help, see the online documentation.
Options: -v, --verbose Activate verbose output [default: False] --install-completion Install completion for the current shell. --show-completion Show completion for the current shell, to copy it or customize the installation.
--help Show this message and exit.
Commands: generate Generate BGraph's from a mirror dir. generate-single Generate a BGraph from a branch. list List the BGraph already generated. query Query a BGraph. ```
Installation
Using poetry
bash
poetry install bgraph
Using pip
bash
pip install bgraph
Using docker
bash
docker build -f docker/Dockerfile -t bgraph .
This will create a container with git, repo and bgraph and will take some time (because it compiles git from the source).
See Docker for more instructions.
Prerequisites
- python3.8
Optional dependencies for the builder:
- repo
- git (>25): since we're using partial-checkouts, a modern version of git is required
- at least 1Go of free disk space
- (Optional: AOSP mirror)
See Building from AOSP for more details.
Documentation
Licence
Contributing
Contributions are always welcome!
See the Contribution documentation for details on all you need to know about contributing.
Authors
- dm (achallande@quarkslab.com)
Owner
- Name: Quarkslab
- Login: quarkslab
- Kind: organization
- Location: France
- Website: https://quarkslab.com
- Twitter: quarkslab
- Repositories: 92
- Profile: https://github.com/quarkslab
Citation (CITATION.cff)
cff-version: 1.2.0
message: If you use this software, please cite the article from preferred-citation.
title: BGraph
abstract: BGraph is a tool designed to generate dependencies graphs from Android.bp soong files.
authors:
- family-names: Challande
given-names: Alexis
orcid: "https://orcid.org/0000-0001-9116-709X"
date-released: "2021-06-04"
repository-code: https://github.com/quarkslab/bgraph
version: v0.1.0
license: Apache-2.0
preferred-citation:
authors:
- family-names: Challande
given-names: Alexis
orcid: "https://orcid.org/0000-0001-9116-709X"
- family-names: Renault
given-names: Guenael
orcid: "https://orcid.org/0000-0002-7050-9975"
- family-names: David
given-names: Robin
orcid: "https://orcid.org/0000-0001-5722-8338"
title: Exploitation du graphe de dépendance d'AOSP à des fins de sécurité
type: article
year: 2021
GitHub Events
Total
- Watch event: 2
- Pull request event: 1
- Fork event: 2
Last Year
- Watch event: 2
- Pull request event: 1
- Fork event: 2
Dependencies
- appdirs 1.4.4 develop
- appnope 0.1.2 develop
- atomicwrites 1.4.0 develop
- attrs 21.2.0 develop
- backcall 0.2.0 develop
- black 20.8b1 develop
- coverage 5.5 develop
- iniconfig 1.1.1 develop
- ipython 7.23.1 develop
- ipython-genutils 0.2.0 develop
- jedi 0.18.0 develop
- matplotlib-inline 0.1.2 develop
- mypy 0.800 develop
- mypy-extensions 0.4.3 develop
- packaging 20.9 develop
- parso 0.8.2 develop
- pathspec 0.8.1 develop
- pexpect 4.8.0 develop
- pickleshare 0.7.5 develop
- pluggy 0.13.1 develop
- prompt-toolkit 3.0.18 develop
- ptyprocess 0.7.0 develop
- py 1.10.0 develop
- pytest 6.2.4 develop
- pytest-cov 2.12.0 develop
- toml 0.10.2 develop
- traitlets 5.0.5 develop
- typed-ast 1.4.3 develop
- wcwidth 0.2.5 develop
- astunparse 1.6.3
- click 7.1.2
- colorama 0.4.4
- commonmark 0.9.1
- decorator 4.4.2
- future 0.18.2
- jinja2 3.0.1
- joblib 1.0.1
- livereload 2.6.3
- lunr 0.5.8
- markdown 3.3.4
- markupsafe 2.0.1
- mkdocs 1.1.2
- mkdocs-autorefs 0.2.1
- mkdocs-material 7.1.5
- mkdocs-material-extensions 1.0.1
- mkdocstrings 0.15.1
- networkx 2.5.1
- nltk 3.6.2
- pydot 1.4.2
- pygments 2.9.0
- pymdown-extensions 8.2
- pyparsing 2.4.7
- pytkdocs 0.11.1
- pyyaml 5.4.1
- regex 2021.4.4
- rich 9.13.0
- sh 1.14.2
- shellingham 1.4.0
- six 1.16.0
- tornado 6.1
- tqdm 4.60.0
- typer 0.3.2
- typing-extensions 3.10.0.0
- untangle 1.1.1
- black ^20.8b1 develop
- coverage ^5.5 develop
- ipython ^7.20.0 develop
- mypy ^0.800 develop
- pytest ^6.2.4 develop
- pytest-cov ^2.12.0 develop
- mkdocs ^1.1.2
- mkdocs-material ^7.1.3
- mkdocstrings ^0.15.0
- networkx ^2.5
- pydot ^1.4.2
- pyparsing ^2.4.7
- python ^3.8
- rich ^9.11.0
- sh ^1.14.1
- typer ^0.3.2
- untangle ^1.1.1