quarkslab / bgraph Goto Github PK
View Code? Open in Web Editor NEWBGraph is a tool designed to generate dependencies graphs from Android.bp soong files.
Home Page: https://quarkslab.github.io/bgraph/
License: Apache License 2.0
BGraph is a tool designed to generate dependencies graphs from Android.bp soong files.
Home Page: https://quarkslab.github.io/bgraph/
License: Apache License 2.0
mkdir test && \
cd test && \
mkdir bgraphs && \
python3.8 -m venv venv && \
source venv/bin/activate && \
pip install bgraph && \
bgraph generate bgraphs 'https://android.googlesource.com/'
2021-12-13 16:39:17,862 - bgraph.builder.builder - INFO - Found 1174 branches
2021-12-13 16:39:17,863 - bgraph.builder.builder - INFO - Start composing for android-1.6_r1.1_
2021-12-13 16:39:27,625 - bgraph.builder.builder - ERROR - Unable to init the repository. Verify that the mirror is correct.
2021-12-13 16:39:27,625 - bgraph.builder.builder - INFO - Start composing for android-1.6_r1.2_
2021-12-13 16:39:41,370 - bgraph.builder.builder - ERROR - Unable to init the repository. Verify that the mirror is correct.
2021-12-13 16:39:41,370 - bgraph.builder.builder - INFO - Start composing for android-1.6_r1.3_
...
I've made a graph and I'm able to query dependencies of specific files, but my end goal really is to create SBOM (software bill of materials) of aosp and for that I would need the full list of all dependencies of the project. Is that possible to query with the structure of bgraph?
Hey. Thank you for your tool. I was just trying to use it to understand the dependency graph of a local clone of the master-art
manifest but am unable to generate a graph for it.
I believe bgraph
expects an entire local mirror (which I don't have) or you have to provide a mirror URL (which is too time consuming and eats a lot of disk space, specially if I already have a local clone). Maybe I've misunderstood how the tool works, but I couldn't get it to generate a graph due to the missing manifest.git
file.
I think it would be immensely useful if there was an option to effectively just do a find /path/to/local/android/clone -name Android.bp
and then create a graph from those files as it avoids the above issue.
For reference, I'm just following the official documentation on how to build ART (https://android.googlesource.com/platform/art/+/refs/heads/master/build/#building-as-a-module-on), which recommends to use the master-art
manifest.
EDIT: Ah apologies. It does seem like I've misunderstood how the tool works. You can specify the branch so the master-art
manifest is supported.
poetry remove get-poetry.py
script: python-poetry/poetry@82eb934
it cause docker build failed:
Removing intermediate container 90e4c278acbc
---> 024f1beaa7d7
Step 13/30 : RUN curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python3 && curl -sSL https://storage.googleapis.com/git-repo-downloads/repo > /opt/repo/repo && chmod a+x /opt/repo/repo /opt/poetry/bin/poetry
---> Running in 85ea8f413bfd
File "<stdin>", line 1
404: Not Found
^
SyntaxError: invalid syntax
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.