[
https://issues.apache.org/jira/browse/THRIFT-4685?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17249408#comment-17249408
]
Yuxuan Wang commented on THRIFT-4685:
-------------------------------------
>(1) Create go.mod in repository root.
I'm not opposite to this, but it likely will kill the
"git.apache.org/thrift.git/lib/go/thrift" workaround because the newly added
go.mod file no longer matches the import path.
>(2) Whenever incompatible change is made, move all files to /vN, create new
>go.mod, and update compiler accordingly.
"Whenever" is the keyword here. If we truly do that "whenever", then the go
libraries will have a different versioning scheme from the whole project
quickly. Actually if you look into the protobuf example your cited, they are
not sharing the same repo between go api and the rest of protobuf: v1 is on
https://github.com/golang/protobuf and v2 is on
https://github.com/protocolbuffers/protobuf-go. With separated repository of
course it's easy and trivial for them to have separated versioning scheme, but
in thrift's case every language library share the same repository, so we cannot
really do that.
Like others said above, if we really want to do versioning on the go library
api, what we need to do is:
1. Change thrift's versioning scheme from v0.minor to major versions (e.g. the
next release will be v14.0.0 instead of v0.14.0)
2. Change go library's import path on every release to match the major version,
regardless whether there are breaking changes or not.
> Support the new golang modules (1.11 or later)
> ----------------------------------------------
>
> Key: THRIFT-4685
> URL: https://issues.apache.org/jira/browse/THRIFT-4685
> Project: Thrift
> Issue Type: Improvement
> Components: Go - Library
> Affects Versions: 0.12.0
> Environment: golang 1.11 or later
> Reporter: James E. King III
> Assignee: Duru Can Celasun
> Priority: Minor
>
> Go added new module support in 1.11, see:
> https://github.com/golang/go/wiki/Modules
> We should move towards it.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)