cmake.rb 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. module Docs
  2. class Cmake < UrlScraper
  3. self.name = 'CMake'
  4. self.type = 'sphinx_simple'
  5. self.links = {
  6. home: 'https://cmake.org/',
  7. code: 'https://cmake.org/gitweb?p=cmake.git;a=summary'
  8. }
  9. html_filters.push 'cmake/clean_html', 'sphinx/clean_html', 'cmake/entries', 'title'
  10. options[:container] = '.body'
  11. options[:title] = false
  12. options[:root_title] = 'CMake Reference Documentation'
  13. options[:skip] = %w(release/index.html genindex.html search.html)
  14. options[:skip_patterns] = [/\Agenerator/, /\Acpack_gen/, /\Ainclude/, /\Arelease/, /tutorial\/(\w*%20)+/]
  15. options[:attribution] = <<-HTML
  16. &copy; 2000&ndash;2021 Kitware, Inc. and Contributors<br>
  17. Licensed under the BSD 3-clause License.
  18. HTML
  19. version '3.21' do
  20. self.release = '3.21'
  21. self.base_url = "https://cmake.org/cmake/help/v#{self.version}/"
  22. end
  23. version '3.20' do
  24. self.release = '3.20'
  25. self.base_url = "https://cmake.org/cmake/help/v#{self.version}/"
  26. end
  27. version '3.19' do
  28. self.release = '3.19.0'
  29. self.base_url = "https://cmake.org/cmake/help/v#{self.version}/"
  30. end
  31. version '3.18' do
  32. self.release = '3.18.4'
  33. self.base_url = "https://cmake.org/cmake/help/v#{self.version}/"
  34. end
  35. version '3.17' do
  36. self.release = '3.17.5'
  37. self.base_url = "https://cmake.org/cmake/help/v#{self.version}/"
  38. end
  39. version '3.16' do
  40. self.release = '3.16.9'
  41. self.base_url = "https://cmake.org/cmake/help/v#{self.version}/"
  42. end
  43. version '3.15' do
  44. self.release = '3.15.7'
  45. self.base_url = "https://cmake.org/cmake/help/v#{self.version}/"
  46. end
  47. version '3.14' do
  48. self.release = '3.14.7'
  49. self.base_url = "https://cmake.org/cmake/help/v#{self.version}/"
  50. end
  51. version '3.13' do
  52. self.release = '3.13.5'
  53. self.base_url = "https://cmake.org/cmake/help/v#{self.version}/"
  54. end
  55. version '3.12' do
  56. self.release = '3.12.4'
  57. self.base_url = "https://cmake.org/cmake/help/v#{self.version}/"
  58. end
  59. version '3.11' do
  60. self.release = '3.11.4'
  61. self.base_url = "https://cmake.org/cmake/help/v#{self.version}/"
  62. end
  63. version '3.10' do
  64. self.release = '3.10.3'
  65. self.base_url = "https://cmake.org/cmake/help/v#{self.version}/"
  66. end
  67. version '3.9' do
  68. self.release = '3.9.6'
  69. self.base_url = "https://cmake.org/cmake/help/v#{self.version}/"
  70. end
  71. version '3.8' do
  72. self.release = '3.8.2'
  73. self.base_url = "https://cmake.org/cmake/help/v#{self.version}/"
  74. end
  75. version '3.7' do
  76. self.release = '3.7.2'
  77. self.base_url = "https://cmake.org/cmake/help/v#{self.version}/"
  78. end
  79. version '3.6' do
  80. self.release = '3.6.3'
  81. self.base_url = "https://cmake.org/cmake/help/v#{self.version}/"
  82. end
  83. version '3.5' do
  84. self.release = '3.5.2'
  85. self.base_url = "https://cmake.org/cmake/help/v#{self.version}/"
  86. end
  87. def get_latest_version(opts)
  88. doc = fetch_doc('https://cmake.org/documentation/', opts)
  89. link = doc.at_css('.entry-content ul > li > strong > a > big')
  90. link.content.scan(/([0-9.]+)/)[0][0]
  91. end
  92. end
  93. end