andyfeller/gh-dependency-report

Simplify report output handling

Closed this issue · 0 comments

The initial implementation of gh-dependency-report defaults to using standard out for the CSV report with progress / log being emitted via standard err. This is a little confusing for anyone who hasn't looked at the usage statement or intrinsically know to redirect stdout.

andyfeller@Andrews-MacBook-Pro:andyfeller/gh-dependency-report ‹main*›$ go run main.go andyfeller
2022-01-28T08:09:58.099-0500	INFO	cmd/root.go:80	Processing repos: [andyfeller argo-cd argo-helm argocd-notifications bespoke branch-protection-enforcer-app chef codeql-action-configs docker-alpine-abuild docker.github.io docs dotfiles fabric8-pipeline-library gh-dependency-report integrations-core jenkins-openshift-login-plugin jenkins-pipeline-library linux mockserver my-py-grpc-repo openshift-cassandra openshift-sync-plugin populate-project powershell-poc private-stack python stacks-experiment]
2022-01-28T08:09:58.099-0500	DEBUG	cmd/root.go:122	Processing andyfeller/andyfeller
2022-01-28T08:09:58.261-0500	DEBUG	cmd/root.go:122	Processing andyfeller/argo-cd
2022-01-28T08:09:58.374-0500	DEBUG	cmd/root.go:122	Processing andyfeller/argo-helm
2022-01-28T08:09:58.489-0500	DEBUG	cmd/root.go:122	Processing andyfeller/argocd-notifications
2022-01-28T08:09:58.606-0500	DEBUG	cmd/root.go:122	Processing andyfeller/bespoke
2022-01-28T08:09:59.071-0500	DEBUG	cmd/root.go:143	Processing andyfeller/bespoke > .github/workflows/init.yml
2022-01-28T08:09:59.315-0500	DEBUG	cmd/root.go:154	Processing andyfeller/bespoke > .github/workflows/init.yml > actions/checkout
2022-01-28T08:09:59.315-0500	DEBUG	cmd/root.go:143	Processing andyfeller/bespoke > .github/actions/populate_project/package-lock.json
2022-01-28T08:10:00.099-0500	DEBUG	cmd/root.go:154	Processing andyfeller/bespoke > .github/actions/populate_project/package-lock.json > @actions/core
2022-01-28T08:10:00.099-0500	DEBUG	cmd/root.go:154	Processing andyfeller/bespoke > .github/actions/populate_project/package-lock.json > @actions/github
2022-01-28T08:10:00.099-0500	DEBUG	cmd/root.go:154	Processing andyfeller/bespoke > .github/actions/populate_project/package-lock.json > @actions/http-client
2022-01-28T08:10:00.099-0500	DEBUG	cmd/root.go:154	Processing andyfeller/bespoke > .github/actions/populate_project/package-lock.json > @octokit/auth-token
2022-01-28T08:10:00.100-0500	DEBUG	cmd/root.go:154	Processing andyfeller/bespoke > .github/actions/populate_project/package-lock.json > @octokit/core
2022-01-28T08:10:00.100-0500	DEBUG	cmd/root.go:154	Processing andyfeller/bespoke > .github/actions/populate_project/package-lock.json > @octokit/endpoint
2022-01-28T08:10:00.100-0500	DEBUG	cmd/root.go:154	Processing andyfeller/bespoke > .github/actions/populate_project/package-lock.json > @octokit/graphql
2022-01-28T08:10:00.100-0500	DEBUG	cmd/root.go:154	Processing andyfeller/bespoke > .github/actions/populate_project/package-lock.json > @octokit/openapi-types
2022-01-28T08:10:00.100-0500	DEBUG	cmd/root.go:154	Processing andyfeller/bespoke > .github/actions/populate_project/package-lock.json > @octokit/plugin-paginate-rest
2022-01-28T08:10:00.100-0500	DEBUG	cmd/root.go:154	Processing andyfeller/bespoke > .github/actions/populate_project/package-lock.json > @octokit/plugin-rest-endpoint-methods
2022-01-28T08:10:00.100-0500	DEBUG	cmd/root.go:154	Processing andyfeller/bespoke > .github/actions/populate_project/package-lock.json > @octokit/request
2022-01-28T08:10:00.100-0500	DEBUG	cmd/root.go:154	Processing andyfeller/bespoke > .github/actions/populate_project/package-lock.json > @octokit/request-error
2022-01-28T08:10:00.100-0500	DEBUG	cmd/root.go:154	Processing andyfeller/bespoke > .github/actions/populate_project/package-lock.json > @octokit/types
2022-01-28T08:10:00.100-0500	DEBUG	cmd/root.go:154	Processing andyfeller/bespoke > .github/actions/populate_project/package-lock.json > argparse
2022-01-28T08:10:00.100-0500	DEBUG	cmd/root.go:154	Processing andyfeller/bespoke > .github/actions/populate_project/package-lock.json > before-after-hook
2022-01-28T08:10:00.100-0500	DEBUG	cmd/root.go:154	Processing andyfeller/bespoke > .github/actions/populate_project/package-lock.json > deprecation
2022-01-28T08:10:00.100-0500	DEBUG	cmd/root.go:154	Processing andyfeller/bespoke > .github/actions/populate_project/package-lock.json > handlebars
2022-01-28T08:10:00.100-0500	DEBUG	cmd/root.go:154	Processing andyfeller/bespoke > .github/actions/populate_project/package-lock.json > is-plain-object
2022-01-28T08:10:00.100-0500	DEBUG	cmd/root.go:154	Processing andyfeller/bespoke > .github/actions/populate_project/package-lock.json > js-yaml
2022-01-28T08:10:00.100-0500	DEBUG	cmd/root.go:154	Processing andyfeller/bespoke > .github/actions/populate_project/package-lock.json > minimist
2022-01-28T08:10:00.100-0500	DEBUG	cmd/root.go:154	Processing andyfeller/bespoke > .github/actions/populate_project/package-lock.json > neo-async
2022-01-28T08:10:00.100-0500	DEBUG	cmd/root.go:154	Processing andyfeller/bespoke > .github/actions/populate_project/package-lock.json > node-fetch
2022-01-28T08:10:00.100-0500	DEBUG	cmd/root.go:154	Processing andyfeller/bespoke > .github/actions/populate_project/package-lock.json > once
2022-01-28T08:10:00.100-0500	DEBUG	cmd/root.go:154	Processing andyfeller/bespoke > .github/actions/populate_project/package-lock.json > source-map
Owner,Repo,Manifest,Exceeds Max Size,Parseable,Package Manager,Dependency,Has Dependencies?,Requirements,License,License Url
andyfeller,bespoke,.github/workflows/init.yml,false,true,ACTIONS,actions/checkout,true,= 2,MIT,http://choosealicense.com/licenses/mit/
andyfeller,bespoke,.github/actions/populate_project/package-lock.json,false,true,NPM,@actions/core,true,= 1.6.0,MIT,http://choosealicense.com/licenses/mit/
andyfeller,bespoke,.github/actions/populate_project/package-lock.json,false,true,NPM,@actions/github,true,= 5.0.0,MIT,http://choosealicense.com/licenses/mit/
andyfeller,bespoke,.github/actions/populate_project/package-lock.json,false,true,NPM,@actions/http-client,true,= 1.0.11,NOASSERTION,http://choosealicense.com/licenses/other/
andyfeller,bespoke,.github/actions/populate_project/package-lock.json,false,true,NPM,@octokit/auth-token,true,= 2.5.0,MIT,http://choosealicense.com/licenses/mit/
andyfeller,bespoke,.github/actions/populate_project/package-lock.json,false,true,NPM,@octokit/core,true,= 3.5.1,MIT,http://choosealicense.com/licenses/mit/
andyfeller,bespoke,.github/actions/populate_project/package-lock.json,false,true,NPM,@octokit/endpoint,true,= 6.0.12,MIT,http://choosealicense.com/licenses/mit/
andyfeller,bespoke,.github/actions/populate_project/package-lock.json,false,true,NPM,@octokit/graphql,true,= 4.8.0,MIT,http://choosealicense.com/licenses/mit/
andyfeller,bespoke,.github/actions/populate_project/package-lock.json,false,true,NPM,@octokit/openapi-types,false,= 11.2.0,MIT,http://choosealicense.com/licenses/mit/
andyfeller,bespoke,.github/actions/populate_project/package-lock.json,false,true,NPM,@octokit/plugin-paginate-rest,true,= 2.17.0,NOASSERTION,http://choosealicense.com/licenses/other/
andyfeller,bespoke,.github/actions/populate_project/package-lock.json,false,true,NPM,@octokit/plugin-rest-endpoint-methods,true,= 5.13.0,MIT,http://choosealicense.com/licenses/mit/
andyfeller,bespoke,.github/actions/populate_project/package-lock.json,false,true,NPM,@octokit/request,true,= 5.6.2,MIT,http://choosealicense.com/licenses/mit/
andyfeller,bespoke,.github/actions/populate_project/package-lock.json,false,true,NPM,@octokit/request-error,true,= 2.1.0,MIT,http://choosealicense.com/licenses/mit/

Given we have support for the extension to write the report to a named file, we shall instead change the extension so it always writes output to a file. The filename will be randomly generated if not provided, based on the current date/time more than likely.

andyfeller@Andrews-MacBook-Pro:andyfeller/gh-dependency-report ‹main*›$ go run main.go           
Error: requires at least 1 arg(s), only received 0
Usage:
  gh-dependency-report [flags] owner [repo ...]

Flags:
  -e, --exclude strings      Repositories to exclude from report
  -h, --help                 help for gh-dependency-report
  -o, --output-file string   Name of file to write CSV report, defaults to stdout