mirror of
https://github.com/DapperLib/Dapper.git
synced 2026-10-18 22:31:08 +08:00
3d4d251a78
Note: build.sh needs love from OS X/*nix later to match
76 lines
2.1 KiB
PowerShell
76 lines
2.1 KiB
PowerShell
param(
|
|
[parameter(Position=0)][string] $PreReleaseSuffix = ''
|
|
)
|
|
$solutionPath = split-path $MyInvocation.MyCommand.Definition
|
|
$getDotNet = join-path $solutionPath "tools\install.ps1"
|
|
|
|
$env:DOTNET_INSTALL_DIR="$(Convert-Path "$PSScriptRoot")\.dotnet\win7-x64"
|
|
if (!(Test-Path $env:DOTNET_INSTALL_DIR))
|
|
{
|
|
mkdir $env:DOTNET_INSTALL_DIR | Out-Null
|
|
}
|
|
|
|
& $getDotNet
|
|
|
|
$env:PATH = "$env:DOTNET_INSTALL_DIR;$env:PATH"
|
|
$dotnet = "$env:DOTNET_INSTALL_DIR\dotnet"
|
|
|
|
$autoGeneratedVersion = $false
|
|
|
|
# Generate version number if not set
|
|
if ($env:BuildSemanticVersion -eq $null) {
|
|
$autoVersion = [math]::floor((New-TimeSpan $(Get-Date) $(Get-Date -month 1 -day 1 -year 2016 -hour 0 -minute 0 -second 0)).TotalMinutes * -1).ToString() + "-" + (Get-Date).ToString("ss")
|
|
$env:BuildSemanticVersion = "rc2-" + $autoVersion
|
|
$autoGeneratedVersion = $true
|
|
|
|
Write-Host "Set version to $autoVersion"
|
|
}
|
|
|
|
ls */*/project.json | foreach { echo $_.FullName} |
|
|
foreach {
|
|
$content = get-content "$_"
|
|
$content = $content.Replace("99.99.99-rc2", "1.0.0-$env:BuildSemanticVersion")
|
|
set-content "$_" $content -encoding UTF8
|
|
}
|
|
|
|
# Restore packages and build product
|
|
& $dotnet restore -v Minimal # Restore all packages
|
|
if ($LASTEXITCODE -ne 0)
|
|
{
|
|
throw "dotnet restore failed with exit code $LASTEXITCODE"
|
|
}
|
|
|
|
# Build all
|
|
dir "Dapper*" | where {$_.PsIsContainer} |
|
|
foreach {
|
|
if ($PreReleaseSuffix) {
|
|
& $dotnet build "$_" --version-suffix "$PreReleaseSuffix"
|
|
} else {
|
|
& $dotnet build "$_"
|
|
}
|
|
}
|
|
# Run tests
|
|
dir "*.Tests*" | where {$_.PsIsContainer} |
|
|
foreach {
|
|
& $dotnet test "$_"
|
|
}
|
|
# Package all
|
|
dir "Dapper*" | where {$_.PsIsContainer -and $_ -NotLike "*.Tests*" } |
|
|
foreach {
|
|
if ($PreReleaseSuffix) {
|
|
& $dotnet pack "$_" -c Release -o .\.nupkg\ --version-suffix "$PreReleaseSuffix"
|
|
} else {
|
|
& $dotnet pack "$_" -c Release -o .\.nupkg\
|
|
}
|
|
}
|
|
|
|
ls */*/project.json | foreach { echo $_.FullName} |
|
|
foreach {
|
|
$content = get-content "$_"
|
|
$content = $content.Replace("1.0.0-$env:BuildSemanticVersion", "99.99.99-rc2")
|
|
set-content "$_" $content -encoding UTF8
|
|
}
|
|
|
|
if ($autoGeneratedVersion){
|
|
$env:BuildSemanticVersion = $null
|
|
} |