Configuring NuGet packaging and AppVeyor build

This commit is contained in:
Rikki Tooley 2014-11-20 23:27:39 +00:00
parent c7cafb45d6
commit f5db4b37eb
4 changed files with 112 additions and 65 deletions

71
.gitignore vendored
View File

@ -1,34 +1,3 @@
#################
## Eclipse
#################
*.pydevproject
.project
.metadata
bin/
tmp/
*.tmp
*.bak
*.swp
*~.nib
local.properties
.classpath
.settings/
.loadpath
# External tool builders
.externalToolBuilders/
# Locally stored "Eclipse launch configurations"
*.launch
# CDT-specific
.cproject
# PDT-specific
.buildpath
################# #################
## Visual Studio ## Visual Studio
################# #################
@ -114,7 +83,9 @@ _UpgradeReport_Files/
Backup*/ Backup*/
UpgradeLog*.XML UpgradeLog*.XML
# Files generated by packaging for NuGet
*.nupkg
*.compiled.nuspec
############ ############
## Windows ## Windows
@ -126,41 +97,11 @@ Thumbs.db
# Folder config file # Folder config file
Desktop.ini Desktop.ini
#############
## Python
#############
*.py[co]
# Packages
*.egg
*.egg-info
dist
build
eggs
parts
bin
var
sdist
develop-eggs
.installed.cfg
# Installer logs
pip-log.txt
# Unit test / coverage reports
.coverage
.tox
#Translations
*.mo
#Mr Developer
.mr.developer.cfg
# Mac crap # Mac crap
.DS_Store .DS_Store
# ignore html files in the root, all are generated by VS or subl # ignore html files in the root, all are generated by VS or subl
/*.html /*.html
# ReportGenerator and Syro dump stuff in this folder
/tmp

22
.nuget/IF.Lastfm.nuspec Normal file
View File

@ -0,0 +1,22 @@
<?xml version="1.0"?>
<package>
<metadata>
<id>IF.Lastfm</id>
<version>$version</version>
<authors>Rikki Tooley (@rikkilt)</authors>
<licenseUrl>https://github.com/inflatablefriends/lastfm/blob/master/LICENCE.md</licenseUrl>
<projectUrl>https://github.com/inflatablefriends/lastfm</projectUrl>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<description>Simple Last.fm SDK for modern .NET platforms</description>
<copyright>Copyright 2014 Inflatable Friends</copyright>
<tags>lastfm last.fm inflatable friends sdk api</tags>
<dependencies>
<dependency id="Newtonsoft.Json" version="6.0.5"/>
<dependency id="Microsoft.Net.Http" version="2.2.28"/>
<dependency id="MyConvert" version="1.0.1.6"/>
</dependencies>
</metadata>
<files>
<file src="..\src\IF.Lastfm.Core\bin\Release\IF.Lastfm.Core.dll" target="lib\portable-win8+net45+wp8+wpa81"/>
</files>
</package>

12
.nuget/pack.ps1 Normal file
View File

@ -0,0 +1,12 @@
$root = (split-path -parent $MyInvocation.MyCommand.Definition) + '\..'
$version = [System.Reflection.Assembly]::LoadFile("$root\src\IF.Lastfm.Core\bin\Release\IF.Lastfm.Core.dll").GetName().Version
$versionStr = $version.ToString()
Write-Host "Setting .nuspec version tag to $versionStr"
$content = (Get-Content $root\.nuget\IF.Lastfm.nuspec)
$content = $content -replace '\$version',$versionStr
$content | Out-File $root\.nuget\IF.Lastfm.compiled.nuspec
& $root\.nuget\NuGet.exe pack $root\.nuget\IF.Lastfm.compiled.nuspec

72
appveyor.yml Normal file
View File

@ -0,0 +1,72 @@
-
branches:
only:
- master
version: 0.2.0.{build}-prerelease
assembly_info:
patch: true
file: AssemblyInfo.*
assembly_version: "{version}"
assembly_file_version: "{version}"
assembly_informational_version: "{version}"
configuration: Release
before_build:
- ps: nuget restore IF.Lastfm.sln
build:
project: IF.Lastfm.sln
after_test:
- ps: .nuget\pack.ps1
artifacts:
- path: src\IF.Lastfm.Core\bin\Release\IF.Lastfm.Core.dll
name: IF.Lastfm.Core.dll
- path: '**\*.nupkg'
nuget:
project_feed: true
-
branches:
only:
- release
version: 0.1.2.{build}
assembly_info:
patch: true
file: AssemblyInfo.*
assembly_version: "{version}"
assembly_file_version: "{version}"
assembly_informational_version: "{version}"
configuration: Release
before_build:
- ps: nuget restore IF.Lastfm.sln
build:
project: IF.Lastfm.sln
after_test:
- ps: .nuget\pack.ps1
artifacts:
- path: src\IF.Lastfm.Core\bin\Release\IF.Lastfm.Core.dll
name: IF.Lastfm.Core.dll
- path: '**\*.nupkg'
deploy:
provider: NuGet
api_key:
secure: b4Q8KLmOfeQHZNGbTf4OYud3pvi3aR4rKE35dcLHYBTBaQwc9QeoIkDoG13Jpbxs
artifact: /.*\.nupkg/
nuget:
account_feed: true
project_feed: true