-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Turn packages into modules for independent versioning #166
Comments
Hey! Would you want a This discussion for reference: golang/go#53502 |
Good find @afkbyte . Didn't read through the whole issue, still confused as to what exactly is happening with the go.work file. The last message (golang/go#53502 (comment)) is saying it's needed for vscode to be able to identify the different go.mod files in the repo. Not sure what the exact tradeoffs he's mentioning are, aka what's wrong with checking the go.work file into the repo. Are you aware of this @ian-shim ? |
Coming back to this super old issue because I just randomly got more context on how golang does packaging/moduling/versioning. Basically in golang modules are the unit of versioning: packages cannot be independently versioned. So I updated the title to reflect that this requires moving to modules. Now as to whether we want to use a From reading https://go.dev/blog/get-familiar-with-workspaces, it seems like go workspaces are more of a devex tool to help develop different modules together without having to go add replace directives in all of their respective The aws sdk is an example of a multi-module repo that doesn't have a |
I like the idea of breaking into modules. Rust sdk has similar models of crates. This might also help in defining better interface between modules and push us not to break. |
Right now, the entire repository is versioned together.
If there is a desired patch for one package, but that version has an undesired update on another package, I cannot make an upgrade.
Ideally, each package is versioned separately, so that developers can upgrade specific packages.
The text was updated successfully, but these errors were encountered: