Module: SemanticRelease

Defined in:
lib/semantic_release.rb,
lib/semantic_release/semver.rb,
lib/semantic_release/version.rb,
lib/semantic_release/rake_task.rb,
lib/semantic_release/configuration.rb,
lib/semantic_release/updaters/git_tag.rb,
lib/semantic_release/updaters/changelog.rb,
lib/semantic_release/updaters/version_rb.rb,
lib/semantic_release/updaters/base_updater.rb,
lib/semantic_release/updaters/gemfile_lock.rb

Defined Under Namespace

Modules: Updaters Classes: Configuration, Error, RakeTask, Semver

Constant Summary collapse

VERSION =
"1.4.0"

Class Method Summary collapse

Class Method Details

.configurationObject



11
12
13
# File 'lib/semantic_release.rb', line 11

def self.configuration
  @configuration ||= Configuration.new
end

.current_versionObject



22
23
24
# File 'lib/semantic_release.rb', line 22

def self.current_version
  Semver.load(configuration.semver_file).to_s
end

.inc_majorObject



26
27
28
29
# File 'lib/semantic_release.rb', line 26

def self.inc_major
  increment(:major)
  release
end

.inc_minorObject



31
32
33
34
# File 'lib/semantic_release.rb', line 31

def self.inc_minor
  increment(:minor)
  release
end

.inc_patchObject



36
37
38
39
# File 'lib/semantic_release.rb', line 36

def self.inc_patch
  increment(:patch)
  release
end

.increment(term) ⇒ Object



41
42
43
44
45
# File 'lib/semantic_release.rb', line 41

def self.increment(term)
  version = Semver.load(configuration.semver_file)
  version.increment(term)
  version.save
end

.initObject

Raises:



15
16
17
18
19
20
# File 'lib/semantic_release.rb', line 15

def self.init
  raise Error, "#{configuration.semver_file} already exists" if File.exist?(configuration.semver_file)

  version = Semver.new
  version.save(configuration.semver_file)
end

.releaseObject



47
48
49
50
51
52
# File 'lib/semantic_release.rb', line 47

def self.release
  Updaters::Changelog.update
  Updaters::VersionRb.update
  Updaters::GemfileLock.update
  Updaters::GitTag.update
end