diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
commit | 1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch) | |
tree | 46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebInspectorUI/Scripts/update-LegacyInspectorBackendCommands.rb | |
parent | 32761a6cee1d0dee366b885b7b9c777e67885688 (diff) | |
download | WebKitGtk-tarball-master.tar.gz |
webkitgtk-2.16.5HEADwebkitgtk-2.16.5master
Diffstat (limited to 'Source/WebInspectorUI/Scripts/update-LegacyInspectorBackendCommands.rb')
-rwxr-xr-x | Source/WebInspectorUI/Scripts/update-LegacyInspectorBackendCommands.rb | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/Source/WebInspectorUI/Scripts/update-LegacyInspectorBackendCommands.rb b/Source/WebInspectorUI/Scripts/update-LegacyInspectorBackendCommands.rb new file mode 100755 index 000000000..21d306e2c --- /dev/null +++ b/Source/WebInspectorUI/Scripts/update-LegacyInspectorBackendCommands.rb @@ -0,0 +1,74 @@ +#!/usr/bin/ruby + +require 'fileutils' +require 'tmpdir' + +if ARGV.size != 0 + puts "usage: #{File.basename $0}" + exit 1 +end + +WEB_INSPECTOR_PATH = File.expand_path File.join(File.dirname(__FILE__), "..") +JAVASCRIPTCORE_PATH = File.expand_path File.join(File.dirname(__FILE__), "..", "..", "JavaScriptCore") + +$code_generator_path = File.join JAVASCRIPTCORE_PATH, "inspector", "scripts", "generate-inspector-protocol-bindings.py" +$versions_directory_path = File.join WEB_INSPECTOR_PATH, "Versions" +$web_inspector_protocol_legacy_path = File.join WEB_INSPECTOR_PATH, "UserInterface", "Protocol", "Legacy" + +class Task + def initialize(input_json_path, output_directory_path) + @input_json_path = input_json_path + @output_directory_path = output_directory_path + end + + def run + output_filename = "InspectorBackendCommands.js" + display_input = File.basename @input_json_path + display_output = File.join @output_directory_path.gsub(/^.*?\/UserInterface/, "UserInterface"), output_filename + puts "#{display_input} -> #{display_output}" + + Dir.mktmpdir do |tmpdir| + dependency = @dependency_json_path ? "'#{@dependency_json_path}'" : "" + cmd = "#{$code_generator_path} --force --outputDir '#{tmpdir}' --framework JavaScriptCore '#{@input_json_path}' #{dependency}" + %x{ #{cmd} } + if $?.exitstatus != 0 + puts "ERROR: Error Code (#{$?.exitstatus}) Evaluating: #{cmd}" + exit 1 + end + + generated_path = File.join tmpdir, output_filename + if !File.exists?(generated_path) + puts "ERROR: Generated file does not exist at expected path." + exit 1 + end + + FileUtils.mkdir_p @output_directory_path + FileUtils.cp generated_path, @output_directory_path + end + end +end + +def all_tasks + tasks = [] + + had_error = false + Dir.glob(File.join($versions_directory_path, "*.json")).each do |version_path| + match = File.basename(version_path).match(/^Inspector\-(.*?)\-([^-]+?)\.json$/) + if match + output_path = File.join $web_inspector_protocol_legacy_path, match[2] + tasks << Task.new(version_path, output_path) + else + puts "ERROR: Version file (#{version_path}) did not match the template Inspector-<ANYTHING>-<VERSION>.js" + had_error = true + end + end + exit 1 if had_error + + tasks +end + +def main + all_tasks.each { |task| task.run } +end + +main |