53 строки
2.1 KiB
PowerShell
53 строки
2.1 KiB
PowerShell
[CmdletBinding()]
|
|
Param(
|
|
[Parameter(Mandatory = $True, Position = 1)]
|
|
[string]$targetDir
|
|
)
|
|
|
|
# This script runs some simple checks to avoid conflicts between assets from different applications during build time.
|
|
$totalFailures = 0
|
|
|
|
# Verify if the Assets folder contains only sub-folders.
|
|
# The purpose is to avoid applications having assets files that might conflict with other applications.
|
|
# Applications should be setting their own directory for assets.
|
|
|
|
$targetAssetsDir = $targetDir + "/Assets"
|
|
|
|
$nonDirectoryAssetsItems = Get-ChildItem $targetAssetsDir -Attributes !Directory
|
|
$directoryAssetsItems = Get-ChildItem $targetAssetsDir -Attributes Directory
|
|
|
|
if ($directoryAssetsItems.Count -le 0) {
|
|
Write-Host -ForegroundColor Red "No directories detected in " $nonDirectoryAssetsItems ". Are you sure this is the right path?`r`n"
|
|
$totalFailures++;
|
|
} elseif ($nonDirectoryAssetsItems.Count -gt 0) {
|
|
Write-Host -ForegroundColor Red "Detected " $nonDirectoryAssetsItems " files in " $targetAssetsDir "`r`n"
|
|
$totalFailures++;
|
|
} else {
|
|
Write-Host -ForegroundColor Green "Only directories detected in " $targetAssetsDir "`r`n"
|
|
}
|
|
|
|
# Make sure there's no resources.pri file. Each application should use a different name for their own resources file path.
|
|
$resourcesPriFiles = Get-ChildItem $targetDir -Filter resources.pri
|
|
if ($resourcesPriFiles.Count -gt 0) {
|
|
Write-Host -ForegroundColor Red "Detected a resources.pri file in " $targetDir "`r`n"
|
|
$totalFailures++;
|
|
} else {
|
|
Write-Host -ForegroundColor Green "No resources.pri file detected in " $targetDir "`r`n"
|
|
}
|
|
|
|
# Each application should have their XAML files in their own paths to avoid these conflicts.
|
|
$resourcesPriFiles = Get-ChildItem $targetDir -Filter *.xbf
|
|
if ($resourcesPriFiles.Count -gt 0) {
|
|
Write-Host -ForegroundColor Red "Detected a .xbf file in " $targetDir "`r`n"
|
|
$totalFailures++;
|
|
} else {
|
|
Write-Host -ForegroundColor Green "No .xbf files detected in " $targetDir "`r`n"
|
|
}
|
|
|
|
if ($totalFailures -gt 0) {
|
|
Write-Host -ForegroundColor Red "Found some errors when verifying " $targetDir "`r`n"
|
|
exit 1
|
|
}
|
|
|
|
exit 0
|