62 lines
3.2 KiB
Batchfile
62 lines
3.2 KiB
Batchfile
@echo off
|
|
setlocal enabledelayedexpansion
|
|
|
|
:: Default values
|
|
set "company_name=joesiu"
|
|
set "package_name=common.package-name"
|
|
set "package_display_name=Package Display Name"
|
|
set "package_description=This is an example package description."
|
|
set "git_url=https://github.com/JoeSiu/UnityPackages"
|
|
set "package_path=Assets/Common/"
|
|
set "author_name=Joe Siu"
|
|
set "author_url=https://github.com/JoeSiu"
|
|
|
|
:: Get user input with defaults
|
|
echo.
|
|
set /p "input_company_name=Enter company_name [%company_name%]: "
|
|
if not "!input_company_name!"=="" set "company_name=!input_company_name!"
|
|
|
|
echo.
|
|
set /p "input_package_name=Enter package_name [%package_name%]: "
|
|
if not "!input_package_name!"=="" set "package_name=!input_package_name!"
|
|
|
|
echo.
|
|
set /p "input_package_display_name=Enter package_display_name [%package_display_name%]: "
|
|
if not "!input_package_display_name!"=="" set "package_display_name=!input_package_display_name!"
|
|
|
|
echo.
|
|
set /p "input_package_description=Enter package_description [%package_description%]: "
|
|
if not "!input_package_description!"=="" set "package_description=!input_package_description!"
|
|
|
|
echo.
|
|
set /p "input_git_url=Enter git_url [%git_url%]: "
|
|
if not "!input_git_url!"=="" set "git_url=!input_git_url!"
|
|
|
|
echo.
|
|
set /p "input_package_path=Enter package_path [%package_path%]: "
|
|
if not "!input_package_path!"=="" set "package_path=!input_package_path!"
|
|
|
|
echo.
|
|
set /p "input_author_name=Enter author_name [%author_name%]: "
|
|
if not "!input_author_name!"=="" set "author_name=!input_author_name!"
|
|
|
|
echo.
|
|
set /p "input_author_url=Enter author_url [%author_url%]: "
|
|
if not "!input_author_url!"=="" set "author_url=!input_author_url!"
|
|
|
|
:: Update files
|
|
echo.
|
|
echo Updating variables ^& filenames...
|
|
|
|
:: Use PowerShell to update file contents (excluding .git folder and batch files)
|
|
powershell -Command "$companyName='%company_name%'; $packageName='%package_name%'; $displayName='%package_display_name%'; $description='%package_description%'; $gitUrl='%git_url%'; $packagePath='%package_path%'; $authorName='%author_name%'; $authorUrl='%author_url%'; Get-ChildItem -Recurse -File | Where-Object { $_.FullName -notmatch '\\.git' -and $_.Extension -ne '.bat' } | ForEach-Object { $content = [System.IO.File]::ReadAllText($_.FullName); $content = $content -replace '\[company-name\]', $companyName -replace '\[package-name\]', $packageName -replace '\[package-display-name\]', $displayName -replace '\[package-description\]', $description -replace '\[git-url\]', $gitUrl -replace '\[package-path\]', $packagePath -replace '\[author-name\]', $authorName -replace '\[author_name\]', $authorName -replace '\[author-url\]', $authorUrl; [System.IO.File]::WriteAllText($_.FullName, $content) }"
|
|
|
|
:: Rename files (excluding .git folder and batch files)
|
|
powershell -Command "$companyName='%company_name%'; $packageName='%package_name%'; Get-ChildItem -Recurse -File | Where-Object { $_.FullName -notmatch '\\.git' -and $_.Extension -ne '.bat' -and ($_.Name -match '\[company-name\]\.\[package-name\]' -or $_.Name -match '^\[package-name\]') } | ForEach-Object { $dir = $_.DirectoryName; $newName = $_.Name -replace '\[company-name\]\.\[package-name\]', ($companyName + '.' + $packageName) -replace '^\[package-name\]', $packageName; Rename-Item -LiteralPath $_.FullName -NewName $newName }"
|
|
|
|
echo.
|
|
echo DONE!
|
|
echo.
|
|
|
|
pause
|