Functions/Private/GenerateDockerfile.ps1
function GenerateDockerfile { <# .SYNOPSIS This function is responsible for generating a Dockerfile, based on a template. .PARAMETER ArtifactPath The filesystem path to the artifacts #> [CmdletBinding()] param ( [Parameter(Mandatory = $true)] [string] $ArtifactPath, [Parameter(Mandatory = $false)] [string[]] $Artifact ) Write-Verbose -Message 'Generating Dockerfile based on discovered artifacts' ### Verify that the Dockerfile template is available $DockerfileTemplate = '{0}\Resources\Dockerfile-template' -f $ModulePath if (!(Test-Path -Path $DockerfileTemplate)) { throw 'Couldn''t find the Dockerfile template. Please make sure this exists under: {0}' -f $DockerfileTemplate } ### Get the Dockerfile template $Dockerfile = Get-Content -Raw -Path $DockerfileTemplate foreach ($item in $Artifact) { $Result = & $ModulePath\Artifacts\$item\Generate.ps1 -ManifestPath $ArtifactPath $Dockerfile += '{0}{1}' -f $Result, "`r`n" } $DockerfilePath = '{0}\Dockerfile' -f $ArtifactPath Set-Content -Path $DockerfilePath -Value $Dockerfile } |