Class: FubuRake::Ripple

Inherits:
Object
  • Object
show all
Defined in:
lib/ripple.rb

Class Method Summary collapse

Class Method Details

.create(tasks, options) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/ripple.rb', line 4

def self.create(tasks, options)
	if !tasks.ripple_enabled
		return
	end

	tasks.clean << options[:nuget_publish_folder]

	restoreTask = Rake::Task.define_task 'ripple:restore' do
		puts 'Restoring all the nuget package files'
		sh 'ripple restore'
	end
	restoreTask.add_description "Restores nuget package files and updates all floating nugets"

	updateTask = Rake::Task.define_task 'ripple:update' do
		puts 'Cleaning out existing packages out of paranoia'
		sh 'ripple clean'

		puts 'Updating all the nuget package files'
		sh 'ripple update'
	end
	updateTask.add_description	"Updates nuget package files to the latest"


	historyTask = Rake::Task.define_task 'ripple:history' do
		sh 'ripple history'
	end
	historyTask.add_description "creates a history file for nuget dependencies"

	packageTask = Rake::Task.define_task 'ripple:package' do
		sh "ripple local-nuget --version #{options[:build_number]} --destination #{options[:nuget_publish_folder]}"
	end
	packageTask.add_description "packages the nuget files from the nuspec files in packaging/nuget and publishes to /#{options[:nuget_publish_folder]}"
	packageTask.enhance [:compile]

	if !options[:nuget_publish_url].nil?
		cmd = "ripple batch-publish #{options[:nuget_publish_folder]} --server #{options[:nuget_publish_url]}"
		if !options[:nuget_api_key].nil?
			cmd += " --api-key " + options[:nuget_api_key]
		end
	
		publishTask = Rake::Task.define_task 'ripple:publish' do
			sh cmd
		end
		publishTask.add_description "publishes the built nupkg files"
		publishTask.enhance ['ripple:package']
		
		add_dependency :ci, 'ripple:publish'
	end
end