Signed-off-by: Michael Friis <friism@gmail.com>
(cherry picked from commit 8d47858f96c7ef03a9d3543e0994119390acb1bb)
Signed-off-by: Victor Vieux <vieux@docker.com>
| ... | ... |
@@ -6,17 +6,17 @@ |
| 6 | 6 |
by hack\make.sh, but uses native Windows PowerShell semantics. It does |
| 7 | 7 |
not support the full set of options provided by the Linux counterpart. |
| 8 | 8 |
For example: |
| 9 |
- |
|
| 9 |
+ |
|
| 10 | 10 |
- You can't cross-build Linux docker binaries on Windows |
| 11 | 11 |
- Hashes aren't generated on binaries |
| 12 | 12 |
- 'Releasing' isn't supported. |
| 13 | 13 |
- Integration tests. This is because they currently cannot run inside a container, |
| 14 |
- and require significant external setup. |
|
| 15 |
- |
|
| 16 |
- It does however provided the minimum necessary to support parts of local Windows |
|
| 14 |
+ and require significant external setup. |
|
| 15 |
+ |
|
| 16 |
+ It does however provided the minimum necessary to support parts of local Windows |
|
| 17 | 17 |
development and Windows to Windows CI. |
| 18 | 18 |
|
| 19 |
- Usage Examples (run from repo root): |
|
| 19 |
+ Usage Examples (run from repo root): |
|
| 20 | 20 |
"hack\make.ps1 -Binary" to build the binaries |
| 21 | 21 |
"hack\make.ps1 -Client" to build just the client 64-bit binary |
| 22 | 22 |
"hack\make.ps1 -TestUnit" to run unit tests |
| ... | ... |
@@ -190,7 +190,7 @@ Function Validate-DCO($headCommit, $upstreamCommit) {
|
| 190 | 190 |
|
| 191 | 191 |
# Counts of adds and deletes after removing multiple white spaces. AWK anyone? :( |
| 192 | 192 |
$adds=0; $dels=0; $($counts -replace '\s+', ' ') | %{ $a=$_.Split(" "); $adds+=[int]$a[0]; $dels+=[int]$a[1] }
|
| 193 |
- if (($adds -eq 0) -and ($dels -eq 0)) {
|
|
| 193 |
+ if (($adds -eq 0) -and ($dels -eq 0)) {
|
|
| 194 | 194 |
Write-Warning "DCO validation - nothing to validate!" |
| 195 | 195 |
return |
| 196 | 196 |
} |
| ... | ... |
@@ -199,7 +199,7 @@ Function Validate-DCO($headCommit, $upstreamCommit) {
|
| 199 | 199 |
if ($LASTEXITCODE -ne 0) { Throw "Failed git log --format" }
|
| 200 | 200 |
$commits = $($commits -split '\s+' -match '\S') |
| 201 | 201 |
$badCommits=@() |
| 202 |
- $commits | %{
|
|
| 202 |
+ $commits | %{
|
|
| 203 | 203 |
# Skip commits with no content such as merge commits etc |
| 204 | 204 |
if ($(git log -1 --format=format: --name-status $_).Length -gt 0) {
|
| 205 | 205 |
# Ignore exit code on next call - always process regardless |
| ... | ... |
@@ -230,7 +230,7 @@ Function Validate-PkgImports($headCommit, $upstreamCommit) {
|
| 230 | 230 |
# For the current changed file, get its list of dependencies, sorted and uniqued. |
| 231 | 231 |
$imports = Invoke-Expression "go list -e -f `'{{ .Deps }}`' $file"
|
| 232 | 232 |
if ($LASTEXITCODE -ne 0) { Throw "Failed go list for dependencies on $file" }
|
| 233 |
- $imports = $imports -Replace "\[" -Replace "\]", "" -Split(" ") | Sort-Object | Get-Unique
|
|
| 233 |
+ $imports = $imports -Replace "\[" -Replace "\]", "" -Split(" ") | Sort-Object | Get-Unique
|
|
| 234 | 234 |
# Filter out what we are looking for |
| 235 | 235 |
$imports = $imports -NotMatch "^github.com/docker/docker/pkg/" ` |
| 236 | 236 |
-NotMatch "^github.com/docker/docker/vendor" ` |
| ... | ... |
@@ -255,11 +255,11 @@ Function Validate-GoFormat($headCommit, $upstreamCommit) {
|
| 255 | 255 |
if ($(Get-Command gofmt -ErrorAction SilentlyContinue) -eq $nil) { Throw "gofmt does not appear to be installed" }
|
| 256 | 256 |
|
| 257 | 257 |
# Get a list of all go source-code files which have changed. Ignore exit code on next call - always process regardless |
| 258 |
- $files=@(); $files = Invoke-Expression "git diff $upstreamCommit...$headCommit --diff-filter=ACMR --name-only -- `'*.go`'" |
|
| 258 |
+ $files=@(); $files = Invoke-Expression "git diff $upstreamCommit...$headCommit --diff-filter=ACMR --name-only -- `'*.go`'" |
|
| 259 | 259 |
$files = $files | Select-String -NotMatch "^vendor/" |
| 260 | 260 |
$badFiles=@(); $files | %{
|
| 261 | 261 |
# Deliberately ignore error on next line - treat as failed |
| 262 |
- $content=Invoke-Expression "git show $headCommit`:$_" |
|
| 262 |
+ $content=Invoke-Expression "git show $headCommit`:$_" |
|
| 263 | 263 |
|
| 264 | 264 |
# Next set of hoops are to ensure we have LF not CRLF semantics as otherwise gofmt on Windows will not succeed. |
| 265 | 265 |
# Also note that gofmt on Windows does not appear to support stdin piping correctly. Hence go through a temporary file. |
| ... | ... |
@@ -327,7 +327,7 @@ Try {
|
| 327 | 327 |
# Get the version of docker (eg 1.14.0-dev) |
| 328 | 328 |
$dockerVersion=Get-DockerVersion |
| 329 | 329 |
|
| 330 |
- # Give a warning if we are not running in a container and are building binaries or running unit tests. |
|
| 330 |
+ # Give a warning if we are not running in a container and are building binaries or running unit tests. |
|
| 331 | 331 |
# Not relevant for validation tests as these are fine to run outside of a container. |
| 332 | 332 |
if ($Client -or $Daemon -or $TestUnit) { Check-InContainer }
|
| 333 | 333 |
|
| ... | ... |
@@ -341,7 +341,7 @@ Try {
|
| 341 | 341 |
Catch [Exception] { Throw $_ }
|
| 342 | 342 |
} |
| 343 | 343 |
|
| 344 |
- # DCO, Package import and Go formatting tests. |
|
| 344 |
+ # DCO, Package import and Go formatting tests. |
|
| 345 | 345 |
if ($DCO -or $PkgImports -or $GoFormat) {
|
| 346 | 346 |
# We need the head and upstream commits for these |
| 347 | 347 |
$headCommit=Get-HeadCommit |