Class: Corundum::VersionControl

Inherits:
TaskLib
  • Object
show all
Defined in:
lib/corundum/version_control.rb

Direct Known Subclasses

Git, Monotone

Instance Method Summary collapse

Instance Method Details

#default_configuration(toolkit) ⇒ Object



9
10
11
12
13
14
# File 'lib/corundum/version_control.rb', line 9

def default_configuration(toolkit)
  self.gemspec =  toolkit.gemspec
  self.build_finished_file =  toolkit.finished_files.build
  self.gemspec_files = toolkit.files.code + toolkit.files.test
  self.tag =  toolkit.gemspec.version.to_s
end

#defineObject



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/corundum/version_control.rb', line 16

def define
  in_namespace do
    task :not_tagged
    task :gemspec_files_added
    task :workspace_committed
    task :is_checked_in => %w{gemspec_files_added workspace_committed}
    task :tag
    task :check_in => :tag
  end

  task :preflight => in_namespace(:not_tagged)
  task :build => in_namespace(:is_checked_in)
  in_namespace(:tag, :check_in).each do |taskname|
    task taskname => build_finished_file
  end
  task :release => in_namespace(:tag, :check_in)
end