You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficcontrol.apache.org by GitBox <gi...@apache.org> on 2021/10/21 21:34:41 UTC

[GitHub] [trafficcontrol] rawlinp edited a comment on pull request #6305: Update module version to v6

rawlinp edited a comment on pull request #6305:
URL: https://github.com/apache/trafficcontrol/pull/6305#issuecomment-949019255


   I think using Go submodules for things like `lib/*` and the TO `vX-client` might save us from having to add `/v6` to _all_ of our in-repo exports, and instead we'd only have to add them to the `lib/*` and `vX-client` imports. However, I'm not well-versed enough in Go modules to understand what problems that would create for us, and I do like the simplicity of the whole project being a single Go module. For importers though, I think it would save a lot of unnecessary code from being imported into a project when you really only need `lib` and `vX-client`.
   
   I think that would be a 4th option, but a 5th option is to also just do nothing and require external importers to specify the commit ID (emphasis mine):
   > Go packages that are new in ATC 6.0.0 cannot be imported (**unless you use a specific commit hash**).
   
   Honestly, I'm okay with option 5. That makes it easiest on us as project maintainers. I wouldn't say one of our project goals is to make it as easy as possible for someone to import the TO client into whatever they're working on. If all it takes is a specific commit hash that matches the version tags we publish, that's really not that big of a deal. To make that easier, we could even maintain a markdown file that maps the release tags to commit hashes so that people don't have to look it up themselves.
   
   Also, do we actually know for sure that we'd even have to change it to `v7/` in the future if we go with this PR? I thought that the whole `incompatible` thing was for pre-module repos, and that by changing the import path (to e.g. `v6/`), we're basically declaring a new, module-aware repo, in which we could add `vX.Y.Z` tags for releases, and clients could then require those specific version tags. If that's the case, changing to `v6/` would only be a one-time cost, and maybe we should use `v2/` instead of matching the ATC version in order to avoid any confusion around the import prefix not having to match the ATC version.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@trafficcontrol.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org