@@ -64,21 +64,28 @@ namespace :unified_release do
64
64
$ rake unified_release:bump[42.0.0]
65
65
DESC
66
66
task :bump , :version do |_ , args |
67
- abort ( '[!] Required argument [version] missing' ) unless args [ :version ]
67
+ abort ( '[!] Required argument [version] missing' ) unless ( version = args [ :version ] )
68
68
69
69
files = [ 'elasticsearch/elasticsearch.gemspec' ]
70
70
RELEASE_TOGETHER . each do |gem |
71
71
files << Dir [ "./#{ gem } /**/**/version.rb" ]
72
72
end
73
73
74
74
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 .]+)'/ )
76
76
77
77
files . flatten . each do |file |
78
78
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
82
89
else
83
90
match = content . match ( version_regexp )
84
91
old_version = match [ 1 ]
0 commit comments