1.7 KiB
1.7 KiB
GLP
GLP stands for Go Licensing Processor. It is an utility that parses application's dependencies, gets their licenses and copyright information and writing gathered data into report file.
Supported languages
- Go (dep and modules)
Supported report file formats
- CSV
Supported VCS and sites
It was tested for git repositories with various sites (github.com, gitlab.com, self-hosted Gitea, even my giredore). It will work with any hosting that supports ?go-get=1
URL parameter and which outputs go-import and go-source meta lines.
But there are some caveats appeared:
- Github most of times will not add
go-source
meta line in HTML's<head>
tag. There are a workaround for that here.
Installation
It is enough to issue:
go get -u go.dev.pztrn.name/glp/cmd/glp
Usage
See glp -h
for a list of possible options.
Example usage
glp -config ./.glp.yaml -pkgs /home/pztrn/projects/go/src/go.dev.pztrn.name/discordrone,/home/pztrn/projects/go/src/go.dev.pztrn.name/opensaps -outfile /home/pztrn/deps-test.csv
Configuration
For now you can configure only debug output for logging. See ToDo below.
ToDo
- Ability to overwrite all things about dependency, like copyrights, license URL and so on via configuration file.
- Ability to use it as library.
- Ability to use it in CI with alerts about bad licenses.
- Ability to use it for projects written in other languages than Go (javascript, python, java, and so on).
- More outputters - PDF, xlsx and so on.
- (Maybe) Use
go list
output for gathering dependencies.