lib/makit/version.rb in makit-0.0.49 vs lib/makit/version.rb in makit-0.0.50
- old
+ new
@@ -1,16 +1,23 @@
# frozen_string_literal: true
module Makit
- VERSION = "0.0.49"
+ VERSION = "0.0.50"
class Version
# given an array of version strings, return the highest version
def self.get_highest_version(versions)
versions.sort { |a, b| Gem::Version.new(a) <=> Gem::Version.new(b) }.last
end
+
+ # example content from .gitlab-ci.yml
+ #variables:
+ # VERSION: "0.0.26" # Define the version here
+
+
+
def self.get_version_from_file(path)
if (!File.exist?(path))
raise "file #{path}does not exist"
end
@@ -22,10 +29,12 @@
case switch
when ".csproj"
Makit::Version.detect_from_file(path, /<Version>([-\w\d.]+)</)
when ".wxs"
Makit::Version.detect_from_file(path, / Version="([\d\.]+)"/)
+ when ".yml"
+ Makit::Version.detect_from_file(path, /VERSION:\s?(['|"])([\d\.]+)\1/)
else
raise "unrecognized file type"
end
end
@@ -39,9 +48,10 @@
end
def self.set_version_in_file(filename, version)
text = IO.read(filename)
new_text = text
+ new_text = text.gsub(/VERSION:\s?['|"]([.\d]+)['|"]/, "VERSION: \"#{version}\"") if filename.include?(".yml")
new_text = text.gsub(/version\s?=\s?['|"]([.\d]+)['|"]/, "version='#{version}'") if filename.include?(".gemspec")
new_text = text.gsub(/<Version>([-\w\d.]+)</, "<Version>#{version}<") if filename.include?(".csproj")
new_text = text.gsub(/<version>([-\w\d.]+)</, "<version>#{version}<") if filename.include?(".nuspec")
new_text = text.gsub(/ Version="([\d\.]+)"/, " Version=\"#{version}\"") if filename.include?(".wxs")
new_text = text.gsub(/version\s+=\s+['"]([\w.]+)['"]/, "version=\"#{version}\"") if filename.include?(".toml")