diff --git a/bump-version.rb b/bump-version.rb new file mode 100644 index 0000000..a7c04e7 --- /dev/null +++ b/bump-version.rb @@ -0,0 +1,50 @@ +#!/usr/bin/ruby + +if not ARGV.empty? then + version_str = ARGV.first + version_array = ARGV.first.split('.') + if version_array.size == 3 then + major = version_array[0] + minor = version_array[1] + patch = version_array[2] + puts "Major: #{major}" + puts "Minor: #{minor}" + puts "Patch: #{patch}" + + script_dir_name = File.expand_path(File.dirname(__FILE__)) + + # CMakeLists.txt + path_CMakeLists_txt = "#{script_dir_name}/CMakeLists.txt" + CMakeLists_txt = File.open(path_CMakeLists_txt, "r").read + CMakeLists_txt.sub!(/(set\(GMIO_VERSION_MAJOR\s+)\d+/, "\\1#{major}") + CMakeLists_txt.sub!(/(set\(GMIO_VERSION_MINOR\s+)\d+/, "\\1#{minor}") + CMakeLists_txt.sub!(/(set\(GMIO_VERSION_PATCH\s+)\d+/, "\\1#{patch}") + File.open(path_CMakeLists_txt, "w").write(CMakeLists_txt) + puts "Bumped #{path_CMakeLists_txt}" + + # README.md + path_README_md = "#{script_dir_name}/README.md" + README_md = File.open(path_README_md, "r").read + README_md.sub!( + /(img\.shields\.io\/badge\/version\-v)\d+\.\d+\.\d+/, + "\\1#{version_str}") + README_md.gsub!( + /(www\.fougue\.pro\/docs\/gmio\/)\d+\.\d+/, + "\\1#{major}.#{minor}") + File.open(path_README_md, "w").write(README_md) + puts "Bumped #{path_README_md}" + + # appveyor.yml + path_appveyor_yml = "#{script_dir_name}/appveyor.yml" + appveyor_yml = File.open(path_appveyor_yml, "r").read + appveyor_yml.sub!( + /(version:\s+)\d+\.\d+(_build)/, + "\\1#{major}.#{minor}\\2") + File.open(path_appveyor_yml, "w").write(appveyor_yml) + puts "Bumped #{path_appveyor_yml}" + else + puts "Error: wrong version format(maj.min.patch)" + end +else + puts "Error: no version argument" +end