moby/hack/make/.go-autogen
Tibor Vass 9152e63290 api: generalize version information to any platform component
This change adds a Platform struct with a Name field and a general
Components field to the Version API type. This will allow API
consumers to show version information for the whole platform and
it will allow API providers to set the versions for the various
components of the platform.

All changes here are backwards compatible.

Signed-off-by: Tibor Vass <tibor@docker.com>
2017-12-06 23:23:55 +01:00

87 lines
2.6 KiB
Bash

#!/usr/bin/env bash
rm -rf autogen
source hack/dockerfile/binaries-commits
cat > dockerversion/version_autogen.go <<DVEOF
// +build autogen
// Package dockerversion is auto-generated at build-time
package dockerversion
// Default build-time variable for library-import.
// This file is overridden on build with build-time informations.
const (
GitCommit string = "$GITCOMMIT"
Version string = "$VERSION"
BuildTime string = "$BUILDTIME"
IAmStatic string = "${IAMSTATIC:-true}"
ContainerdCommitID string = "${CONTAINERD_COMMIT}"
PlatformName string = "${PLATFORM}"
)
// AUTOGENERATED FILE; see /go/src/github.com/docker/docker/hack/make/.go-autogen
DVEOF
cat > dockerversion/version_autogen_unix.go <<DVEOF
// +build autogen,!windows
// Package dockerversion is auto-generated at build-time
package dockerversion
// Default build-time variable for library-import.
// This file is overridden on build with build-time informations.
const (
RuncCommitID string = "${RUNC_COMMIT}"
InitCommitID string = "${TINI_COMMIT}"
)
// AUTOGENERATED FILE; see /go/src/github.com/docker/docker/hack/make/.go-autogen
DVEOF
# Compile the Windows resources into the sources
if [ "$(go env GOOS)" = "windows" ]; then
mkdir -p autogen/winresources/tmp autogen/winresources/docker autogen/winresources/dockerd
cp hack/make/.resources-windows/resources.go autogen/winresources/docker/
cp hack/make/.resources-windows/resources.go autogen/winresources/dockerd/
if [ "$(go env GOHOSTOS)" == "windows" ]; then
WINDRES=windres
WINDMC=windmc
else
# Cross compiling
WINDRES=x86_64-w64-mingw32-windres
WINDMC=x86_64-w64-mingw32-windmc
fi
# Generate a Windows file version of the form major,minor,patch,build (with any part optional)
VERSION_QUAD=$(echo -n $VERSION | sed -re 's/^([0-9.]*).*$/\1/' | tr . ,)
# Pass version and commit information into the resource compiler
defs=
[ ! -z $VERSION ] && defs="$defs -D DOCKER_VERSION=\"$VERSION\""
[ ! -z $VERSION_QUAD ] && defs="$defs -D DOCKER_VERSION_QUAD=$VERSION_QUAD"
[ ! -z $GITCOMMIT ] && defs="$defs -D DOCKER_COMMIT=\"$GITCOMMIT\""
function makeres {
$WINDRES \
-i hack/make/.resources-windows/$1 \
-o $3 \
-F $2 \
--use-temp-file \
-I autogen/winresources/tmp \
$defs
}
$WINDMC \
hack/make/.resources-windows/event_messages.mc \
-h autogen/winresources/tmp \
-r autogen/winresources/tmp
makeres docker.rc pe-x86-64 autogen/winresources/docker/rsrc_amd64.syso
makeres docker.rc pe-i386 autogen/winresources/docker/rsrc_386.syso
makeres dockerd.rc pe-x86-64 autogen/winresources/dockerd/rsrc_amd64.syso
rm -r autogen/winresources/tmp
fi