-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgenerate.ps1
26 lines (20 loc) · 914 Bytes
/
generate.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[CmdletBinding()]
param (
[Parameter(Mandatory = $true)] [string] $Path = 'src'
)
# docker context arch mapping names
$mappingDockerContext = @{
'alpine' = [string[]]@('base_docker', 'shared', 'alpine')
'debian' = [string[]]@('base_docker', 'shared', 'debian')
}
$dockerContextSource = "eng"
Remove-Item -Path $Path -Recurse -Force -Confirm:$false -ErrorAction Ignore -Verbose
$srcFolder = New-Item -Name $Path -ItemType 'Directory' -ErrorAction Stop
foreach ($arch in $mappingDockerContext.Keys) {
Write-Host "Proceed Arch $arch"
[string[]]$dockerContexts = $mappingDockerContext[$arch]
$archDockerContext = New-Item -Name $arch -Path $srcFolder -ItemType 'Directory' -ErrorAction Stop
foreach ($dockerContext in $dockerContexts) {
Copy-Item -Recurse -Force -Path "$dockerContextSource/$dockerContext/*" -Destination $archDockerContext -ErrorAction Stop -Verbose
}
}