@@ -64,21 +64,28 @@ namespace :unified_release do
6464 $ rake unified_release:bump[42.0.0]
6565 DESC
6666 task :bump , :version do |_ , args |
67- abort ( '[!] Required argument [version] missing' ) unless args [ :version ]
67+ abort ( '[!] Required argument [version] missing' ) unless ( version = args [ :version ] )
6868
6969 files = [ 'elasticsearch/elasticsearch.gemspec' ]
7070 RELEASE_TOGETHER . each do |gem |
7171 files << Dir [ "./#{ gem } /**/**/version.rb" ]
7272 end
7373
7474 version_regexp = Regexp . new ( /VERSION = ("|'([0-9.]+(-SNAPSHOT)?)'|")/ )
75- gemspec_regexp = Regexp . new ( /'elasticsearch-api',\s +'([0-9 .]+)'/ )
75+ gemspec_regexp = Regexp . new ( /'elasticsearch-api',\s +'([0-9x .]+)'/ )
7676
7777 files . flatten . each do |file |
7878 content = File . read ( file )
79- if file . match? ( 'gemspec' )
80- match = content . match ( gemspec_regexp )
81- content . gsub! ( match [ 0 ] , "'elasticsearch-api', '#{ args [ :version ] } '" )
79+ is_gemspec_file = file . match? ( 'gemspec' )
80+ regexp = is_gemspec_file ? gemspec_regexp : version_regexp
81+
82+ if ( match = content . match ( regexp ) )
83+ old_version = match [ 1 ]
84+ if is_gemspec_file
85+ content . gsub! ( "'elasticsearch-api', '#{ old_version } '" , "'elasticsearch-api', '#{ version } '" )
86+ else
87+ content . gsub! ( old_version , "'#{ version } '" )
88+ end
8289 else
8390 match = content . match ( version_regexp )
8491 old_version = match [ 1 ]
0 commit comments