Class: Buildr::SvnRelease

Inherits:
Release show all
Defined in:
lib/buildr/core/build.rb

Constant Summary

Constants inherited from Release

Release::THIS_VERSION_PATTERN

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Release

add, #extract_version, find, list, #make

Class Method Details

.applies_to?Boolean



547
548
549
# File 'lib/buildr/core/build.rb', line 547

def applies_to?
  File.exist?('.svn')
end

Instance Method Details

#checkObject



552
553
554
555
556
# File 'lib/buildr/core/build.rb', line 552

def check
  super
  fail "Uncommitted files violate the First Principle Of Release!\n"+Svn.uncommitted_files.join("\n") unless Svn.uncommitted_files.empty?
  fail "SVN URL must contain 'trunk' or 'branches/...'" unless Svn.repo_url =~ /(trunk)|(branches.*)$/
end

#tag_release(tag) ⇒ Object



558
559
560
561
562
563
# File 'lib/buildr/core/build.rb', line 558

def tag_release(tag)
  # Unlike Git, committing the buildfile with the released version is not necessary.
  # svn tag does commit & tag.
  info "Tagging release #{tag}"
  Svn.tag tag
end

#update_version_to_nextObject



565
566
567
568
569
# File 'lib/buildr/core/build.rb', line 565

def update_version_to_next
  super
  info "Current version is now #{extract_version}"
  Svn.commit version_file, message
end