lib/maven/tools/coordinate.rb in maven-tools-0.33.5 vs lib/maven/tools/coordinate.rb in maven-tools-0.34.0

- old
+ new

@@ -118,32 +118,41 @@ else "#{low || '[0'},#{high || ')'}" end end end - + + def snapshot_version( val ) + if val.match /[a-z]|[A-Z]/ and not val.match /-SNAPSHOT|[${}]/ + val + '-SNAPSHOT' + else + val + end + end + def convert(arg, low = nil, high = nil) if arg =~ /~>/ val = arg.sub(/~>\s*/, '') last = val.sub(/\.[0-9]*[a-z]+.*$/, '').sub(/\.[^.]+$/, '.99999') - ["[#{val}", "#{last}]"] + ["[#{snapshot_version(val)}", "#{snapshot_version(last)}]"] elsif arg =~ />=/ val = arg.sub(/>=\s*/, '') - ["[#{val}", (nil || high)] + ["[#{snapshot_version(val)}", (nil || high)] elsif arg =~ /<=/ val = arg.sub(/<=\s*/, '') - [(nil || low), "#{val}]"] + [(nil || low), "#{snapshot_version(val)}]"] # treat '!' the same way as '>' since maven can not describe such range elsif arg =~ /[!>]/ val = arg.sub(/[!>]\s*/, '') - ["(#{val}", (nil || high)] + ["(#{snapshot_version(val)}", (nil || high)] elsif arg =~ /</ val = arg.sub(/<\s*/, '') - [(nil || low), "#{val})"] + [(nil || low), "#{snapshot_version(val)})"] elsif arg =~ /\=/ val = arg.sub(/=\s*/, '') - ["[" + val, val + '.0.0.0.0.1)'] - else + ["[#{snapshot_version(val)}", val + '.0.0.0.0.1)'] + else + # no conversion here, i.e. assume maven version [arg, arg] end end end end