Class: Corundum::VersionControl

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

Direct Known Subclasses

Git, Monotone

Defined Under Namespace

Classes: TagContext

Instance Method Summary collapse

Instance Method Details

#default_configuration(toolkit) ⇒ Object



29
30
31
32
33
34
# File 'lib/corundum/version_control.rb', line 29

def default_configuration(toolkit)
  super
  self.gemspec =  toolkit.gemspec
  self.build_finished_file =  toolkit.build_file.abspath
  self.gemspec_files = toolkit.files.code + toolkit.files.test
end

#defineObject



43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/corundum/version_control.rb', line 43

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

#resolve_configurationObject



36
37
38
39
40
41
# File 'lib/corundum/version_control.rb', line 36

def resolve_configuration
  tag_template = ERB.new(tag_format)
  context = TagContext.new(gemspec)
  self.tag = tag_template.result(context.bind)
  super
end