class Physique::PublishNugetsTasksBuilder
Public Instance Methods
build_tasks()
click to toggle source
# File lib/physique/task_builders/publish_nugets.rb, line 88 def build_tasks @options = solution.publish_nugets return if @options.nil? namespace :nuget do add_package_nugets_task add_publish_nugets_task add_publish_nugets_local_task end if @options.alias_tasks add_task_aliases end end
Private Instance Methods
add_package_nugets_task()
click to toggle source
# File lib/physique/task_builders/publish_nugets.rb, line 105 def add_package_nugets_task desc 'Package all nugets' nugets_pack :package => [ :versionizer, :test ] do |p| ensure_output_location solution.nuget.build_location p.configuration = solution.compile.configuration p.out = solution.nuget.build_location p.exe = solution.nuget.exe p.files = @options.project_files p.gen_symbols if @options.gen_symbols p.with_metadata do |m| @options.metadata.set_fields.each do |attr| eval "m.#{attr}= @options.metadata.#{attr}" end end end end
add_publish_nugets_local_task()
click to toggle source
# File lib/physique/task_builders/publish_nugets.rb, line 145 def add_publish_nugets_local_task local_path = @options.local_path namespace :publish do desc 'Copy nuget packages to local path' task :local => [ 'nuget:package' ] do ensure_output_location local_path build_location = solution.nuget.build_location.gsub('\\', '/') FileUtils.cp FileList["#{build_location}/*"], local_path end end end
add_publish_nugets_task()
click to toggle source
# File lib/physique/task_builders/publish_nugets.rb, line 123 def add_publish_nugets_task desc 'Publish nuget packages to feed' task :publish => [ 'nuget:package' ] do default_feed = @options.feeds.select {|f| f.name = 'default'}.first api_key = default_feed.api_key raise ArgumentError, 'You must specify an :api_key to connect to the server' if api_key.blank? nuget_project_names.each do |p| sh nuget_publish_command(p, 'nupkg', default_feed.feed_url, api_key) if @options.gen_symbols sh nuget_publish_command(p, 'symbols.nupkg', default_feed.symbols_feed_url, api_key) end end end end
add_task_aliases()
click to toggle source
# File lib/physique/task_builders/publish_nugets.rb, line 164 def add_task_aliases desc 'Package all nugets' task :package => [ 'nuget:package' ] desc 'Publish nuget packages to feed' task :publish => [ 'nuget:publish' ] end
nuget_project_names()
click to toggle source
# File lib/physique/task_builders/publish_nugets.rb, line 158 def nuget_project_names Set.new(@options.project_files. map { |f| Albacore::Project.new f }. map { |p| p.name }) end
nuget_publish_command(name, extension, feed, api_key)
click to toggle source
# File lib/physique/task_builders/publish_nugets.rb, line 141 def nuget_publish_command(name, extension, feed, api_key) "#{solution.nuget.exe} push #{solution.nuget.build_location}/#{name}.#{@options.metadata.version}.#{extension} #{api_key} -Source #{feed}" end