https://github.com/aboutcode-org/go-inspector
An inspector for Go language-based source, binaries, packages, dependencies and metadata
https://github.com/aboutcode-org/go-inspector
Last synced: 7 months ago
JSON representation
An inspector for Go language-based source, binaries, packages, dependencies and metadata
- Host: GitHub
- URL: https://github.com/aboutcode-org/go-inspector
- Owner: aboutcode-org
- Created: 2022-07-19T09:03:30.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-11-05T20:31:41.000Z (about 1 year ago)
- Last Synced: 2025-06-13T10:07:23.337Z (7 months ago)
- Language: Python
- Homepage:
- Size: 60.5 MB
- Stars: 0
- Watchers: 7
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.rst
- Code of conduct: CODE_OF_CONDUCT.rst
- Authors: AUTHORS.rst
Awesome Lists containing this project
README
go-inspector
================================
go-inspector is a utility to extract dependencies and symbols from Go binaries.
It is designed to work as a ScanCode Toolkit plugin and integrated in ScanCode.io
To install and use:
- Run ``pip install go-inspector``
- Use with ``scancode --json-pp - --go-symbol --verbose ``
The JSON output will contain various dependencies and symbols found in Go binaries if any.
A Go compiler is required to build go-inspector. Install Go from
https://go.dev/doc/install or from a package manager.
- License: Apache-2.0 AND MIT AND BSD-3-Clause WITH LicenRef-scancode-google-patent-license-golang
- Copyright (c) nexB Inc., AboutCode, Mandiant, The Go Authors, Elliot Chance and others.
- Homepage: https://github.com/aboutcode-org/go-inspector
See the libsrc/ directory for detailed license and credits for bundled third-party packages.
Development
----------------
- Install requirements and dependencies using ``make dev``
- Then ``source venv/bin/activate``
Testing:
- To run tests: ``pytest -vvs``
- To regen test fixtures: ``SCANCODE_REGEN_TEST_FIXTURES=yes pytest -vvs``
- To update the bundled GoReSym, see src/bin/update.sh
Building:
- Ensure ``make dev`` has been run, then run ``make build``
How to re-generate test binaries
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
These are compiled (and committed) from code in tests/data/basic :
- Run ``go tool dist list`` to get all possible pairs of OSes and arches to compile the binary.
- Then build a OS/arch pair like this to get compiled binaries:
``GOOS= GOARCH= go build -o ./tests/data/basic/app__exe ./tests/data/main.go``
- Make a copy and run strip of the Linux executable as "app_lin_exe_stripped"
Acknowledgements, Funding, Support and Sponsoring
--------------------------------------------------------
This project is funded, supported and sponsored by:
- Generous support and contributions from users like you!
- the European Commission NGI programme
- the NLnet Foundation
- the Swiss State Secretariat for Education, Research and Innovation (SERI)
- Google, including the Google Summer of Code and the Google Seasons of Doc programmes
- Mercedes-Benz Group
- Microsoft and Microsoft Azure
- AboutCode ASBL
- nexB Inc.
|europa| |dgconnect|
|ngi| |nlnet|
|aboutcode| |nexb|
This project was funded through the NGI0 Entrust Fund, a fund established by NLnet with financial
support from the European Commission's Next Generation Internet programme, under the aegis of DG
Communications Networks, Content and Technology under grant agreement No 101069594.
|ngizeroentrust| https://nlnet.nl/project/Back2source/
This project was funded through the NGI0 Core Fund, a fund established by NLnet with financial
support from the European Commission's Next Generation Internet programme, under the aegis of DG
Communications Networks, Content and Technology under grant agreement No 101092990.
|ngizerocore| https://nlnet.nl/project/Back2source-next/
This project was funded through the NGI0 Entrust Fund, a fund established by NLnet with financial
support from the European Commission's Next Generation Internet programme, under the aegis of DG
Communications Networks, Content and Technology under grant agreement No 101069594.
|ngizeroentrust| https://nlnet.nl/project/purl2all/
.. |nlnet| image:: https://nlnet.nl/logo/banner.png
:target: https://nlnet.nl
:height: 50
:alt: NLnet foundation logo
.. |ngi| image:: https://ngi.eu/wp-content/uploads/thegem-logos/logo_8269bc6efcf731d34b6385775d76511d_1x.png
:target: https://ngi.eu35
:height: 50
:alt: NGI logo
.. |nexb| image:: https://nexb.com/wp-content/uploads/2022/04/nexB.svg
:target: https://nexb.com
:height: 30
:alt: nexB logo
.. |europa| image:: https://ngi.eu/wp-content/uploads/sites/77/2017/10/bandiera_stelle.png
:target: http://ec.europa.eu/index_en.htm
:height: 40
:alt: Europa logo
.. |aboutcode| image:: https://aboutcode.org/wp-content/uploads/2023/10/AboutCode.svg
:target: https://aboutcode.org/
:height: 30
:alt: AboutCode logo
.. |swiss| image:: https://www.sbfi.admin.ch/sbfi/en/_jcr_content/logo/image.imagespooler.png/1493119032540/logo.png
:target: https://www.sbfi.admin.ch/sbfi/en/home/seri/seri.html
:height: 40
:alt: Swiss logo
.. |dgconnect| image:: https://commission.europa.eu/themes/contrib/oe_theme/dist/ec/images/logo/positive/logo-ec--en.svg
:target: https://commission.europa.eu/about-european-commission/departments-and-executive-agencies/communications-networks-content-and-technology_en
:height: 40
:alt: EC DG Connect logo
.. |ngizerocore| image:: https://nlnet.nl/image/logos/NGI0_tag.svg
:target: https://nlnet.nl/core
:height: 40
:alt: NGI Zero Core Logo
.. |ngizerocommons| image:: https://nlnet.nl/image/logos/NGI0_tag.svg
:target: https://nlnet.nl/commonsfund/
:height: 40
:alt: NGI Zero Commons Logo
.. |ngizeropet| image:: https://nlnet.nl/image/logos/NGI0PET_tag.svg
:target: https://nlnet.nl/PET
:height: 40
:alt: NGI Zero PET logo
.. |ngizeroentrust| image:: https://nlnet.nl/image/logos/NGI0Entrust_tag.svg
:target: https://nlnet.nl/entrust
:height: 38
:alt: NGI Zero Entrust logo
.. |ngiassure| image:: https://nlnet.nl/image/logos/NGIAssure_tag.svg
:target: https://nlnet.nl/image/logos/NGIAssure_tag.svg
:height: 32
:alt: NGI Assure logo
.. |ngidiscovery| image:: https://nlnet.nl/image/logos/NGI0Discovery_tag.svg
:target: https://nlnet.nl/discovery/
:height: 40
:alt: NGI Discovery logo