Created
May 28, 2013 22:48
-
-
Save bhameyie/5666748 to your computer and use it in GitHub Desktop.
Nuget with albacore
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
def readVersion(filepath="AssemblyInfo.cs") | |
File.open(filepath).each_line{ |line| | |
if line.start_with?("[assembly: AssemblyVersion(\"") | |
return line.gsub("[assembly: AssemblyVersion(\"", "").gsub("\")]","").gsub(/\s+/, "") | |
end | |
} | |
end | |
$version=readVersion | |
$apikey="myKey" | |
$outDir = "outputdirectory" | |
$nuget ="c:\\nuget\\nuget.exe" | |
def push(nuget,packageId) | |
nuget.command = $nuget | |
nuget.package = "#{$outDir}\\#{packageId}.#{$version}.nupkg" | |
nuget.apikey = $apikey | |
nuget.source = $nugetServer | |
nuget.create_only = true | |
end | |
def pack(nuget, packageId) | |
nuget.command = $nuget | |
nuget.nuspec = "#{packageId}.nuspec" | |
nuget.base_folder = "myBaseFolder" | |
nuget.output = $outDir | |
end | |
$core="MyCorePackageId" | |
$server="MyCoreDependentPackageId" | |
desc "create the Core library package" | |
nuspec :specCore do |nuspec| | |
nuspec.id=$core | |
nuspec.version = $version | |
nuspec.authors = "Team Awesome" | |
nuspec.description = "Awesome Core library" | |
nuspec.title = "Awesome Core" | |
nuspec.language = "en-US" | |
nuspec.licenseUrl = "http://me.com/license" | |
nuspec.projectUrl = "http://me.com" | |
nuspec.output_file = $core+".nuspec" | |
nuspec.file "AwesomeProject.Core\\bin\\Release\\*.dll", "lib\\net40" | |
nuspec.dependency $commonContract, $version | |
end | |
desc "create the core packages" | |
nugetpack :packCore => :specCore do |nuget| | |
pack(nuget, $core) | |
end | |
desc "push the core packages" | |
nugetpush :pushCore => :packCore do |nuget| | |
push(nuget, $core) | |
end | |
desc "create the Services library package" | |
nuspec :specServer do |nuspec| | |
nuspec.id=$server | |
nuspec.version = $version | |
nuspec.authors = "Team Awesome" | |
nuspec.description = "Awesome Service Library" | |
nuspec.title = "Awesome Services" | |
nuspec.language = "en-US" | |
nuspec.licenseUrl = "http://me.com/license" | |
nuspec.projectUrl = "http://me.com" | |
nuspec.output_file = $server+".nuspec" | |
nuspec.file "AwesomeProject.Services\\bin\\Release\\AwesomeProject.Services.dll","lib\\net40" | |
nuspec.dependency $core, $version | |
end | |
desc "create the server packages" | |
nugetpack :packServer => :specServer do |nuget| | |
pack(nuget, $server) | |
end | |
desc "push the server packages" | |
nugetpush :pushServer => :packServer do |nuget| | |
push(nuget, $server) | |
end | |
desc "Push the nuget packages" | |
task :push => [:pushServer, :pushCore] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment