You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
continuous-integration/drone/push Build is passing
Details
|
7 months ago | |
---|---|---|
cmd/glp | 3 years ago | |
configuration | 3 years ago | |
httpclient | 3 years ago | |
outputters | 3 years ago | |
parsers | 3 years ago | |
projecter | 3 years ago | |
structs | 3 years ago | |
.drone.yml | 7 months ago | |
.gitignore | 7 months ago | |
README.md | 3 years ago | |
glp.example.yaml | 3 years ago | |
go.mod | 3 years ago | |
go.sum | 3 years ago |
README.md
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.