aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/version.rb
diff options
context:
space:
mode:
authorMike McQuaid2017-07-25 14:38:13 +0100
committerGitHub2017-07-25 14:38:13 +0100
commitf0ca3108f779f7248c4ea38426a4c43ed0e9793f (patch)
treea3ad413456d46c48f4ab8e0e1367a6ba48d373c2 /Library/Homebrew/version.rb
parent7041f7eb00004335c026236885f84bd8c0018c0d (diff)
parenta5fff4547f460642728c88dbad76267f83afa170 (diff)
downloadbrew-1.2.5.tar.bz2
Merge pull request #2931 from JCount/version-devel-parsing-improvements1.2.5
version: improve devel spec version parsing
Diffstat (limited to 'Library/Homebrew/version.rb')
-rw-r--r--Library/Homebrew/version.rb17
1 files changed, 17 insertions, 0 deletions
diff --git a/Library/Homebrew/version.rb b/Library/Homebrew/version.rb
index ddeaa6fee..b03a4bc33 100644
--- a/Library/Homebrew/version.rb
+++ b/Library/Homebrew/version.rb
@@ -406,6 +406,14 @@ class Version
m = /[-_](\d+\.\d+(?:\.\d+)?(?:-\d+)?)[-_.](?:i[36]86|x86|x64(?:[-_](?:32|64))?)$/.match(stem)
return m.captures.first unless m.nil?
+ # devel spec
+ # e.g. https://registry.npmjs.org/@angular/cli/-/cli-1.3.0-beta.1.tgz
+ # e.g. https://github.com/dlang/dmd/archive/v2.074.0-beta1.tar.gz
+ # e.g. https://github.com/dlang/dmd/archive/v2.074.0-rc1.tar.gz
+ # e.g. https://github.com/premake/premake-core/releases/download/v5.0.0-alpha10/premake-5.0.0-alpha10-src.zip
+ m = /[-.vV]?((?:\d+\.)+\d+[-_.]?(?i:alpha|beta|pre|rc)\.?\d{,2})/.match(stem)
+ return m.captures.first unless m.nil?
+
# e.g. foobar4.5.1
m = /((?:\d+\.)*\d+)$/.match(stem)
return m.captures.first unless m.nil?
@@ -414,6 +422,15 @@ class Version
m = /-((?:\d+\.)+\d+[abc]?)[-._](?:bin|dist|stable|src|sources?)$/.match(stem)
return m.captures.first unless m.nil?
+ # dash version style
+ # e.g. http://www.antlr.org/download/antlr-3.4-complete.jar
+ # e.g. https://cdn.nuxeo.com/nuxeo-9.2/nuxeo-server-9.2-tomcat.zip
+ # e.g. https://search.maven.org/remotecontent?filepath=com/facebook/presto/presto-cli/0.181/presto-cli-0.181-executable.jar
+ # e.g. https://search.maven.org/remotecontent?filepath=org/fusesource/fuse-extra/fusemq-apollo-mqtt/1.3/fusemq-apollo-mqtt-1.3-uber.jar
+ # e.g. https://search.maven.org/remotecontent?filepath=org/apache/orc/orc-tools/1.2.3/orc-tools-1.2.3-uber.jar
+ m = /-((?:\d+\.)+\d+)-/.match(stem)
+ return m.captures.first unless m.nil?
+
# e.g. dash_0.5.5.1.orig.tar.gz (Debian style)
m = /_((?:\d+\.)+\d+[abc]?)[.]orig$/.match(stem)
return m.captures.first unless m.nil?