Closed
Conversation
91e3d19 to
7416621
Compare
6b626f4 to
5535591
Compare
As part of #1142, we want to reduce the transitive dependencies of oapi-codegen, which requires creating a multi-module Go project. Before we can do this, we need to break some dependencies between packages that don't make sense.
As part of #1142, we want to reduce the transitive dependencies of oapi-codegen, which requires creating a multi-module Go project. Before we can do this, we need to break some dependencies between packages that don't make sense.
5535591 to
9cdbbbf
Compare
These appear to be existing issues with the code, but are only flagged up once we migrate `examples` to its own Go module, so we can preemptively fix them before hand.
As part of #1142, we want to reduce the transitive dependencies of oapi-codegen, which we can start with by removing unnecessary dependencies on `echo` from the `pkg/codegen` project.
As part of #1142, we want to reduce the transitive dependencies of oapi-codegen, which requires creating a multi-module Go project. Before we can do this, we can make sure that we have set up our Makefile and `tidy` workflow to be module-aware via steps in [0]. [0]: https://www.jvt.me/posts/2023/08/18/go-multi-module-execute/
As part of #1142, we want to reduce the transitive dependencies of oapi-codegen, which requires creating a multi-module Go project. We can start with the `examples` project, which definitely shouldn't be pulled by consumers. The fake module version updates across all files due to the way that multi-module Go projects work, but should be a one-time update.
As part of #1142, we want to reduce the transitive dependencies of oapi-codegen, which requires creating a multi-module Go project. We can split each of the middleware packages into their own modules, allowing consumers to pull only the dependences they need.
As part of #1142, we want to reduce the transitive dependencies of oapi-codegen, which requires creating a multi-module Go project. We can migrate `internal/test` to its own module, as it shouldn't be (nor could it be) pulled by consumers. The fake module version updates across all files due to the way that multi-module Go projects work, but should be a one-time update.
9cdbbbf to
efc34dd
Compare
As part of #1142, we want to reduce the transitive dependencies of oapi-codegen, which requires creating a multi-module Go project. This migrates `pkg/runtime` which unfortunately is still a little heavyweight due to `pkg/runtime/strictmiddleware.go`.
As part of #1142, we want to reduce the transitive dependencies of oapi-codegen, which requires creating a multi-module Go project. We can move `pkg/testutil` to alleviate any other dependencies the root module has on web frameworks, and allow this to be used independently.
efc34dd to
998945b
Compare
Member
Author
|
Closing in preference for #1206 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
As a path to making #1142 a little easier, we can introduce a multi-module project that can reduce the blast radius of some of our dependencies, as well as some internal refactoring to move tests closer to where they are in use.
Closes #1142.
🛑 erroring
https://stackoverflow.com/questions/55041915/multiple-modules-within-the-same-project
https://go.dev/doc/tutorial/call-module-code
TODO:
pkg/codegen/codegen_test.goonexamplespkg/securityprovider/securityprovider_test.gooninternal/testechoetc from top-levelgo.modtidieddoesn't workruntime/strictmiddleware.goto its own separate thing, one-per-package