easegress icon indicating copy to clipboard operation
easegress copied to clipboard

Is it necessary for Easegress to follow semantic version spec as a go module for custom development experience

Open jthann opened this issue 1 year ago • 1 comments

Currently,using Easegress to develop custom business filters and objects must pull Easegress source code. This means we need to merge Easegress source code updates continually, sometimes for any reason, there exist conflicts or you have to use git stash or do copy some code fragments manually. It is troublesome. One solution I think we can use Easegress as a module and separate custom developed code from Easegress code.
Under this assumption,we can use go get command to update Easegress as following:

go get github.com/megaease/easegress

This is okay to get Easegress v1.x,for Easegress v2.x execute go get github.com/megaease/[email protected], it will report go: github.com/megaease/[email protected]: invalid version: module contains a go.mod file, so module path must match major version ("github.com/megaease/easegress/v2"). Because according to semantic version spec if major version greater than v1, major version should append to go module name,So module github.com/megaease/easegress should change to module github.com/megaease/easegress/v2 in Easegress v2.x

jthann avatar Jul 27 '22 00:07 jthann

Thanks for the valuable proposal, this requirement was neglected, because v2.0 is already released, we will try to find a solution for it.

localvar avatar Jul 27 '22 07:07 localvar

We have solved this problem in v2.5.0. Now feel free to use go get github.com/megaease/easegress.

suchen-sci avatar Aug 16 '23 10:08 suchen-sci