1
0

openjdk.rb 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. module Docs
  2. class Openjdk < FileScraper
  3. self.name = 'OpenJDK'
  4. self.type = 'openjdk'
  5. self.root_path = 'overview-summary.html'
  6. # Downloaded from packages.debian.org/sid/openjdk-8-doc
  7. # Extracting subdirectory /usr/share/doc/openjdk-8-jre-headless/api
  8. self.dir = '/Users/Thibaut/DevDocs/Docs/OpenJDK'
  9. html_filters.insert_after 'internal_urls', 'openjdk/clean_urls'
  10. html_filters.push 'openjdk/entries', 'openjdk/clean_html'
  11. options[:skip_patterns] = [
  12. /compact[123]-/,
  13. /package-frame\.html/,
  14. /package-tree\.html/,
  15. /package-use\.html/,
  16. /class-use\//,
  17. /doc-files\//]
  18. options[:attribution] = <<-HTML
  19. &copy; 1993&ndash;2017, Oracle and/or its affiliates. All rights reserved.<br>
  20. Documentation extracted from Debian's OpenJDK Development Kit package.<br>
  21. Licensed under the GNU General Public License, version 2, with the Classpath Exception.<br>
  22. Various third party code in OpenJDK is licensed under different licenses (see Debian package).<br>
  23. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
  24. HTML
  25. version '8' do
  26. self.release = '8'
  27. options[:only_patterns] = [
  28. /\Ajava\/beans\//,
  29. /\Ajava\/io\//,
  30. /\Ajava\/lang\//,
  31. /\Ajava\/math\//,
  32. /\Ajava\/net\//,
  33. /\Ajava\/nio\//,
  34. /\Ajava\/security\//,
  35. /\Ajava\/text\//,
  36. /\Ajava\/time\//,
  37. /\Ajava\/util\//,
  38. /\Ajavax\/annotation\//,
  39. /\Ajavax\/crypto\//,
  40. /\Ajavax\/imageio\//,
  41. /\Ajavax\/lang\//,
  42. /\Ajavax\/management\//,
  43. /\Ajavax\/naming\//,
  44. /\Ajavax\/net\//,
  45. /\Ajavax\/print\//,
  46. /\Ajavax\/script\//,
  47. /\Ajavax\/security\//,
  48. /\Ajavax\/sound\//,
  49. /\Ajavax\/tools\//]
  50. end
  51. version '8 GUI' do
  52. self.release = '8'
  53. options[:only_patterns] = [
  54. /\Ajava\/awt\//,
  55. /\Ajavax\/swing\//]
  56. end
  57. version '8 Web' do
  58. self.release = '8'
  59. options[:only_patterns] = [
  60. /\Ajava\/applet\//,
  61. /\Ajava\/rmi\//,
  62. /\Ajava\/sql\//,
  63. /\Ajavax\/accessibility\//,
  64. /\Ajavax\/activation\//,
  65. /\Ajavax\/activity\//,
  66. /\Ajavax\/jws\//,
  67. /\Ajavax\/rmi\//,
  68. /\Ajavax\/sql\//,
  69. /\Ajavax\/transaction\//,
  70. /\Ajavax\/xml\//,
  71. /\Aorg\/ietf\//,
  72. /\Aorg\/omg\//,
  73. /\Aorg\/w3c\//,
  74. /\Aorg\/xml\//]
  75. end
  76. # Monkey patch to properly read HTML files encoded in ISO-8859-1
  77. def read_file(path)
  78. File.read(path).force_encoding('iso-8859-1').encode('utf-8') rescue nil
  79. end
  80. end
  81. end