ci(build): changes to build then copy to new version being rewritten
This commit is contained in:
8
.includes
Normal file
8
.includes
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
database
|
||||||
|
dist
|
||||||
|
frontend/dist
|
||||||
|
CHANGELOG.md
|
||||||
|
drizzle.config.ts
|
||||||
|
package.json
|
||||||
|
package-lock.json
|
||||||
|
README.md
|
||||||
61
server/scripts/copyToLst.ps1
Normal file
61
server/scripts/copyToLst.ps1
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
param(
|
||||||
|
[string]$IncludesFile = ".includes",
|
||||||
|
[string]$Destination = "C:\Users\matthes01\Documents\lst\lstV2",
|
||||||
|
[string]$BaseDir = "C:\Users\matthes01\Documents\lst"
|
||||||
|
)
|
||||||
|
|
||||||
|
# .\copy-includes.ps1 will run with defaults
|
||||||
|
# .\copy-includes.ps1 -IncludesFile ".\mylist.txt" -Destination "D:\build\lstV2" will override defaults
|
||||||
|
|
||||||
|
if (-Not (Test-Path $IncludesFile)) {
|
||||||
|
Write-Error "Includes file not found: $IncludesFile"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Ensure destination exists
|
||||||
|
if (!(Test-Path -Path $Destination)) {
|
||||||
|
New-Item -ItemType Directory -Path $Destination | Out-Null
|
||||||
|
Write-Host "Folder created: $Destination"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Empty the destination folder
|
||||||
|
Get-ChildItem -Path $Destination -Recurse -Force | Remove-Item -Recurse -Force
|
||||||
|
|
||||||
|
# If BaseDir wasn’t explicitly passed in, use IncludesFile directory
|
||||||
|
if (-not $PSBoundParameters.ContainsKey('BaseDir')) {
|
||||||
|
$BaseDir = Split-Path -Parent (Resolve-Path $IncludesFile)
|
||||||
|
}
|
||||||
|
|
||||||
|
# Read includes list (ignore blank lines & comments)
|
||||||
|
$items = Get-Content $IncludesFile |
|
||||||
|
ForEach-Object { $_.Trim() } |
|
||||||
|
Where-Object { $_ -and -not $_.StartsWith("#") }
|
||||||
|
|
||||||
|
foreach ($item in $items) {
|
||||||
|
if ([System.IO.Path]::IsPathRooted($item)) {
|
||||||
|
# Absolute path (rare case)
|
||||||
|
$sourcePath = $item
|
||||||
|
$relative = Split-Path $item -Leaf # just take folder/file name
|
||||||
|
} else {
|
||||||
|
# Relative to BaseDir
|
||||||
|
$sourcePath = Join-Path $BaseDir $item
|
||||||
|
$relative = $item # keep full relative path e.g. "frontend\dist"
|
||||||
|
}
|
||||||
|
|
||||||
|
if (-Not (Test-Path $sourcePath)) {
|
||||||
|
Write-Warning "Skipping missing path: $sourcePath"
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
# Destination path should preserve the relative structure
|
||||||
|
$targetPath = Join-Path $Destination $relative
|
||||||
|
|
||||||
|
# Ensure the parent folder exists
|
||||||
|
$targetDir = Split-Path $targetPath -Parent
|
||||||
|
if (-not (Test-Path $targetDir)) {
|
||||||
|
New-Item -ItemType Directory -Path $targetDir -Force | Out-Null
|
||||||
|
}
|
||||||
|
|
||||||
|
Write-Host "Copying $sourcePath -> $targetPath" -ForegroundColor Cyan
|
||||||
|
Copy-Item -Path $sourcePath -Destination $targetPath -Recurse -Force
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user