Skip to content
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

Make gogo optional at compile time #50

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Commits on Oct 12, 2024

  1. Remove gogo registry

    Since containerd is not using gogo anymore it seems like we should
    remove the depenency on gogo here since gogo is a fairly large
    dependency and is also unaintained.
    
    This also gets imported by the runc shim and adds a fair amount to the
    binary size (in terms of percentage of the whole size).
    
    I did keep a fallback test in that still imports gogo and continues to
    work. The test marshals a type with gogo and then unmarshals it by
    typeurl.
    This is why gogo is still in the go.mod
    Not sure if this is worthwhile or not.
    
    This may need a module version bump since some functions will behave
    differently now.
    
    Signed-off-by: Brian Goff <[email protected]>
    cpuguy83 committed Oct 12, 2024
    Configuration menu
    Copy the full SHA
    7d3d258 View commit details
    Browse the repository at this point in the history

Commits on Oct 15, 2024

  1. Add back support for gogo through handler interface

    A handler is an unexported type that is used to abstract external type
    registries, such as gogoproto.
    This allows us to add back gogo support but allow those who don't need
    it to compile it out with the `!no_gogo` build tag.
    
    Signed-off-by: Brian Goff <[email protected]>
    cpuguy83 committed Oct 15, 2024
    Configuration menu
    Copy the full SHA
    5745849 View commit details
    Browse the repository at this point in the history