forked from quic-go/quic-go
set the qlogged quic-go version when building the interop runner image
This commit is contained in:
@@ -19,8 +19,8 @@ RUN git clone https://github.com/lucas-clemente/quic-go && \
|
||||
WORKDIR /quic-go
|
||||
|
||||
RUN git rev-parse HEAD > commit.txt
|
||||
RUN go build -o server interop/server/main.go && \
|
||||
go build -o client interop/client/main.go
|
||||
RUN go build -o server -ldflags="-X github.com/lucas-clemente/quic-go/qlog.quicGoVersion=$(git describe --always --long --dirty)" interop/server/main.go
|
||||
RUN go build -o client -ldflags="-X github.com/lucas-clemente/quic-go/qlog.quicGoVersion=$(git describe --always --long --dirty)" interop/client/main.go
|
||||
|
||||
|
||||
FROM martenseemann/quic-network-simulator-endpoint:latest
|
||||
|
||||
10
qlog/qlog.go
10
qlog/qlog.go
@@ -18,9 +18,15 @@ import (
|
||||
"github.com/francoispqt/gojay"
|
||||
)
|
||||
|
||||
// Setting of this only works when quic-go is used as a library.
|
||||
// When building a binary from this repository, the version can be set using the following go build flag:
|
||||
// -ldflags="-X github.com/lucas-clemente/quic-go/qlog.quicGoVersion=foobar"
|
||||
var quicGoVersion = "(devel)"
|
||||
|
||||
func init() {
|
||||
if quicGoVersion != "(devel)" { // variable set by ldflags
|
||||
return
|
||||
}
|
||||
info, ok := debug.ReadBuildInfo()
|
||||
if !ok { // no build info available. This happens when quic-go is not used as a library.
|
||||
return
|
||||
@@ -29,8 +35,12 @@ func init() {
|
||||
if d.Path == "github.com/lucas-clemente/quic-go" {
|
||||
quicGoVersion = d.Version
|
||||
if d.Replace != nil {
|
||||
if len(d.Replace.Version) > 0 {
|
||||
quicGoVersion = d.Version
|
||||
} else {
|
||||
quicGoVersion += " (replaced)"
|
||||
}
|
||||
}
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user