Commit Graph

2 Commits

Author SHA1 Message Date
Kat Yang
36264a095f
tool: generate owners for modules in go.mod (#69583)
* test: add test for getFiles

* fix: fix getFiles test to take in a module name (not modfile name)

* move functionality unrelated to getFiles into main func

* attempt to getFiles with ParseDir, empty map returned; TODO: restore modowners_generation_script_test.go

* test

* Revert "test"

This reverts commit 2b519f3725.

* Revert "attempt to getFiles with ParseDir, empty map returned; TODO: restore modowners_generation_script_test.go"

This reverts commit eb95247487.

* attempt to getFiles with ParseDir, empty map returned; TODO: restore modowners_generation_script_test.go

* post-pairing with daniel, can access imports in a file

* clean up comments for readability

* try to return map of importName: files that import the improt

* refactor: change getFiles to accept single import name and return list of files that import it

* add log to see importPath and importName

* hasImport working

* start modowners script & add comments for hasImport

* fix modules() and uncomment main

* start script to add team names to go.mod, currently can access a map of the import and name

* 💩

* calculate root directory to point to correct go.mod

* chore: delete unnecessary files

* chore: uncomment tests

* chore: remove unnecessary comments, update documentation comments with correct cli commands

* fix: revert changes in go.mod and go.sum

* where is my dependency flag value??

* fix: owners function now can list all owners (with counts) or list a specific owner for a given dependency

* fix: change fmt.Println to logger.Println for owners func

* partial fix: modules now only prints dependencies owned by given team. -i functionality still not working properly

* fix: fix TestModules, modules

* chore: update check error message to specify user needs to assign owner to new dependency

* fix: adjust punctuation in error string

* fix: clean up comments in modowners

* chore: remove note in modowners_test
2023-07-18 13:42:09 -04:00
Kat Yang
f3f3b1494d
Feat: Add command line app to validate go.mod (#67796)
* chore: start modowners

* read go.mod, parse modfile, iterate through requires; add dummy go.mod

* make BEP owners of all grafana dependencies 😱

* push attempt at logging the require comments

* shrink dummy modfile

* revert changes in go.mod

* access comments suffix

* add Module struct; attempt to separate ParseGoMod functionality into its own func; add owner (third) for loop when interating modfile

* feat: print all owners in modfile

* add additional question in comment

* feat: add subcommands: check, owners, modules; chunk out some functions

* chunk out subcommand functions

* add flags

* start tests for common element

* refactor: test for common element

* attempt #1 to refactor modules to accept multiple args

* refactor: refactor modfule func to take 1+ owner arguments (0 arguments not working atm)

* chore: remove debug logging

* refine existing comments

* comment out indirect flag stuff, add example cli command for modules

* unsuccessful attempt #2 to refactor modules to accept -o and -i flags

* refactor funcs to take filesystem and logger

* test: add test for check when all modules have owners

* fail attempt 1 to get TestModules to work

* assert expected log result in TestModules; unsure if properly reading logs

* test: add TestModules to test modules func without any flags returns direct dependencies

* test: add TestInvalidCheck for scenario when some dependencies are missing an owner

* attempt 1 at refactoring TestCheck into a table

* chore: clean TestCheck

* chore: clean up comments for func check

* move files under scripts/modowners

* revert go.mod and go.sum
2023-05-30 18:18:05 +03:00