Title: [290331] trunk/Source/WTF
- Revision
- 290331
- Author
- [email protected]
- Date
- 2022-02-22 12:59:23 -0800 (Tue, 22 Feb 2022)
Log Message
Ruby ERB.new compatibility fix
https://bugs.webkit.org/show_bug.cgi?id=237035
Reviewed by Fujii Hironori.
ERB.new has changed its calling convention in newer ruby versions.
This was exposed by https://commits.webkit.org/247450@main, which
tried to silence the warning emitted by newer ruby versions.
Unfortunately, this resulted in failures with older ruby versions
(e.g.
https://build.webkit.org/#/builders/46/builds/11387/steps/8/logs/stdio).
Use the compatibility hack suggested by RuboCop to get this working
across ruby versions (without any warnings).
* Scripts/GeneratePreferences.rb:
Modified Paths
Diff
Modified: trunk/Source/WTF/ChangeLog (290330 => 290331)
--- trunk/Source/WTF/ChangeLog 2022-02-22 20:54:54 UTC (rev 290330)
+++ trunk/Source/WTF/ChangeLog 2022-02-22 20:59:23 UTC (rev 290331)
@@ -1,3 +1,22 @@
+2022-02-22 Angelos Oikonomopoulos <[email protected]>
+
+ Ruby ERB.new compatibility fix
+ https://bugs.webkit.org/show_bug.cgi?id=237035
+
+ Reviewed by Fujii Hironori.
+
+ ERB.new has changed its calling convention in newer ruby versions.
+ This was exposed by https://commits.webkit.org/247450@main, which
+ tried to silence the warning emitted by newer ruby versions.
+ Unfortunately, this resulted in failures with older ruby versions
+ (e.g.
+ https://build.webkit.org/#/builders/46/builds/11387/steps/8/logs/stdio).
+
+ Use the compatibility hack suggested by RuboCop to get this working
+ across ruby versions (without any warnings).
+
+ * Scripts/GeneratePreferences.rb:
+
2022-02-22 Chris Dumez <[email protected]>
Clean up / optimize even more call sites constructing vectors
Modified: trunk/Source/WTF/Scripts/GeneratePreferences.rb (290330 => 290331)
--- trunk/Source/WTF/Scripts/GeneratePreferences.rb 2022-02-22 20:54:54 UTC (rev 290330)
+++ trunk/Source/WTF/Scripts/GeneratePreferences.rb 2022-02-22 20:59:23 UTC (rev 290331)
@@ -228,11 +228,22 @@
result
end
+ def createTemplate(templateString)
+ # Newer versions of ruby deprecate and/or drop passing non-keyword
+ # arguments for trim_mode and friends, so we need to call the constructor
+ # differently depending on what it expects. This solution is suggested by
+ # rubocop's Lint/ErbNewArguments.
+ if ERB.instance_method(:initialize).parameters.assoc(:key) # Ruby 2.6+
+ ERB.new(templateString, trim_mode:"-")
+ else
+ ERB.new(templateString, nil, "-")
+ end
+ end
def renderTemplate(templateFile, outputDirectory)
resultFile = File.join(outputDirectory, File.basename(templateFile, ".erb"))
tempResultFile = resultFile + ".tmp"
- output = ERB.new(File.read(templateFile), trim_mode:"-").result(binding)
+ output = createTemplate(File.read(templateFile)).result(binding)
File.open(tempResultFile, "w+") do |f|
f.write(output)
end
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes