tailscale/cmd
Nick Khyl fc28c8e7f3 cmd/cloner, cmd/viewer, util/codegen: add support for generic types and interfaces
This adds support for generic types and interfaces to our cloner and viewer codegens.
It updates these packages to determine whether to make shallow or deep copies based
on the type parameter constraints. Additionally, if a template parameter or an interface
type has View() and Clone() methods, we'll use them for getters and the cloner of the
owning structure.

Updates #12736

Signed-off-by: Nick Khyl <nickk@tailscale.com>
2024-07-11 16:38:53 -05:00
..
addlicense all: update tools that manage copyright headers 2023-01-27 15:36:29 -08:00
build-webclient client/web: precompress assets 2023-12-07 20:57:31 -05:00
cloner cmd/cloner, cmd/viewer, util/codegen: add support for generic types and interfaces 2024-07-11 16:38:53 -05:00
connector-gen cmd/connector-gen: add helper tool for wide app connector configurations 2023-12-15 09:29:42 -08:00
containerboot cmd/containerboot,cmd/k8s-operator: enable IPv6 for fqdn egress proxies (#12577) 2024-07-05 12:21:48 +01:00
derper types/opt: add generic Value[T any] for optional values of any types 2024-07-08 17:00:43 -05:00
derpprobe cmd/derpprobe: support 'local' derpmap to get derp map via LocalAPI 2024-06-06 13:14:27 -07:00
dist release/dist/qnap: add qnap target builder 2024-04-22 17:43:28 -04:00
get-authkey util/cmpx: delete now that we're using Go 1.22 2024-02-07 18:10:15 -08:00
gitops-pusher cmd/gitops-pusher: only use OAuth creds if non-empty string 2024-02-09 10:55:59 -05:00
hello cmd/hello: link to the Hello KB article (#11022) 2024-02-02 15:48:31 -08:00
k8s-nameserver cmd/k8s-nameserver: fix AAAA record query response (#12412) 2024-06-10 17:57:22 +01:00
k8s-operator all: add test for package comments, fix, add comments as needed 2024-07-10 09:57:00 -07:00
mkmanifest cmd/mkmanifest, cmd/tailscale, cmd/tailscaled: remove Windows arm32 resources from OSS 2023-03-01 15:45:12 -07:00
mkpkg go.mod: upgrade nfpm to v2 (#8786) 2023-08-03 13:00:45 -07:00
mkversion version/mkversion: open-source version generation logic 2023-02-18 05:21:05 +00:00
nardump all: update copyright and license headers 2023-01-27 15:36:29 -08:00
natc go.mod: bump bart 2024-07-08 19:10:44 -07:00
netlogfmt all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
nginx-auth tailcfg,all: add and use Node.IsTagged() 2023-03-13 08:44:25 -07:00
pgproxy tsnet: split user facing and backend logging 2024-05-10 15:29:13 -07:00
printdep cmd/printdep: print correct toolchain URL 2023-02-11 17:57:36 +00:00
proxy-to-grafana cmd/proxy-to-grafana: add flag for alternative control server 2024-06-21 12:17:39 +02:00
sniproxy all: use math/rand/v2 more 2024-06-05 15:24:04 -07:00
speedtest all: update copyright and license headers 2023-01-27 15:36:29 -08:00
ssh-auth-none-demo all: replace deprecated ioutil references 2023-08-23 23:53:19 +01:00
stunc cmd/stunc: support user-specified port (#12469) 2024-06-14 09:46:16 -07:00
stund types/opt: add generic Value[T any] for optional values of any types 2024-07-08 17:00:43 -05:00
stunstamp cmd/stunstamp: fix handling of invalid DERP map resp (#12679) 2024-07-01 16:07:48 -07:00
sync-containers all: adjust some build tags for plan9 2023-08-24 15:42:35 -07:00
tailscale all: add test for package comments, fix, add comments as needed 2024-07-10 09:57:00 -07:00
tailscaled util/winutil/gp, net/dns: add package for Group Policy API 2024-07-08 20:37:03 -05:00
testcontrol all: use Go 1.22 range-over-int 2024-04-16 15:32:38 -07:00
testwrapper cmd/testwrapper: apply results of all unit tests to coverage for all packages 2024-02-21 13:08:17 -06:00
tsconnect all: use math/rand/v2 more 2024-06-05 15:24:04 -07:00
tsidp tsnet: split user facing and backend logging 2024-05-10 15:29:13 -07:00
tsshd all: update copyright and license headers 2023-01-27 15:36:29 -08:00
viewer cmd/cloner, cmd/viewer, util/codegen: add support for generic types and interfaces 2024-07-11 16:38:53 -05:00
xdpderper all: add test for package comments, fix, add comments as needed 2024-07-10 09:57:00 -07:00