tree a7e060291e6cff000bcf6b542bafc82f99be0a2e
parent d6138e4c791948d224600cbf2dce612d3089c1d7
author Son Luong Ngoc <sluongng@gmail.com> 1657130300 +0200
committer GitHub <noreply@github.com> 1657130300 +0200
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJixc08CRBK7hj4Ov3rIwAADmcIAE1mrWSEGdJdlkbIUJ3iWxIn
 5F9ucp4QXOa9L5qI/6fsNMjOAzeH73iWuxUCn+qLJoI9E8pJD5olKV+mnxmuIFUN
 Lw+RTadeZnkC81hP90W5K4nckCrr+XO6e+BSfGWLVLomH3FEzQRG161iPXAxpa8R
 DO5ziBarPB+RekC1uQG7+xlKQ1kIKzU8X2w9+Xa1HI+NE7AOACMgaXgtcg496W2D
 wV+xfLzrrcRjpSaZhlARltF/F8kK0Fen8eFlu9kB9GKeB2G+SaXMA3l1UscDKa5E
 jnj2HfjY7fnA1CA6VNGX/d9k6lLrzEoxh0xzBzZpFiczvfJKbtCXXnupO5yaSos=
 =eEGz
 -----END PGP SIGNATURE-----
 

nogo: ignore generated source files (#3216)

Under GoCompilePkg actions, there are several ways that source files
could have been modified / generated that is out of end users
control:

- go_test would generate an '_empty.go' file for the missing
  internal/external package to compile it.

- coverage instrumentation would rewrite test source files with a
  wrapper source file that collects coverage data into a determined
  variable.

- CGO usage would transform the original source files into several
  output Go and C source files with `go tool cgo ...`

Implement a mechanism to ignore the generated source files for the first
2 cases and instruct static analyzers to run over the original source
files wherever applicable.  This provides a better default for rules_go
users as static analysis errors over these generated files are outside
of their control and thus, could not be fixed.

Add a note regarding the CGO case for future investigations.