-
-
Notifications
You must be signed in to change notification settings - Fork 828
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
Migrate to multi-module project #1197
Closed
Closed
Conversation
This file contains 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
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
Closing in preference for #1206 |
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.go
onexamples
pkg/securityprovider/securityprovider_test.go
oninternal/test
echo
etc from top-levelgo.mod
tidied
doesn't workruntime/strictmiddleware.go
to its own separate thing, one-per-package