66 lines
2.2 KiB
PowerShell
66 lines
2.2 KiB
PowerShell
$customHive = "$PSScriptRoot/CustomHive"
|
|
|
|
function Test-Template($templateName, $templateArgs, $templateNupkg, $isSPA) {
|
|
$tmpDir = "$PSScriptRoot/$templateName"
|
|
Remove-Item -Path $tmpDir -Recurse -ErrorAction Ignore
|
|
|
|
Create-Hive
|
|
|
|
& "$PSScriptRoot/../build.cmd" /t:Package
|
|
Run-DotnetNew "--install", "$PSScriptRoot/../artifacts/build/$templateNupkg"
|
|
|
|
New-Item -ErrorAction Ignore -Path $tmpDir -ItemType Directory
|
|
Push-Location $tmpDir
|
|
try {
|
|
Run-DotnetNew $templateArgs, "--no-restore"
|
|
|
|
if ($templateArgs -match 'F#') {
|
|
$extension = "fsproj"
|
|
}
|
|
else {
|
|
$extension = "csproj"
|
|
}
|
|
|
|
$proj = "$tmpDir/$templateName.$extension"
|
|
$projContent = Get-Content -Path $proj -Raw
|
|
$projContent = $projContent -replace ('<Project Sdk="Microsoft.NET.Sdk.Web">', "<Project Sdk=""Microsoft.NET.Sdk.Web"">
|
|
<Import Project=""$PSScriptRoot/../test/Templates.Test/bin/Debug/netcoreapp2.2/TemplateTests.props"" />
|
|
<ItemGroup>
|
|
<PackageReference Include=""Microsoft.NET.Sdk.Razor"" Version=""`$(MicrosoftNETSdkRazorPackageVersion)"" />
|
|
</ItemGroup>")
|
|
$projContent | Set-Content $proj
|
|
|
|
dotnet publish --configuration Release
|
|
dotnet bin\Release\netcoreapp2.2\publish\$templateName.dll
|
|
}
|
|
finally {
|
|
Pop-Location
|
|
}
|
|
}
|
|
|
|
function Create-Hive {
|
|
Write-Host "Creating custom hive"
|
|
Remove-Item -Path $customHive -Force -Recurse -ErrorAction Ignore
|
|
New-Item -Path $customHive -ItemType Directory | out-null
|
|
Clean-Hive
|
|
}
|
|
|
|
function Clean-Hive() {
|
|
$packageArray = Run-DotnetNew "--uninstall"
|
|
$packageStr = $packageArray -join [Environment]::NewLine
|
|
$packagesStr = ($packageStr -split "Currently installed items:")[1]
|
|
$packagesStr = $packagesStr.Trim()
|
|
$packages = $packagesStr -split [Environment]::NewLine
|
|
|
|
foreach ($package in $packages) {
|
|
$package = $package.Trim()
|
|
Run-DotnetNew "--uninstall", "$package" | out-null
|
|
}
|
|
Run-DotnetNew "--uninstall" | out-null
|
|
}
|
|
|
|
function Run-DotnetNew($arguments) {
|
|
$expression = "dotnet new $arguments --debug:custom-hive $customHive"
|
|
Invoke-Expression $expression
|
|
}
|