ESPHome-Devices/scripts/compile_all_devices.ps1

34 lines
1.1 KiB
PowerShell
Raw Normal View History

Write-Output "`nBacking up build folder"
if (Test-Path $PSScriptRoot\..\build\_backup)
{
Remove-Item -Path $PSScriptRoot\..\build\_backup -Recurse -Force
}
if (Test-Path $PSScriptRoot\..\_backup)
{
Remove-Item -Path $PSScriptRoot\..\_backup -Recurse -Force
}
New-Item $PSScriptRoot\..\_backup -ItemType Directory | Out-Null
Move-Item -Path $PSScriptRoot\..\build\* -Destination $PSScriptRoot\..\_backup -Force
Move-Item -Path $PSScriptRoot\..\_backup -Destination $PSScriptRoot\..\build -Force
Write-Output "`nCompiling all devices"
2021-09-29 12:07:52 +00:00
$files = Get-ChildItem $PSScriptRoot\..\devices\*.yaml -Exclude "secrets.yaml"
2021-09-17 16:19:49 +00:00
$failures = New-Object Collections.Generic.List[String]
foreach ($file in $files) {
2021-09-29 12:07:52 +00:00
$fileName = $file.Name
esphome compile $PSScriptRoot\..\devices\$fileName
2021-09-17 16:19:49 +00:00
if ($LASTEXITCODE -ne "0") {
$failures.Add($file.Name)
}
}
if ($failures -eq 0) {
Write-Output "`n`nAll devices compiled successfully"
}
else {
Write-Output "`n`nThe following devices failed to compile:"
foreach ($failure in $failures) {
Write-Output $failure
}
}