class ReleaseModel
Attributes
dry_run[R]
next_version[R]
release_branch[R]
release_version[R]
snapshots[R]
Public Class Methods
new()
click to toggle source
# File lib/release/release_model.rb, line 12 def initialize @dry_run = (ask 'Dry run?','n') == 'y' @release_version = ask 'What should the release version be?', read_release_version verify_pattern_terminate @release_version, $version @next_version = ask 'What should the next SNAPSHOT version be?', (next_snapshot @release_version) verify_pattern_terminate @next_version, $snapshot_version @release_branch = "release/#{@release_version}" @snapshots = File.open('pom.xml').read.scan($snapshot_dependency) read_snapshot_versions prepare_new_iteration_deps echo_with_color "\n\n====================Release information========================================================",'green' puts "\nDry run: #{@dry_run}" if @dry_run help_info "---> IMPORTANT: Dry run will still change the snapshot dependencies versions (if any), don't forget to revert those changes\n" end help_info "\n1. Release version: "; puts release_version help_info "\n2. Next snapshot version: ";puts next_version help_info "\n3. Snapshot dependencies found:\n" unless @snapshots.size==0 help_info "#{column 'Dependency'} : #{column 'Current version'} -> #{column 'Release version'} -> #{column 'New iteration version'}\n" @snapshots.each do |snapshot| puts "#{column snapshot[0]} : #{column snapshot[1]} -> #{column snapshot[2]} -> #{column snapshot[3]}" end end echo_with_color "\n=================================================================================================",'green' end
Public Instance Methods
column(value)
click to toggle source
# File lib/release/release_model.rb, line 48 def column(value) right_padding value,30; end
prepare_new_iteration_deps()
click to toggle source
# File lib/release/release_model.rb, line 73 def prepare_new_iteration_deps unless @snapshots return end help_info "\n\nSet SNAPSHOT versions for dependencies for the next iteration" @snapshots.each do |snapshot| default_version = next_snapshot snapshot[2] snap_version=self.ask "For the next iteration, what snapshot version to use for ==> #{snapshot[0]}?", default_version snapshot << (snap_version == 'y' ? default_version : snap_version) end end
read_release_version()
click to toggle source
# File lib/release/release_model.rb, line 54 def read_release_version artifact_version = REXML::Document.new(File.new('pom.xml')).elements['/project/version'].text verify_pattern_terminate artifact_version, $snapshot_version $snapshot_version.match(artifact_version).captures[0] end
read_snapshot_versions()
click to toggle source
# File lib/release/release_model.rb, line 60 def read_snapshot_versions unless @snapshots return end help_info "\n\nFound dependencies with SNAPSHOT versions:" @snapshots.each do |snapshot| default_version=$snapshot_version.match(snapshot[1]).captures[0] release_version=self.ask "What release version to use for ==> #{snapshot[0]}?", default_version snapshot << (release_version == 'y' ? default_version : release_version) end end