bottle: better match for formulea with stable do block

It will only work if the indent is correct.

Closes Homebrew/homebrew#37024.

Signed-off-by: Xu Cheng <xucheng@me.com>
This commit is contained in:
Xu Cheng 2015-02-21 18:57:29 +08:00
parent 1c8323f9cc
commit 202dac2555

View File

@ -247,7 +247,12 @@ module Homebrew
odie 'Bottle block update failed!' unless string
else
update_or_add = 'add'
string = s.sub!(/( ((url|sha1|sha256|head|version|mirror) ['"][\S ]+['"]|revision \d+)\n+)+/m, '\0' + output + "\n")
if s.include? 'stable do'
indent = s.slice(/^ +stable do/).length - "stable do".length
string = s.sub!(/^ {#{indent}}stable do(.|\n)+?^ {#{indent}}end\n/m, '\0' + output + "\n")
else
string = s.sub!(/( ((url|sha1|sha256|head|version|mirror) ['"][\S ]+['"]|revision \d+)\n+)+/m, '\0' + output + "\n")
end
odie 'Bottle block addition failed!' unless string
end
end