This repository has been archived by the owner on Oct 13, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #3310 from crazy-max/goversioninfo
Use goversioninfo to create Windows version info Upstream-commit: 053056660eed351a77540ac968ac3ee5e927a460 Component: cli
- Loading branch information
Showing
20 changed files
with
154 additions
and
88 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -4,4 +4,6 @@ | |
.gitignore | ||
appveyor.yml | ||
build | ||
/cli/winresources/versioninfo.json | ||
/cli/winresources/*.syso | ||
/vndr.log |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
// Package winresources is used to embed Windows resources into docker.exe. | ||
// | ||
// These resources are used to provide: | ||
// * Version information | ||
// * An icon | ||
// * A Windows manifest declaring Windows version support | ||
// | ||
// The resource object files are generated when building with goversioninfo | ||
// in scripts/build/binary and are located in cmd/docker/winresources. | ||
// This occurs automatically when you build against Windows OS. | ||
package winresources |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
//go:build windows && 386 | ||
// +build windows,386 | ||
|
||
//go:generate goversioninfo -o=../../cli/winresources/resource.syso -icon=winresources/docker.ico -manifest=winresources/docker.exe.manifest ../../cli/winresources/versioninfo.json | ||
|
||
package main | ||
|
||
import _ "github.com/docker/cli/cli/winresources" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
//go:build windows && amd64 | ||
// +build windows,amd64 | ||
|
||
//go:generate goversioninfo -64=true -o=../../cli/winresources/resource.syso -icon=winresources/docker.ico -manifest=winresources/docker.exe.manifest ../../cli/winresources/versioninfo.json | ||
|
||
package main | ||
|
||
import _ "github.com/docker/cli/cli/winresources" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
//go:build windows && arm | ||
// +build windows,arm | ||
|
||
//go:generate goversioninfo -arm=true -o=../../cli/winresources/resource.syso -icon=winresources/docker.ico -manifest=winresources/docker.exe.manifest ../../cli/winresources/versioninfo.json | ||
|
||
package main | ||
|
||
import _ "github.com/docker/cli/cli/winresources" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
//go:build windows && arm64 | ||
// +build windows,arm64 | ||
|
||
//go:generate goversioninfo -arm=true -64=true -o=../../cli/winresources/resource.syso -icon=winresources/docker.ico -manifest=winresources/docker.exe.manifest ../../cli/winresources/versioninfo.json | ||
|
||
package main | ||
|
||
import _ "github.com/docker/cli/cli/winresources" |
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
#!/usr/bin/env sh | ||
set -eu | ||
|
||
: "${COMPANY_NAME=}" | ||
|
||
. ./scripts/build/.variables | ||
|
||
# Create version quad for Windows of the form major.minor.patch.build | ||
VERSION_QUAD=$(printf "%s" "$VERSION" | sed -re 's/^([0-9.]*).*$/\1/' | sed -re 's/\.$//' | sed -re 's/^[0-9]+$/\0\.0/' | sed -re 's/^[0-9]+\.[0-9]+$/\0\.0/' | sed -re 's/^[0-9]+\.[0-9]+\.[0-9]+$/\0\.0/') | ||
|
||
# Generate versioninfo.json to be able to create a syso file which contains | ||
# Microsoft Windows Version Information and an icon using goversioninfo. | ||
# https://docs.microsoft.com/en-us/windows/win32/menurc/stringfileinfo-block | ||
# https://github.com/josephspurrier/goversioninfo/blob/master/testdata/resource/versioninfo.json | ||
cat > ./cli/winresources/versioninfo.json <<EOL | ||
{ | ||
"FixedFileInfo": | ||
{ | ||
"FileVersion": { | ||
"Major": $(echo "$VERSION_QUAD" | cut -d. -f1), | ||
"Minor": $(echo "$VERSION_QUAD" | cut -d. -f2), | ||
"Patch": $(echo "$VERSION_QUAD" | cut -d. -f3), | ||
"Build": $(echo "$VERSION_QUAD" | cut -d. -f4) | ||
}, | ||
"FileFlagsMask": "3f", | ||
"FileFlags ": "00", | ||
"FileOS": "040004", | ||
"FileType": "01", | ||
"FileSubType": "00" | ||
}, | ||
"StringFileInfo": | ||
{ | ||
"Comments": "", | ||
"CompanyName": "${COMPANY_NAME}", | ||
"FileDescription": "Docker Client", | ||
"FileVersion": "${VERSION_QUAD}", | ||
"InternalName": "", | ||
"LegalCopyright": "Copyright © 2015-$(date +'%Y') Docker Inc.", | ||
"LegalTrademarks": "", | ||
"OriginalFilename": "$(basename "${TARGET}")", | ||
"PrivateBuild": "", | ||
"ProductName": "Docker Client", | ||
"ProductVersion": "${VERSION}", | ||
"SpecialBuild": "${GITCOMMIT}" | ||
}, | ||
"VarFileInfo": | ||
{ | ||
"Translation": { | ||
"LangID": "0409", | ||
"CharsetID": "04B0" | ||
} | ||
} | ||
} | ||
EOL | ||
(set -x ; cat ./cli/winresources/versioninfo.json) | ||
|
||
# Create winresources package stub if removed while using tmpfs in Dockerfile | ||
if [ ! -f "./cli/winresources/winresources.go" ]; then | ||
echo "package winresources" > "./cli/winresources/winresources.go" | ||
fi |
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.