diff --git a/.gitignore b/.gitignore index f6f6cfed3..5cce4090f 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,6 @@ dotnet-install.ps1 # ignore the version file as it is generated at build time powershell.version + +# default location for produced nuget packages +/nuget-artifacts diff --git a/appveyor.yml b/appveyor.yml index 6413799cf..1e59ed7ce 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,6 +1,7 @@ -image: Visual Studio 2015 +version: 0.4.0.{build} -version: 0.2.0.{build} +nuget: + project_feed: true environment: priv_key: @@ -23,7 +24,6 @@ install: build_script: - ps: | $ErrorActionPreference = 'Stop' - Import-Module .\build.psm1 Start-PSBuild -Publish Start-PSBuild -FullCLR @@ -73,12 +73,17 @@ on_finish: [System.IO.Compression.ZipFile]::CreateFromDirectory($env:CoreOutput, $zipFilePath) [System.IO.Compression.ZipFile]::CreateFromDirectory($env:FullOutput, $zipFileFullPath) - @( - # You can add other artifacts here + $artifacts = @( $zipFilePath, $zipFileFullPath - ) | % { - Write-Host "Pushing package $_ as Appveyor artifact" + ) + + Publish-NuGetFeed -OutputPath .\nuget-artifacts -VersionSuffix "b$($env:APPVEYOR_BUILD_NUMBER)" + + $artifacts += (ls .\nuget-artifacts | % {$_.FullName}) + + $artifacts | % { + Write-Host "Pushing $_ as Appveyor artifact" Push-AppveyorArtifact $_ } } catch { diff --git a/build.psm1 b/build.psm1 index e69ef260b..67cb501cc 100644 --- a/build.psm1 +++ b/build.psm1 @@ -529,6 +529,34 @@ Built upon .NET Core, it is also a C# REPL. } } +function Publish-NuGetFeed +{ + param( + [string]$OutputPath = "$PSScriptRoot/nuget-artifacts", + [Parameter(Mandatory=$true)] + [string]$VersionSuffix + ) + + @( +'Microsoft.Management.Infrastructure', +'Microsoft.PowerShell.Commands.Management', +'Microsoft.PowerShell.Commands.Utility', +'Microsoft.PowerShell.ConsoleHost', +'Microsoft.PowerShell.PSReadLine', +'Microsoft.PowerShell.Security', +'System.Management.Automation' + ) | % { + if ($VersionSuffix) + { + dotnet pack "src/$_" --output $OutputPath --version-suffix $VersionSuffix + } + else + { + dotnet pack "src/$_" --output $OutputPath + } + } +} + function Start-DevPSGitHub { param(