update-codemirror-resources.rb 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #!/usr/bin/ruby
  2. require 'fileutils'
  3. if ARGV.size != 1
  4. puts "usage: #{File.basename $0} <codemirror-repo-path>"
  5. exit 1
  6. end
  7. def verify_code_mirror_repository_path(path)
  8. if !File.directory? path
  9. puts "ERROR: Provided CodeMirror path is not a directory."
  10. exit 1
  11. end
  12. Dir.chdir(path) do
  13. results = `git config --list | grep 'marijnh/CodeMirror\.git'`
  14. if $?.exitstatus != 0 || results.split("\n").empty?
  15. puts "ERROR: Provided CodeMirror path does not appear to be a CodeMirror checkout."
  16. exit 1
  17. end
  18. end
  19. end
  20. code_mirror_repository_path = File.expand_path ARGV[0]
  21. verify_code_mirror_repository_path code_mirror_repository_path
  22. web_inspector_user_interface_path = File.expand_path File.join(File.dirname(__FILE__), "../UserInterface")
  23. web_inspector_code_mirror_resources_path = File.join web_inspector_user_interface_path, "/External/CodeMirror"
  24. CODE_MIRROR_FILES_TO_COPY = %w(
  25. lib/codemirror.js
  26. lib/codemirror.css
  27. addon/comment/comment.js
  28. addon/edit/matchbrackets.js
  29. addon/mode/overlay.js
  30. addon/display/placeholder.js
  31. addon/runmode/runmode.js
  32. addon/search/searchcursor.js
  33. mode/clojure/clojure.js
  34. mode/coffeescript/coffeescript.js
  35. mode/css/css.js
  36. mode/htmlmixed/htmlmixed.js
  37. mode/javascript/javascript.js
  38. mode/less/less.js
  39. mode/livescript/livescript.js
  40. mode/sass/sass.js
  41. mode/sql/sql.js
  42. mode/xml/xml.js
  43. )
  44. all_success = true
  45. CODE_MIRROR_FILES_TO_COPY.each do |subpath|
  46. from_path = File.join code_mirror_repository_path, subpath
  47. to_path = File.join web_inspector_code_mirror_resources_path, File.basename(subpath)
  48. begin
  49. puts "Copying #{File.basename(subpath)}..."
  50. FileUtils.cp from_path, to_path
  51. rescue Exception => e
  52. puts "WARNING: #{e}"
  53. all_success = false
  54. end
  55. end
  56. exit all_success ? 0 : 1