geoblacklight 4.4.2 → 5.0.0.pre.alpha.11

Sign up to get free protection for your applications and to get access to all the features.
Files changed (577) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build-demo-app.yml +153 -0
  3. data/.github/workflows/prune-containers.yml +19 -0
  4. data/.github/workflows/ruby.yml +54 -52
  5. data/.gitignore +2 -2
  6. data/CONTRIBUTING.md +62 -44
  7. data/Gemfile +3 -28
  8. data/Rakefile +42 -67
  9. data/app/assets/images/blacklight/logo.svg +31 -1
  10. data/app/assets/stylesheets/geoblacklight/geoblacklight.scss +1 -2
  11. data/app/assets/stylesheets/geoblacklight/modules/_base.scss +1 -1
  12. data/app/assets/stylesheets/geoblacklight/modules/_blacklight_overrides.scss +24 -26
  13. data/app/assets/stylesheets/geoblacklight/modules/downloads.scss +13 -0
  14. data/app/assets/stylesheets/geoblacklight/modules/home.scss +2 -17
  15. data/app/assets/stylesheets/geoblacklight/modules/icon-customization.scss +48 -23
  16. data/app/assets/stylesheets/geoblacklight/modules/index_maps.scss +1 -15
  17. data/app/assets/stylesheets/geoblacklight/modules/item.scss +13 -11
  18. data/app/assets/stylesheets/geoblacklight/modules/layer_opacity.scss +3 -3
  19. data/app/assets/stylesheets/geoblacklight/modules/leaflet.scss +4 -0
  20. data/app/assets/stylesheets/geoblacklight/modules/modal.scss +0 -15
  21. data/app/assets/stylesheets/geoblacklight/modules/results.scss +10 -19
  22. data/app/assets/stylesheets/geoblacklight/modules/sidebar.scss +2 -2
  23. data/app/components/blacklight/icons/american_geographical_society_library_uwm_libraries_component.rb +46 -0
  24. data/app/components/blacklight/icons/arizona_component.rb +24 -0
  25. data/app/components/blacklight/icons/arrow_circle_down_component.rb +23 -0
  26. data/app/components/blacklight/icons/baruch_cuny_component.rb +23 -0
  27. data/app/components/blacklight/icons/book_component.rb +23 -0
  28. data/app/components/blacklight/icons/bookmark_component.rb +23 -0
  29. data/app/components/blacklight/icons/cd_rom_component.rb +23 -0
  30. data/app/components/blacklight/icons/child_item_component.rb +23 -0
  31. data/app/components/blacklight/icons/circle_info_solid_component.rb +23 -0
  32. data/app/components/blacklight/icons/citation_component.rb +23 -0
  33. data/app/components/blacklight/icons/collection_component.rb +23 -0
  34. data/app/components/blacklight/icons/collections_component.rb +24 -0
  35. data/app/components/blacklight/icons/columbia_component.rb +23 -0
  36. data/app/components/blacklight/icons/cornell_component.rb +25 -0
  37. data/app/components/blacklight/icons/datasets_component.rb +27 -0
  38. data/app/components/blacklight/icons/dvd_rom_component.rb +23 -0
  39. data/app/components/blacklight/icons/email_component.rb +23 -0
  40. data/app/components/blacklight/icons/esri_globe_component.rb +51 -0
  41. data/app/components/blacklight/icons/fire_solid_component.rb +23 -0
  42. data/app/components/blacklight/icons/george_mason_component.rb +24 -0
  43. data/app/components/blacklight/icons/globe_component.rb +23 -0
  44. data/app/components/blacklight/icons/harvard_component.rb +23 -0
  45. data/app/components/blacklight/icons/home_component.rb +23 -0
  46. data/app/components/blacklight/icons/iiif_drag_drop_component.rb +31 -0
  47. data/app/components/blacklight/icons/image_component.rb +23 -0
  48. data/app/components/blacklight/icons/imagery_component.rb +24 -0
  49. data/app/components/blacklight/icons/indiana_component.rb +23 -0
  50. data/app/components/blacklight/icons/leaf_component.rb +23 -0
  51. data/app/components/blacklight/icons/lewis_clark_component.rb +25 -0
  52. data/app/components/blacklight/icons/lightbulb_solid_component.rb +23 -0
  53. data/app/components/blacklight/icons/line_component.rb +24 -0
  54. data/app/components/blacklight/icons/map_component.rb +23 -0
  55. data/app/components/blacklight/icons/map_marker_component.rb +23 -0
  56. data/app/components/blacklight/icons/maps_component.rb +24 -0
  57. data/app/components/blacklight/icons/massgis_component.rb +23 -0
  58. data/app/components/blacklight/icons/metadata_component.rb +23 -0
  59. data/app/components/blacklight/icons/michigan_state_university_component.rb +25 -0
  60. data/app/components/blacklight/icons/mit_component.rb +23 -0
  61. data/app/components/blacklight/icons/mixed_component.rb +25 -0
  62. data/app/components/blacklight/icons/multilinestring_component.rb +26 -0
  63. data/app/components/blacklight/icons/multipoint_component.rb +23 -0
  64. data/app/components/blacklight/icons/multipolygon_component.rb +26 -0
  65. data/app/components/blacklight/icons/northwestern_university_component.rb +24 -0
  66. data/app/components/blacklight/icons/nyu_component.rb +26 -0
  67. data/app/components/blacklight/icons/pagelines_brands_component.rb +23 -0
  68. data/app/components/blacklight/icons/paper_map_component.rb +23 -0
  69. data/app/components/blacklight/icons/parent_item_component.rb +23 -0
  70. data/app/components/blacklight/icons/pennsylvania_state_university_component.rb +25 -0
  71. data/app/components/blacklight/icons/point_component.rb +23 -0
  72. data/app/components/blacklight/icons/polygon_component.rb +24 -0
  73. data/app/components/blacklight/icons/polyline_component.rb +26 -0
  74. data/app/components/blacklight/icons/princeton_component.rb +23 -0
  75. data/app/components/blacklight/icons/public_component.rb +23 -0
  76. data/app/components/blacklight/icons/purdue_university_component.rb +25 -0
  77. data/app/components/blacklight/icons/raster_component.rb +23 -0
  78. data/app/components/blacklight/icons/restricted_component.rb +23 -0
  79. data/app/components/blacklight/icons/rutgers_component.rb +25 -0
  80. data/app/components/blacklight/icons/sms_component.rb +23 -0
  81. data/app/components/blacklight/icons/stanford_component.rb +23 -0
  82. data/app/components/blacklight/icons/table_component.rb +23 -0
  83. data/app/components/blacklight/icons/tags_component.rb +23 -0
  84. data/app/components/blacklight/icons/texas_component.rb +23 -0
  85. data/app/components/blacklight/icons/the_ohio_state_university_component.rb +26 -0
  86. data/app/components/blacklight/icons/triangle_exclamation_solid_component.rb +23 -0
  87. data/app/components/blacklight/icons/tufts_component.rb +23 -0
  88. data/app/components/blacklight/icons/ucla_component.rb +23 -0
  89. data/app/components/blacklight/icons/university_of_california_berkeley_component.rb +24 -0
  90. data/app/components/blacklight/icons/university_of_chicago_component.rb +25 -0
  91. data/app/components/blacklight/icons/university_of_colorado_boulder_component.rb +26 -0
  92. data/app/components/blacklight/icons/university_of_illinois_urbana_champaign_component.rb +25 -0
  93. data/app/components/blacklight/icons/university_of_iowa_component.rb +24 -0
  94. data/app/components/blacklight/icons/university_of_maryland_component.rb +24 -0
  95. data/app/components/blacklight/icons/university_of_michigan_component.rb +24 -0
  96. data/app/components/blacklight/icons/university_of_minnesota_component.rb +24 -0
  97. data/app/components/blacklight/icons/university_of_nebraska_lincoln_component.rb +27 -0
  98. data/app/components/blacklight/icons/university_of_wisconsin_madison_component.rb +24 -0
  99. data/app/components/blacklight/icons/uva_component.rb +23 -0
  100. data/app/components/blacklight/icons/web_services_component.rb +23 -0
  101. data/app/components/blacklight/icons/websites_component.rb +24 -0
  102. data/app/components/geoblacklight/arcgis_component.html.erb +3 -0
  103. data/app/components/geoblacklight/arcgis_component.rb +25 -0
  104. data/app/components/geoblacklight/attribute_table_component.html.erb +17 -0
  105. data/app/components/geoblacklight/attribute_table_component.rb +17 -0
  106. data/app/components/geoblacklight/data_dictionary_download_component.html.erb +3 -0
  107. data/app/components/geoblacklight/data_dictionary_download_component.rb +16 -0
  108. data/app/components/geoblacklight/display_note_component.rb +1 -1
  109. data/app/components/geoblacklight/document/citation_component.html.erb +1 -0
  110. data/app/components/geoblacklight/document/citation_component.rb +19 -0
  111. data/app/components/geoblacklight/document/sidebar_component.html.erb +12 -0
  112. data/app/components/geoblacklight/document/sidebar_component.rb +8 -0
  113. data/app/components/geoblacklight/document_component.html.erb +43 -0
  114. data/app/components/geoblacklight/document_component.rb +6 -0
  115. data/app/components/geoblacklight/download_links_component.html.erb +31 -0
  116. data/app/components/geoblacklight/download_links_component.rb +80 -0
  117. data/app/components/geoblacklight/header_component.html.erb +14 -0
  118. data/app/components/geoblacklight/header_component.rb +9 -0
  119. data/app/components/geoblacklight/header_icons_component.html.erb +3 -0
  120. data/app/components/geoblacklight/header_icons_component.rb +29 -0
  121. data/app/components/geoblacklight/iiif_drag_drop_component.html.erb +3 -0
  122. data/app/components/geoblacklight/iiif_drag_drop_component.rb +16 -0
  123. data/app/components/geoblacklight/index_map_inspect_component.rb +15 -0
  124. data/app/components/geoblacklight/index_map_legend_component.html.erb +14 -0
  125. data/app/components/geoblacklight/index_map_legend_component.rb +17 -0
  126. data/app/components/geoblacklight/item_map_viewer_component.html.erb +1 -0
  127. data/app/components/geoblacklight/item_map_viewer_component.rb +87 -0
  128. data/app/components/geoblacklight/location_leaflet_map_component.html.erb +1 -0
  129. data/app/components/geoblacklight/location_leaflet_map_component.rb +49 -0
  130. data/app/components/geoblacklight/login_link_component.html.erb +5 -0
  131. data/app/components/geoblacklight/login_link_component.rb +17 -0
  132. data/app/components/geoblacklight/relations_component.html.erb +23 -0
  133. data/app/components/geoblacklight/relations_component.rb +25 -0
  134. data/app/components/geoblacklight/search_result_component.html.erb +44 -0
  135. data/app/{presenters/geoblacklight/document_presenter.rb → components/geoblacklight/search_result_component.rb} +9 -6
  136. data/app/components/geoblacklight/static_map_component.html.erb +9 -0
  137. data/app/components/geoblacklight/static_map_component.rb +36 -0
  138. data/app/components/geoblacklight/viewer_help_text_component.html.erb +1 -0
  139. data/app/components/geoblacklight/viewer_help_text_component.rb +46 -0
  140. data/app/components/geoblacklight/web_services_component.html.erb +1 -0
  141. data/app/components/geoblacklight/web_services_component.rb +26 -0
  142. data/app/{views/catalog/_web_services_default.html.erb → components/geoblacklight/web_services_default_component.html.erb} +3 -5
  143. data/app/components/geoblacklight/web_services_default_component.rb +11 -0
  144. data/app/components/geoblacklight/web_services_link_component.html.erb +3 -0
  145. data/app/components/geoblacklight/web_services_link_component.rb +22 -0
  146. data/app/{views/catalog/_web_services_wfs.html.erb → components/geoblacklight/web_services_wfs_component.html.erb} +4 -7
  147. data/app/components/geoblacklight/web_services_wfs_component.rb +12 -0
  148. data/app/components/geoblacklight/web_services_wms_component.html.erb +10 -0
  149. data/app/components/geoblacklight/web_services_wms_component.rb +12 -0
  150. data/app/controllers/download_controller.rb +8 -24
  151. data/app/helpers/geoblacklight_helper.rb +10 -194
  152. data/app/javascript/geoblacklight/controllers/clipboard_controller.js +11 -0
  153. data/app/javascript/geoblacklight/controllers/clover_viewer_controller.js +47 -0
  154. data/app/javascript/geoblacklight/controllers/downloads_controller.js +56 -0
  155. data/app/javascript/geoblacklight/controllers/leaflet_viewer_controller.js +217 -0
  156. data/app/javascript/geoblacklight/controllers/oembed_viewer_controller.js +18 -0
  157. data/app/javascript/geoblacklight/controllers/openlayers_viewer_controller.js +63 -0
  158. data/app/javascript/geoblacklight/controllers/search_results_controller.js +50 -0
  159. data/app/javascript/geoblacklight/core.js +69 -0
  160. data/app/javascript/geoblacklight/index.js +29 -0
  161. data/app/javascript/geoblacklight/initializers/metadata_download.js +54 -0
  162. data/app/javascript/geoblacklight/initializers/popovers.js +11 -0
  163. data/app/javascript/geoblacklight/initializers/relations.js +40 -0
  164. data/app/javascript/geoblacklight/initializers/tooltips.js +55 -0
  165. data/app/javascript/geoblacklight/initializers/truncation.js +45 -0
  166. data/app/javascript/geoblacklight/leaflet/basemaps.js +74 -0
  167. data/app/javascript/geoblacklight/leaflet/constants.js +18 -0
  168. data/app/javascript/geoblacklight/leaflet/controls/geosearch.js +160 -0
  169. data/app/javascript/geoblacklight/leaflet/controls/layer_opacity.js +120 -0
  170. data/app/javascript/geoblacklight/leaflet/inspection.js +195 -0
  171. data/app/javascript/geoblacklight/leaflet/layer_index_map.js +120 -0
  172. data/app/javascript/geoblacklight/leaflet/layer_wmts.js +59 -0
  173. data/app/javascript/geoblacklight/leaflet/layers.js +153 -0
  174. data/app/javascript/geoblacklight/leaflet/utils.js +83 -0
  175. data/app/javascript/geoblacklight/openlayers/basemaps.js +47 -0
  176. data/app/javascript/geoblacklight/openlayers/layers.js +44 -0
  177. data/app/models/concerns/geoblacklight/solr_document/citation.rb +20 -8
  178. data/app/models/concerns/geoblacklight/solr_document.rb +22 -30
  179. data/app/presenters/geoblacklight/bbox_item_presenter.rb +1 -1
  180. data/app/views/catalog/_citation.html.erb +16 -33
  181. data/app/views/catalog/_document_split.html.erb +18 -3
  182. data/app/views/catalog/_home_text.html.erb +2 -2
  183. data/app/views/catalog/_metadata.html.erb +1 -1
  184. data/app/views/catalog/index.html.erb +8 -4
  185. data/app/views/catalog/metadata/_markup.html.erb +1 -1
  186. data/app/views/catalog/metadata.html.erb +14 -13
  187. data/app/views/catalog/web_services.html.erb +19 -28
  188. data/app/views/relation/index.html.erb +2 -12
  189. data/app/views/relation/index.json.jbuilder +1 -1
  190. data/compose.yml +14 -0
  191. data/config/importmap.rb +20 -0
  192. data/config/locales/geoblacklight.en.yml +15 -24
  193. data/geoblacklight.gemspec +7 -7
  194. data/lib/generators/geoblacklight/assets/importmap_generator.rb +87 -0
  195. data/lib/generators/geoblacklight/assets/vite_generator.rb +90 -0
  196. data/lib/generators/geoblacklight/assets_generator.rb +12 -37
  197. data/lib/generators/geoblacklight/install_generator.rb +11 -49
  198. data/lib/generators/geoblacklight/templates/assets/_customizations.scss +13 -19
  199. data/lib/generators/geoblacklight/templates/assets/application.js +17 -0
  200. data/lib/generators/geoblacklight/templates/assets/application.scss +9 -4
  201. data/lib/generators/geoblacklight/templates/assets/geoblacklight.scss +11 -0
  202. data/lib/generators/geoblacklight/templates/base.html.erb +9 -12
  203. data/lib/generators/geoblacklight/templates/catalog_controller.rb +7 -15
  204. data/lib/generators/geoblacklight/templates/demo-app/Dockerfile +31 -0
  205. data/lib/generators/geoblacklight/templates/demo-app/compose.yml +26 -0
  206. data/lib/generators/geoblacklight/templates/demo-app/start-server.sh +21 -0
  207. data/lib/generators/geoblacklight/templates/package.json +7 -1
  208. data/lib/generators/geoblacklight/templates/settings.yml +45 -40
  209. data/lib/generators/geoblacklight/templates/vite.config.ts +22 -7
  210. data/lib/geoblacklight/bounding_box.rb +16 -0
  211. data/lib/geoblacklight/constants.rb +0 -1
  212. data/lib/geoblacklight/download/csv_download.rb +22 -0
  213. data/lib/geoblacklight/download/geojson_download.rb +1 -1
  214. data/lib/geoblacklight/download/geotiff_download.rb +1 -1
  215. data/lib/geoblacklight/download/kmz_download.rb +1 -1
  216. data/lib/geoblacklight/download/shapefile_download.rb +1 -1
  217. data/lib/geoblacklight/download.rb +1 -1
  218. data/lib/geoblacklight/engine.rb +15 -6
  219. data/lib/geoblacklight/item_viewer.rb +1 -1
  220. data/lib/geoblacklight/metadata/base.rb +2 -1
  221. data/lib/geoblacklight/references.rb +27 -8
  222. data/lib/geoblacklight/routes/downloadable.rb +0 -1
  223. data/lib/geoblacklight/routes.rb +0 -3
  224. data/lib/geoblacklight/version.rb +1 -1
  225. data/lib/geoblacklight/wms_layer/feature_info_response.rb +9 -6
  226. data/lib/geoblacklight.rb +6 -30
  227. data/lib/tasks/geoblacklight.rake +24 -60
  228. data/package.json +24 -17
  229. data/solr/conf/schema.xml +15 -13
  230. data/solr/conf/solrconfig.xml +6 -4
  231. data/spec/components/blacklight/icons/american_geographical_society_library_uwm_libraries_component_spec.rb +15 -0
  232. data/spec/components/blacklight/icons/arizona_component_spec.rb +15 -0
  233. data/spec/components/blacklight/icons/arrow_circle_down_component_spec.rb +15 -0
  234. data/spec/components/blacklight/icons/baruch_cuny_component_spec.rb +15 -0
  235. data/spec/components/blacklight/icons/book_component_spec.rb +15 -0
  236. data/spec/components/blacklight/icons/bookmark_component_spec.rb +15 -0
  237. data/spec/components/blacklight/icons/cd_rom_component_spec.rb +15 -0
  238. data/spec/components/blacklight/icons/child_item_component_spec.rb +15 -0
  239. data/spec/components/blacklight/icons/circle_info_solid_component_spec.rb +15 -0
  240. data/spec/components/blacklight/icons/citation_component_spec.rb +15 -0
  241. data/spec/components/blacklight/icons/collection_component_spec.rb +15 -0
  242. data/spec/components/blacklight/icons/collections_component_spec.rb +15 -0
  243. data/spec/components/blacklight/icons/columbia_component_spec.rb +15 -0
  244. data/spec/components/blacklight/icons/cornell_component_spec.rb +15 -0
  245. data/spec/components/blacklight/icons/datasets_component_spec.rb +15 -0
  246. data/spec/components/blacklight/icons/dvd_rom_component_spec.rb +15 -0
  247. data/spec/components/blacklight/icons/email_component_spec.rb +15 -0
  248. data/spec/components/blacklight/icons/esri_globe_component_spec.rb +15 -0
  249. data/spec/components/blacklight/icons/fire_solid_component_spec.rb +15 -0
  250. data/spec/components/blacklight/icons/george_mason_component_spec.rb +15 -0
  251. data/spec/components/blacklight/icons/globe_component_spec.rb +15 -0
  252. data/spec/components/blacklight/icons/harvard_component_spec.rb +15 -0
  253. data/spec/components/blacklight/icons/home_component_spec.rb +15 -0
  254. data/spec/components/blacklight/icons/iiif_drag_drop_component_spec.rb +15 -0
  255. data/spec/components/blacklight/icons/image_component_spec.rb +15 -0
  256. data/spec/components/blacklight/icons/imagery_component_spec.rb +15 -0
  257. data/spec/components/blacklight/icons/indiana_component_spec.rb +15 -0
  258. data/spec/components/blacklight/icons/leaf_component_spec.rb +15 -0
  259. data/spec/components/blacklight/icons/lewis_clark_component_spec.rb +15 -0
  260. data/spec/components/blacklight/icons/lightbulb_solid_component_spec.rb +15 -0
  261. data/spec/components/blacklight/icons/line_component_spec.rb +15 -0
  262. data/spec/components/blacklight/icons/map_component_spec.rb +15 -0
  263. data/spec/components/blacklight/icons/map_marker_component_spec.rb +15 -0
  264. data/spec/components/blacklight/icons/maps_component_spec.rb +15 -0
  265. data/spec/components/blacklight/icons/massgis_component_spec.rb +15 -0
  266. data/spec/components/blacklight/icons/metadata_component_spec.rb +15 -0
  267. data/spec/components/blacklight/icons/michigan_state_university_component_spec.rb +15 -0
  268. data/spec/components/blacklight/icons/mit_component_spec.rb +15 -0
  269. data/spec/components/blacklight/icons/mixed_component_spec.rb +15 -0
  270. data/spec/components/blacklight/icons/multilinestring_component_spec.rb +15 -0
  271. data/spec/components/blacklight/icons/multipoint_component_spec.rb +15 -0
  272. data/spec/components/blacklight/icons/multipolygon_component_spec.rb +15 -0
  273. data/spec/components/blacklight/icons/northwestern_university_component_spec.rb +15 -0
  274. data/spec/components/blacklight/icons/nyu_component_spec.rb +15 -0
  275. data/spec/components/blacklight/icons/pagelines_brands_component_spec.rb +15 -0
  276. data/spec/components/blacklight/icons/paper_map_component_spec.rb +15 -0
  277. data/spec/components/blacklight/icons/parent_item_component_spec.rb +15 -0
  278. data/spec/components/blacklight/icons/pennsylvania_state_university_component_spec.rb +15 -0
  279. data/spec/components/blacklight/icons/point_component_spec.rb +15 -0
  280. data/spec/components/blacklight/icons/polygon_component_spec.rb +15 -0
  281. data/spec/components/blacklight/icons/polyline_component_spec.rb +15 -0
  282. data/spec/components/blacklight/icons/princeton_component_spec.rb +15 -0
  283. data/spec/components/blacklight/icons/public_component_spec.rb +15 -0
  284. data/spec/components/blacklight/icons/purdue_university_component_spec.rb +15 -0
  285. data/spec/components/blacklight/icons/raster_component_spec.rb +15 -0
  286. data/spec/components/blacklight/icons/restricted_component_spec.rb +15 -0
  287. data/spec/components/blacklight/icons/rutgers_component_spec.rb +15 -0
  288. data/spec/components/blacklight/icons/sms_component_spec.rb +15 -0
  289. data/spec/components/blacklight/icons/stanford_component_spec.rb +15 -0
  290. data/spec/components/blacklight/icons/table_component_spec.rb +15 -0
  291. data/spec/components/blacklight/icons/tags_component_spec.rb +15 -0
  292. data/spec/components/blacklight/icons/texas_component_spec.rb +15 -0
  293. data/spec/components/blacklight/icons/the_ohio_state_university_component_spec.rb +15 -0
  294. data/spec/components/blacklight/icons/triangle_exclamation_solid_component_spec.rb +15 -0
  295. data/spec/components/blacklight/icons/tufts_component_spec.rb +15 -0
  296. data/spec/components/blacklight/icons/ucla_component_spec.rb +15 -0
  297. data/spec/components/blacklight/icons/university_of_california_berkeley_component_spec.rb +15 -0
  298. data/spec/components/blacklight/icons/university_of_chicago_component_spec.rb +15 -0
  299. data/spec/components/blacklight/icons/university_of_colorado_boulder_component_spec.rb +15 -0
  300. data/spec/components/blacklight/icons/university_of_illinois_urbana_champaign_component_spec.rb +15 -0
  301. data/spec/components/blacklight/icons/university_of_iowa_component_spec.rb +15 -0
  302. data/spec/components/blacklight/icons/university_of_maryland_component_spec.rb +15 -0
  303. data/spec/components/blacklight/icons/university_of_michigan_component_spec.rb +15 -0
  304. data/spec/components/blacklight/icons/university_of_minnesota_component_spec.rb +15 -0
  305. data/spec/components/blacklight/icons/university_of_nebraska_lincoln_component_spec.rb +15 -0
  306. data/spec/components/blacklight/icons/university_of_wisconsin_madison_component_spec.rb +15 -0
  307. data/spec/components/blacklight/icons/uva_component_spec.rb +15 -0
  308. data/spec/components/blacklight/icons/web_services_component_spec.rb +15 -0
  309. data/spec/components/blacklight/icons/websites_component_spec.rb +15 -0
  310. data/spec/components/geoblacklight/arcgis_component_spec.rb +31 -0
  311. data/spec/components/geoblacklight/attribute_table_component_spec.rb +37 -0
  312. data/spec/components/geoblacklight/citation_component_spec.rb +37 -0
  313. data/spec/components/geoblacklight/document_component_spec.rb +92 -0
  314. data/spec/components/geoblacklight/download_links_component_spec.rb +102 -0
  315. data/spec/components/geoblacklight/header_icons_component_spec.rb +56 -0
  316. data/spec/components/geoblacklight/iiif_drag_drop_component_spec.rb +30 -0
  317. data/spec/components/geoblacklight/index_map_legend_component_spec.rb +42 -0
  318. data/spec/components/geoblacklight/item_map_viewer_component_spec.rb +36 -0
  319. data/spec/components/geoblacklight/login_link_component_spec.rb +33 -0
  320. data/spec/{lib/geoblacklight/document_presenter_spec.rb → components/geoblacklight/search_result_component_spec.rb} +19 -11
  321. data/spec/components/geoblacklight/static_map_component_spec.rb +22 -0
  322. data/spec/components/geoblacklight/viewer_help_text_component_spec.rb +28 -0
  323. data/spec/components/geoblacklight/web_services_component_spec.rb +45 -0
  324. data/spec/controllers/download_controller_spec.rb +12 -35
  325. data/spec/features/axe_spec.rb +66 -0
  326. data/spec/features/bookmarks_spec.rb +1 -1
  327. data/spec/features/citations_spec.rb +7 -3
  328. data/spec/features/download_layer_spec.rb +24 -39
  329. data/spec/features/esri_viewer_spec.rb +1 -1
  330. data/spec/features/exports_spec.rb +0 -15
  331. data/spec/features/{full_screen_controll_spec.rb → full_screen_control_spec.rb} +6 -6
  332. data/spec/features/home_page_spec.rb +12 -7
  333. data/spec/features/iiif_viewer_spec.rb +1 -1
  334. data/spec/features/index_map_spec.rb +16 -9
  335. data/spec/features/{split_view.html.erb_spec.rb → index_view_spec.rb} +15 -13
  336. data/spec/features/layer_inspection_spec.rb +2 -2
  337. data/spec/features/layer_preview_spec.rb +1 -1
  338. data/spec/features/missing_metadata_spec.rb +5 -5
  339. data/spec/features/oembed_spec.rb +2 -2
  340. data/spec/features/saved_searches_spec.rb +4 -1
  341. data/spec/features/search_results_complex_geometry_spec.rb +2 -2
  342. data/spec/features/search_results_icons_spec.rb +3 -3
  343. data/spec/features/search_results_map_spec.rb +4 -36
  344. data/spec/features/search_results_overlap_ratio_spec.rb +1 -1
  345. data/spec/features/show_page_download_spec.rb +0 -8
  346. data/spec/features/tilejson_spec.rb +2 -2
  347. data/spec/features/web_services_modal_spec.rb +57 -39
  348. data/spec/features/wmts_spec.rb +4 -4
  349. data/spec/fixtures/solr_documents/README.md +2 -1
  350. data/spec/fixtures/solr_documents/complex-geom.json +61 -0
  351. data/spec/fixtures/solr_documents/esri-tiled_map_layer.json +45 -24
  352. data/spec/fixtures/solr_documents/harvard_raster.json +1 -1
  353. data/spec/fixtures/solr_documents/multiple-downloads.json +1 -0
  354. data/spec/helpers/geoblacklight_helper_spec.rb +8 -173
  355. data/spec/lib/geoblacklight/download/csv_download_spec.rb +21 -0
  356. data/spec/lib/geoblacklight/reference_spec.rb +17 -19
  357. data/spec/lib/geoblacklight/references_spec.rb +31 -17
  358. data/spec/lib/geoblacklight/wms_layer/feature_info_response_spec.rb +8 -6
  359. data/spec/lib/geoblacklight/wms_layer_spec.rb +14 -0
  360. data/spec/models/concerns/geoblacklight/solr_document/citation_spec.rb +1 -1
  361. data/spec/models/concerns/geoblacklight/solr_document_spec.rb +1 -21
  362. data/spec/spec_helper.rb +2 -28
  363. data/spec/test_app_templates/lib/generators/test_app_generator.rb +4 -12
  364. data/template.rb +13 -11
  365. data/test/leaflet/layers.test.js +17 -0
  366. data/vite.config.ts +34 -23
  367. metadata +304 -256
  368. data/.hound.yml +0 -8
  369. data/.jshintignore +0 -2
  370. data/.jshintrc +0 -67
  371. data/.solr_wrapper +0 -6
  372. data/app/assets/images/blacklight/american-geographical-society-library-uwm-libraries.svg +0 -26
  373. data/app/assets/images/blacklight/arizona.svg +0 -4
  374. data/app/assets/images/blacklight/arrow-circle-down.svg +0 -3
  375. data/app/assets/images/blacklight/baruch-cuny.svg +0 -3
  376. data/app/assets/images/blacklight/book.svg +0 -3
  377. data/app/assets/images/blacklight/bookmark.svg +0 -3
  378. data/app/assets/images/blacklight/cd-rom.svg +0 -3
  379. data/app/assets/images/blacklight/chicago.svg +0 -4
  380. data/app/assets/images/blacklight/child-item.svg +0 -3
  381. data/app/assets/images/blacklight/circle-info-solid.svg +0 -1
  382. data/app/assets/images/blacklight/citation.svg +0 -3
  383. data/app/assets/images/blacklight/collection.svg +0 -3
  384. data/app/assets/images/blacklight/collections.svg +0 -4
  385. data/app/assets/images/blacklight/columbia.svg +0 -3
  386. data/app/assets/images/blacklight/cornell.svg +0 -5
  387. data/app/assets/images/blacklight/datasets.svg +0 -7
  388. data/app/assets/images/blacklight/dvd-rom.svg +0 -3
  389. data/app/assets/images/blacklight/email.svg +0 -3
  390. data/app/assets/images/blacklight/esri-globe.svg +0 -31
  391. data/app/assets/images/blacklight/fire-solid.svg +0 -1
  392. data/app/assets/images/blacklight/geoblacklight-icons.json +0 -3312
  393. data/app/assets/images/blacklight/george-mason.svg +0 -4
  394. data/app/assets/images/blacklight/globe.svg +0 -3
  395. data/app/assets/images/blacklight/harvard.svg +0 -3
  396. data/app/assets/images/blacklight/home.svg +0 -3
  397. data/app/assets/images/blacklight/illinois.svg +0 -4
  398. data/app/assets/images/blacklight/image.svg +0 -3
  399. data/app/assets/images/blacklight/imagery.svg +0 -4
  400. data/app/assets/images/blacklight/indiana.svg +0 -3
  401. data/app/assets/images/blacklight/iowa.svg +0 -3
  402. data/app/assets/images/blacklight/leaf.svg +0 -3
  403. data/app/assets/images/blacklight/lewis-clark.svg +0 -5
  404. data/app/assets/images/blacklight/lightbulb-solid.svg +0 -1
  405. data/app/assets/images/blacklight/line.svg +0 -4
  406. data/app/assets/images/blacklight/map-marker.svg +0 -3
  407. data/app/assets/images/blacklight/map.svg +0 -3
  408. data/app/assets/images/blacklight/maps.svg +0 -4
  409. data/app/assets/images/blacklight/maryland.svg +0 -3
  410. data/app/assets/images/blacklight/massgis.svg +0 -3
  411. data/app/assets/images/blacklight/metadata.svg +0 -3
  412. data/app/assets/images/blacklight/michigan-state-university.svg +0 -5
  413. data/app/assets/images/blacklight/michigan-state.svg +0 -4
  414. data/app/assets/images/blacklight/michigan.svg +0 -3
  415. data/app/assets/images/blacklight/minnesota.svg +0 -3
  416. data/app/assets/images/blacklight/mit.svg +0 -3
  417. data/app/assets/images/blacklight/mixed.svg +0 -5
  418. data/app/assets/images/blacklight/multilinestring.svg +0 -6
  419. data/app/assets/images/blacklight/multipoint.svg +0 -3
  420. data/app/assets/images/blacklight/multipolygon.svg +0 -6
  421. data/app/assets/images/blacklight/nebraska.svg +0 -4
  422. data/app/assets/images/blacklight/northwestern-university.svg +0 -5
  423. data/app/assets/images/blacklight/nyu.svg +0 -6
  424. data/app/assets/images/blacklight/ohio-state.svg +0 -5
  425. data/app/assets/images/blacklight/pagelines-brands.svg +0 -3
  426. data/app/assets/images/blacklight/paper-map.svg +0 -3
  427. data/app/assets/images/blacklight/parent-item.svg +0 -3
  428. data/app/assets/images/blacklight/penn-state.svg +0 -4
  429. data/app/assets/images/blacklight/pennsylvania-state-university.svg +0 -5
  430. data/app/assets/images/blacklight/point.svg +0 -3
  431. data/app/assets/images/blacklight/polygon.svg +0 -4
  432. data/app/assets/images/blacklight/polyline.svg +0 -6
  433. data/app/assets/images/blacklight/princeton.svg +0 -3
  434. data/app/assets/images/blacklight/public.svg +0 -3
  435. data/app/assets/images/blacklight/purdue-university.svg +0 -5
  436. data/app/assets/images/blacklight/purdue.svg +0 -4
  437. data/app/assets/images/blacklight/raster.svg +0 -3
  438. data/app/assets/images/blacklight/restricted.svg +0 -3
  439. data/app/assets/images/blacklight/rutgers.svg +0 -5
  440. data/app/assets/images/blacklight/sms.svg +0 -3
  441. data/app/assets/images/blacklight/stanford.svg +0 -3
  442. data/app/assets/images/blacklight/table.svg +0 -3
  443. data/app/assets/images/blacklight/tags.svg +0 -3
  444. data/app/assets/images/blacklight/texas.svg +0 -3
  445. data/app/assets/images/blacklight/the-ohio-state-university.svg +0 -6
  446. data/app/assets/images/blacklight/triangle-exclamation-solid.svg +0 -1
  447. data/app/assets/images/blacklight/tufts.svg +0 -3
  448. data/app/assets/images/blacklight/ucla.svg +0 -3
  449. data/app/assets/images/blacklight/university-of-california-berkeley.svg +0 -4
  450. data/app/assets/images/blacklight/university-of-chicago.svg +0 -5
  451. data/app/assets/images/blacklight/university-of-colorado-boulder.svg +0 -6
  452. data/app/assets/images/blacklight/university-of-illinois-urbana-champaign.svg +0 -5
  453. data/app/assets/images/blacklight/university-of-iowa.svg +0 -4
  454. data/app/assets/images/blacklight/university-of-maryland.svg +0 -4
  455. data/app/assets/images/blacklight/university-of-michigan.svg +0 -4
  456. data/app/assets/images/blacklight/university-of-minnesota.svg +0 -4
  457. data/app/assets/images/blacklight/university-of-nebraska-lincoln.svg +0 -7
  458. data/app/assets/images/blacklight/university-of-wisconsin-madison.svg +0 -4
  459. data/app/assets/images/blacklight/uva.svg +0 -3
  460. data/app/assets/images/blacklight/web_services.svg +0 -3
  461. data/app/assets/images/blacklight/websites.svg +0 -4
  462. data/app/assets/images/blacklight/wisconsin.svg +0 -3
  463. data/app/assets/javascripts/geoblacklight/basemaps.js +0 -85
  464. data/app/assets/javascripts/geoblacklight/controls/fullscreen.js +0 -8
  465. data/app/assets/javascripts/geoblacklight/controls/opacity.js +0 -6
  466. data/app/assets/javascripts/geoblacklight/controls.js +0 -1
  467. data/app/assets/javascripts/geoblacklight/downloaders/downloader.js +0 -61
  468. data/app/assets/javascripts/geoblacklight/downloaders/hgl_downloader.js +0 -32
  469. data/app/assets/javascripts/geoblacklight/downloaders.js +0 -1
  470. data/app/assets/javascripts/geoblacklight/geoblacklight.js +0 -60
  471. data/app/assets/javascripts/geoblacklight/modules/bookmarks.js +0 -43
  472. data/app/assets/javascripts/geoblacklight/modules/download.js +0 -11
  473. data/app/assets/javascripts/geoblacklight/modules/geosearch.js +0 -133
  474. data/app/assets/javascripts/geoblacklight/modules/help_text.js +0 -7
  475. data/app/assets/javascripts/geoblacklight/modules/home.js +0 -16
  476. data/app/assets/javascripts/geoblacklight/modules/item.js +0 -32
  477. data/app/assets/javascripts/geoblacklight/modules/layer_opacity.js +0 -68
  478. data/app/assets/javascripts/geoblacklight/modules/metadata.js +0 -15
  479. data/app/assets/javascripts/geoblacklight/modules/metadata_download_button.js +0 -58
  480. data/app/assets/javascripts/geoblacklight/modules/relations.js +0 -14
  481. data/app/assets/javascripts/geoblacklight/modules/results.js +0 -81
  482. data/app/assets/javascripts/geoblacklight/modules/svg_tooltips.js +0 -31
  483. data/app/assets/javascripts/geoblacklight/modules/util.js +0 -48
  484. data/app/assets/javascripts/geoblacklight/modules.js +0 -1
  485. data/app/assets/javascripts/geoblacklight/templates/index_map_download.hbs +0 -19
  486. data/app/assets/javascripts/geoblacklight/templates/index_map_info.hbs +0 -61
  487. data/app/assets/javascripts/geoblacklight/viewers/cog.js +0 -5
  488. data/app/assets/javascripts/geoblacklight/viewers/esri/dynamic_map_layer.js +0 -85
  489. data/app/assets/javascripts/geoblacklight/viewers/esri/feature_layer.js +0 -76
  490. data/app/assets/javascripts/geoblacklight/viewers/esri/image_map_layer.js +0 -14
  491. data/app/assets/javascripts/geoblacklight/viewers/esri/tiled_map_layer.js +0 -50
  492. data/app/assets/javascripts/geoblacklight/viewers/esri.js +0 -78
  493. data/app/assets/javascripts/geoblacklight/viewers/iiif.js +0 -25
  494. data/app/assets/javascripts/geoblacklight/viewers/index_map.js +0 -71
  495. data/app/assets/javascripts/geoblacklight/viewers/map.js +0 -77
  496. data/app/assets/javascripts/geoblacklight/viewers/oembed.js +0 -13
  497. data/app/assets/javascripts/geoblacklight/viewers/pmtiles.js +0 -5
  498. data/app/assets/javascripts/geoblacklight/viewers/tilejson.js +0 -33
  499. data/app/assets/javascripts/geoblacklight/viewers/tms.js +0 -10
  500. data/app/assets/javascripts/geoblacklight/viewers/viewer.js +0 -68
  501. data/app/assets/javascripts/geoblacklight/viewers/wms.js +0 -74
  502. data/app/assets/javascripts/geoblacklight/viewers/wmts.js +0 -85
  503. data/app/assets/javascripts/geoblacklight/viewers/xyz.js +0 -10
  504. data/app/assets/javascripts/geoblacklight/viewers.js +0 -1
  505. data/app/assets/stylesheets/geoblacklight/modules/mixins.scss +0 -5
  506. data/app/helpers/arcgis_helper.rb +0 -14
  507. data/app/helpers/blacklight_helper.rb +0 -11
  508. data/app/helpers/carto_helper.rb +0 -31
  509. data/app/helpers/geoblacklight/geoblacklight_helper_behavior.rb +0 -18
  510. data/app/javascript/clover/clover_initializer.js +0 -29
  511. data/app/javascript/index.js +0 -7
  512. data/app/javascript/openlayers/basemaps.js +0 -47
  513. data/app/javascript/openlayers/ol_initializer.js +0 -106
  514. data/app/javascript/stylesheets/openlayers.css +0 -1
  515. data/app/models/concerns/geoblacklight/solr_document/carto.rb +0 -17
  516. data/app/views/catalog/_arcgis.html.erb +0 -4
  517. data/app/views/catalog/_carto.html.erb +0 -4
  518. data/app/views/catalog/_data_dictionary.html.erb +0 -5
  519. data/app/views/catalog/_downloads_collapse.html.erb +0 -27
  520. data/app/views/catalog/_header_icons.html.erb +0 -3
  521. data/app/views/catalog/_index_split_default.html.erb +0 -30
  522. data/app/views/catalog/_results_pagination.html.erb +0 -12
  523. data/app/views/catalog/_show_default_attribute_table.html.erb +0 -19
  524. data/app/views/catalog/_show_default_display_note.html.erb +0 -7
  525. data/app/views/catalog/_show_default_viewer_container.html.erb +0 -28
  526. data/app/views/catalog/_show_downloads.html.erb +0 -23
  527. data/app/views/catalog/_show_header_default.html.erb +0 -4
  528. data/app/views/catalog/_show_sidebar.html.erb +0 -16
  529. data/app/views/catalog/_show_sidebar_static_map.html.erb +0 -10
  530. data/app/views/catalog/_show_web_services.html.erb +0 -11
  531. data/app/views/catalog/_web_services.html.erb +0 -9
  532. data/app/views/catalog/_web_services_wms.html.erb +0 -13
  533. data/app/views/download/hgl.html.erb +0 -27
  534. data/app/views/relation/_relations.html.erb +0 -15
  535. data/app/views/shared/_header_navbar.html.erb +0 -46
  536. data/babel.config.json +0 -4
  537. data/jest.config.js +0 -25
  538. data/lib/generators/geoblacklight/templates/assets/_blacklight.scss +0 -1
  539. data/lib/generators/geoblacklight/templates/assets/_geoblacklight.scss +0 -1
  540. data/lib/generators/geoblacklight/templates/assets/geoblacklight.js +0 -9
  541. data/lib/generators/geoblacklight/templates/clover.js +0 -5
  542. data/lib/generators/geoblacklight/templates/ol.js +0 -6
  543. data/lib/generators/geoblacklight/templates/package-test.json +0 -10
  544. data/lib/generators/geoblacklight/templates/settings.gbl_v1.yml +0 -195
  545. data/lib/geoblacklight/download/hgl_download.rb +0 -20
  546. data/lib/geoblacklight/view_helper_override.rb +0 -16
  547. data/setupJest.js +0 -14
  548. data/spec/helpers/arcgis_helper_spec.rb +0 -16
  549. data/spec/helpers/carto_helper_spec.rb +0 -13
  550. data/spec/helpers/geoblacklight/geoblacklight_helper_behavior_spec.rb +0 -27
  551. data/spec/javascripts/util_spec.js +0 -10
  552. data/spec/lib/geoblacklight/download/hgl_download_spec.rb +0 -62
  553. data/spec/lib/geoblacklight/view_helper_override_spec.rb +0 -29
  554. data/spec/models/concerns/geoblacklight/solr_document/carto_spec.rb +0 -43
  555. data/spec/test_app_templates/Gemfile.extra +0 -2
  556. data/spec/views/catalog/_document_split.html.erb_spec.rb +0 -7
  557. data/spec/views/catalog/_index_split.html.erb_spec.rb +0 -7
  558. data/spec/views/catalog/_results_pagination.html.erb_spec.rb +0 -11
  559. data/spec/views/catalog/_show_downloads.html.erb_spec.rb +0 -43
  560. data/spec/views/catalog/_show_tools.html.erb_spec.rb +0 -38
  561. data/vendor/assets/images/fullscreen.png +0 -0
  562. data/vendor/assets/images/fullscreen@2x.png +0 -0
  563. data/vendor/assets/images/layers-2x.png +0 -0
  564. data/vendor/assets/images/layers.png +0 -0
  565. data/vendor/assets/images/marker-icon-2x.png +0 -0
  566. data/vendor/assets/images/marker-icon.png +0 -0
  567. data/vendor/assets/images/marker-shadow.png +0 -0
  568. data/vendor/assets/javascripts/Leaflet.fullscreen.js +0 -152
  569. data/vendor/assets/javascripts/esri-leaflet.js +0 -12
  570. data/vendor/assets/javascripts/esri-leaflet.js.map +0 -1
  571. data/vendor/assets/javascripts/leaflet-iiif.js +0 -323
  572. data/vendor/assets/javascripts/leaflet-src.js.erb +0 -14126
  573. data/vendor/assets/javascripts/leaflet-src.js.map +0 -1
  574. data/vendor/assets/javascripts/native.history.js +0 -1
  575. data/vendor/assets/stylesheets/leaflet.css +0 -640
  576. data/vendor/assets/stylesheets/leaflet.fullscreen.css +0 -40
  577. /data/app/{views/catalog/_show_default_viewer_information.html.erb → components/geoblacklight/index_map_inspect_component.html.erb} +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6820d2f267605af373b65ad7bb940b1787eea36cb85ebde3a75d0ba198a5bb24
4
- data.tar.gz: f2e9a5800739987386f67d4e9b248175102d5c347b42d05c80e754f567c11cb8
3
+ metadata.gz: 0e2b959de4c55a7527ad4d7687af25f972a6e219f94dc0ec8b7fb9c76154d5ee
4
+ data.tar.gz: 99cba751fbb1f088a2f96e40c64998e77e07bccb50511508fa57da35c8cb38a2
5
5
  SHA512:
6
- metadata.gz: 7247b6f2706fe1e9b857a745b43efccddd4b05e93632afa1030ab76af71606759439a90830c03df5e637979e5c4dd68fe8f56fd1790cf7f3971119b0f03799e6
7
- data.tar.gz: 7c2aaf7bc4c748a6afb5b943d3f908d1f8dd465d27d065a115ef45665a671d2c20e8d0ba8d9ae4c86383e8011fc64fa0dbdd9aeeb6ea379aa3566af9d8be7b54
6
+ metadata.gz: f98c1fd49c6dd1c0718a22dab3fea41457f54844415cf1003b36e5a14f6584eabb91061e52bdd7cf4224deadb4557d78125d90d06f15c74b808a1acff3bd9716
7
+ data.tar.gz: 1d716078cca8102a668cbb9ac1e6d987b9837f9428ffcc2ec51aa7f6986681fa169200e2f0e9fe5916ba187705e154d78189e82009cf5d4ddec2148385fa0d5a
@@ -0,0 +1,153 @@
1
+ name: Build demo app
2
+
3
+ on:
4
+ pull_request:
5
+ push:
6
+ branches:
7
+ - main
8
+ schedule:
9
+ - cron: "0 1 * * SUN" # every sunday at 1AM
10
+ workflow_dispatch:
11
+
12
+ env:
13
+ REGISTRY: ghcr.io
14
+ IMAGE_NAME: ${{ github.repository }}
15
+ BRANCH: ${{ github.head_ref || github.ref_name }}
16
+
17
+ jobs:
18
+ build-app:
19
+ runs-on: ubuntu-latest
20
+ outputs:
21
+ artifact-url: ${{ steps.artifact-upload-step.outputs.artifact-url }}
22
+ steps:
23
+ - uses: actions/checkout@v4
24
+ - name: Set up Ruby
25
+ uses: ruby/setup-ruby@v1
26
+ with:
27
+ ruby-version: 3.3.4
28
+
29
+ - name: Install dependencies
30
+ run: bundle install
31
+ env:
32
+ RAILS_VERSION: 7.1.3
33
+
34
+ - name: Setup Yarn
35
+ run: exec "yarnpkg"
36
+
37
+ - name: Build
38
+ run: BRANCH=${{ env.BRANCH }} rails new build -m template.rb -a propshaft
39
+
40
+ - name: Cleanup
41
+ run: rm -rf build/node_modules build/Gemfile.lock build/yarn.lock build/tmp
42
+
43
+ - name: Copy Dockerfile
44
+ run: cp lib/generators/geoblacklight/templates/demo-app/Dockerfile build/.
45
+
46
+ - name: Copy demo-app compose.yml
47
+ run: cp -f lib/generators/geoblacklight/templates/demo-app/compose.yml build/.
48
+
49
+ - name: Copy start-server script
50
+ run: cp lib/generators/geoblacklight/templates/demo-app/start-server.sh build/.
51
+
52
+ - name: Copy fixture solr documents
53
+ run: mkdir -p build/spec/fixtures && cp -R spec/fixtures/solr_documents build/spec/fixtures/.
54
+
55
+ - name: Replace main image tag with pr tag
56
+ if: github.ref_name != 'main'
57
+ run: sed -i 's/main/pr-${{ github.event.number }}/g' build/compose.yml
58
+
59
+ - name: Upload app build
60
+ uses: actions/upload-artifact@v4
61
+ id: artifact-upload-step
62
+ with:
63
+ name: build-${{ env.BRANCH }}
64
+ path: build/
65
+
66
+ build-docker:
67
+ runs-on: ubuntu-latest
68
+ needs:
69
+ - build-app
70
+ steps:
71
+ - name: Download app build
72
+ uses: actions/download-artifact@v4
73
+ with:
74
+ name: build-${{ env.BRANCH }}
75
+
76
+ - name: Set up QEMU
77
+ uses: docker/setup-qemu-action@v3
78
+
79
+ - name: Set up Docker Buildx
80
+ uses: docker/setup-buildx-action@v3
81
+
82
+ - name: Log in to the Container registry
83
+ uses: docker/login-action@v3
84
+ with:
85
+ registry: ${{ env.REGISTRY }}
86
+ username: ${{ github.actor }}
87
+ password: ${{ secrets.GITHUB_TOKEN }}
88
+
89
+ - name: Extract metadata (tags, labels) for Docker
90
+ id: meta
91
+ uses: docker/metadata-action@v5
92
+ with:
93
+ images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
94
+ tags: |
95
+ type=ref,event=branch
96
+ type=ref,event=pr
97
+ type=sha
98
+ env:
99
+ DOCKER_METADATA_PR_HEAD_SHA: true
100
+
101
+ # Rebuild base context when triggered by schedule or workflow_dispatch
102
+ - name: Build and push base Docker image
103
+ uses: docker/build-push-action@v6
104
+ if: github.event_name == 'workflow_dispatch' || github.event_name == 'schedule'
105
+ with:
106
+ context: "${{ github.workspace }}"
107
+ file: "${{ github.workspace }}/Dockerfile"
108
+ push: true
109
+ platforms: linux/amd64,linux/arm64
110
+ cache-from: type=gha
111
+ cache-to: type=gha,mode=max
112
+ tags: ghcr.io/geoblacklight/geoblacklight:base
113
+ target: "base"
114
+
115
+ # Build only the app context. Build times are faster because most
116
+ # gems and node packages are already installed in the base context.
117
+ - name: Build and push branch Docker image
118
+ uses: docker/build-push-action@v6
119
+ with:
120
+ context: "${{ github.workspace }}"
121
+ file: "${{ github.workspace }}/Dockerfile"
122
+ push: true
123
+ platforms: linux/amd64,linux/arm64
124
+ cache-from: type=gha
125
+ cache-to: type=gha,mode=max
126
+ tags: ${{ steps.meta.outputs.tags }}
127
+ labels: ${{ steps.meta.outputs.labels }}
128
+ target: "app"
129
+
130
+ notify:
131
+ runs-on: ubuntu-latest
132
+ if: github.ref_name != 'main'
133
+ needs:
134
+ - build-app
135
+ - build-docker
136
+ permissions:
137
+ contents: read
138
+ packages: write
139
+ pull-requests: write
140
+ steps:
141
+ - name: Add artifact link to PR comments
142
+ uses: mshick/add-pr-comment@v2
143
+ with:
144
+ message: |
145
+ Demo app download link: ${{ needs.build-app.outputs.artifact-url }}
146
+
147
+ 1. Download demo app and unzip file
148
+ 2. Change into app directory
149
+ - run `docker compose pull`
150
+ - run `docker compose up`
151
+ 3. Open in browser
152
+ - App: http://127.0.0.1:3001
153
+ - Solr: http://127.0.0.1:8984
@@ -0,0 +1,19 @@
1
+ name: Prune containers
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ schedule:
6
+ - cron: "0 0 * * SUN" # every sunday at midnight
7
+
8
+ jobs:
9
+ clean:
10
+ runs-on: ubuntu-latest
11
+ name: Delete old images
12
+ steps:
13
+ - uses: snok/container-retention-policy@v3.0.0
14
+ with:
15
+ account: geoblacklight
16
+ image-names: geoblacklight
17
+ token: ${{ secrets.GITHUB_TOKEN }}
18
+ image-tags: "!main !base"
19
+ cut-off: 2w
@@ -10,66 +10,68 @@ jobs:
10
10
  linter:
11
11
  runs-on: ubuntu-latest
12
12
  steps:
13
- - uses: actions/checkout@v2
14
- - name: Set up Ruby
15
- uses: ruby/setup-ruby@v1
16
- with:
17
- ruby-version: 2.7
18
- - name: Install dependencies
19
- run: bundle install
20
- - name: Run linter
21
- run: bundle exec standardrb
13
+ - uses: actions/checkout@v2
14
+ - name: Set up Ruby
15
+ uses: ruby/setup-ruby@v1
16
+ with:
17
+ ruby-version: 3.2
18
+ - name: Install dependencies
19
+ run: bundle install
20
+ - name: Run linter
21
+ run: bundle exec standardrb
22
22
 
23
23
  aardvark-fixture-linter:
24
24
  runs-on: ubuntu-latest
25
25
  steps:
26
- - uses: actions/checkout@v2
27
- - name: Set up Ruby
28
- uses: ruby/setup-ruby@v1
29
- with:
30
- ruby-version: 2.7
31
- - name: Install json schema validator
32
- run: gem install json_schemer
33
- - name: Run json_schemer against aarkvark fixtures
34
- run: find spec/fixtures/solr_documents -type f -name "*.json" | xargs json_schemer schema/geoblacklight-schema-aardvark.json
26
+ - uses: actions/checkout@v2
27
+ - name: Set up Ruby
28
+ uses: ruby/setup-ruby@v1
29
+ with:
30
+ ruby-version: 3.2
31
+ - name: Install json schema validator
32
+ run: gem install json_schemer
33
+ - name: Run json_schemer against aarkvark fixtures
34
+ run: find spec/fixtures/solr_documents -type f -name "*.json" | xargs json_schemer schema/geoblacklight-schema-aardvark.json
35
35
 
36
36
  test:
37
37
  runs-on: ubuntu-latest
38
38
  strategy:
39
39
  matrix:
40
- ruby_version: ['3.2', '3.3']
41
- rails_version: [6.1.7.6, 7.1.3, 7.2.0]
40
+ ruby_version: ["3.2", "3.3"]
41
+ rails_version: ["7.0.8.4", "7.1.3.4", "7.2.0"]
42
+ asset_pipeline: ["vite"]
43
+ additional_engine_cart_rails_options: [""]
44
+ # this build has failing tests that aren't easy to replicate locally
45
+ # https://github.com/geoblacklight/geoblacklight/issues/1585
46
+ # include:
47
+ # - ruby_version: "3.2"
48
+ # rails_version: "7.1.3.4"
49
+ # additional_engine_cart_rails_options: "--css bootstrap"
50
+ # asset_pipeline: "importmap"
42
51
 
43
- name: test ruby ${{ matrix.ruby_version }} / rails ${{ matrix.rails_version }}
52
+ name: test ruby ${{ matrix.ruby_version }} / rails ${{ matrix.rails_version }} / ${{ matrix.asset_pipeline }}
44
53
  steps:
45
- - uses: actions/checkout@v2
46
- - name: Set up Ruby
47
- uses: ruby/setup-ruby@v1
48
- with:
49
- ruby-version: ${{ matrix.ruby_version }}
50
- - name: Create Solr container
51
- run: docker run -d -p 8983:8983 geoblacklight/solr:8.9-v1.0.0 server/scripts/ci-start.sh
52
- - name: Install dependencies
53
- run: bundle install
54
- env:
55
- RAILS_VERSION: ${{ matrix.rails_version }}
56
- - name: Setup Yarn
57
- run: exec "yarnpkg"
58
- - name: Load config into solr
59
- run: |
60
- cd solr/conf
61
- zip -1 -r solr_config.zip ./*
62
- curl -H "Content-type:application/octet-stream" --data-binary @solr_config.zip "http://solr:SolrRocks@127.0.0.1:8983/solr/admin/configs?action=UPLOAD&name=blacklight"
63
- curl -H 'Content-type: application/json' http://solr:SolrRocks@127.0.0.1:8983/api/collections/ -d '{create: {name: blacklight-core, config: blacklight, numShards: 1}}'
64
- - name: Run tests
65
- run: bundle exec rake ci
66
- env:
67
- RAILS_VERSION: ${{ matrix.rails_version }}
68
- ENGINE_CART_RAILS_OPTIONS: '--skip-git --skip-listen --skip-spring --skip-keeps --skip-action-cable --skip-coffee --skip-test --skip-webpack-install --skip-javascript'
69
- SOLR_URL: http://solr:SolrRocks@localhost:8983/solr/blacklight-core
70
- - name: Upload coverage artifacts
71
- uses: actions/upload-artifact@v2
72
- if: always()
73
- with:
74
- name: coverage
75
- path: coverage/
54
+ - uses: actions/checkout@v2
55
+ - name: Set up Ruby
56
+ uses: ruby/setup-ruby@v1
57
+ with:
58
+ ruby-version: ${{ matrix.ruby_version }}
59
+ - name: Install dependencies
60
+ run: bundle install
61
+ env:
62
+ RAILS_VERSION: ${{ matrix.rails_version }}
63
+ - name: Setup Yarn
64
+ run: exec "yarnpkg"
65
+ - name: Run tests
66
+ run: bundle exec rake ci
67
+ env:
68
+ RAILS_VERSION: ${{ matrix.rails_version }}
69
+ ASSET_PIPELINE: ${{ matrix.asset_pipeline }}
70
+ ENGINE_CART_RAILS_OPTIONS: "--skip-git --skip-keeps --skip-action-cable --skip-test -a propshaft ${{ matrix.additional_engine_cart_rails_options }}"
71
+ SOLR_URL: http://solr:SolrRocks@localhost:8983/solr/blacklight-core
72
+ - name: Upload coverage artifacts
73
+ uses: actions/upload-artifact@v4
74
+ if: always()
75
+ with:
76
+ name: "coverage-${{ matrix.ruby_version }}-${{ matrix.rails_version }}"
77
+ path: coverage/
data/.gitignore CHANGED
@@ -28,6 +28,7 @@ jetty
28
28
  yarn-debug.log*
29
29
  .yarn-integrity
30
30
  yarn.lock
31
+ package-lock.json
31
32
 
32
33
  # Ignore IDE files
33
34
  .idea
@@ -36,8 +37,7 @@ yarn.lock
36
37
  /public/vite*
37
38
  /public/geoblacklight-vite*
38
39
  node_modules
39
- dist
40
+ app/assets/javascripts/geoblacklight
40
41
  # Vite uses dotenv and suggests to ignore local-only env files. See
41
42
  # https://vitejs.dev/guide/env-and-mode.html#env-files
42
43
  *.local
43
-
data/CONTRIBUTING.md CHANGED
@@ -1,49 +1,67 @@
1
- ## Contributing
2
- GeoBlacklight is a collaborative open source projects where contributions are :sparkles:welcome:sparkles:. This contributing guide is borrowed in part from the [Samvera Contributing Guide](https://github.com/samvera/hydra/blob/master/CONTRIBUTING.md) and the [Blacklight Contributing Wiki](https://github.com/projectblacklight/blacklight/wiki/Contributing-to-Blacklight).
1
+ # GeoBlacklight Codebase Contribution Guide
2
+ GeoBlacklight is a collaborative, open source project where contributions are :sparkles:welcome:sparkles:.
3
3
 
4
4
  ### Who can contribute?
5
- **Anyone** is welcome to contribute to GeoBlacklight. We follow a set of contribution practices to maintain a technically sustainable and stable software project for everyone.
5
+ **Anyone** is welcome to contribute to GeoBlacklight. We follow a set of contribution practices to maintain a technically sustainable and stable software project for everyone. We expect all contributors to adhere to our [Code of Conduct](https://github.com/geoblacklight/geoblacklight/blob/main/CODE_OF_CONDUCT.md).
6
6
 
7
- ### Reporting issues
8
- Did you find a bug in GeoBlacklight or interested in a new feature? Make sure to add an issue for it in the [issue tracker](https://github.com/geoblacklight/geoblacklight/issues).
7
+ ### Join the community
8
+ See the [community page](https://geoblacklight.org/community/) on our website for information about our community calendar, slack, volunteer opportunities, and more.
9
+
10
+ If you have questions or want to get more involved, join [GeoBlacklight Slack](https://geoblacklight.slack.com/join/shared_invite/zt-1p7dcay40-Ye_WTt5_iCqU8rDjzhkoWw#/shared-invite/email) or email the [GeoBlacklight Community](https://groups.google.com/g/geoblacklight-community) at [geoblacklight-community@googlegroups.com](mailto:geoblacklight-community@googlegroups.com).
11
+
12
+ ## Issues
13
+ Issues are used in the GeoBlacklight community as a convenient way to document bugs, propose new functionality and enhancements, and discuss important code changes.
14
+
15
+ ### Creating an issue
16
+ Did you find a bug in GeoBlacklight? Looking to suggest a new feature? Add an issue for it in the [issue tracker](https://github.com/geoblacklight/geoblacklight/issues).
9
17
 
10
18
  - Make sure you have a [GitHub account](https://github.com/signup/free)
11
- - Submit a [GitHub issue](./issues) by:
12
- - Clearly describing the issue
13
- - Provide a descriptive summary
14
- - Explain the expected behavior
15
- - Explain the actual behavior
16
- - Provide steps to reproduce the actual behavior
17
-
18
- ### GeoBlacklight Software Versioning
19
- GeoBlacklight follows the practice of [Semantic Versioning](https://semver.org/) for software releases. The declared semantically versioned public API includes:
20
- - the GeoBlacklight-Schema
21
- - the [public GeoBlacklight Ruby codebase classes](http://www.rubydoc.info/github/geoblacklight/geoblacklight/master/frames)
22
- - the GeoBlacklight JavaScript interface
23
- - the GeoBlacklight view interface
24
-
25
- ### Contributing code or documentation
26
- GeoBlacklight welcomes code and documentation contributions. You do *not* need to be a "GeoBlacklight Committer" to contribute code or documentation. We follow the [pull request](https://help.github.com/articles/using-pull-requests/) model for contributing on GitHub. GeoBlacklight uses a suite of tests to express its features and protect from bugs:bug:.
27
-
28
- When proposing major new features or changes that may introduce an API or schema change, please make sure to communicate with the [community](http://geoblacklight.org/connect) so the full implications are understood. Likely there are ways to introduce these changes in a backwards compatible way that others may be able to help with.
29
-
30
- #### Pull request overview
31
- 1. Fork it ( http://github.com/my-github-username/geoblacklight/fork )
32
- 2. Create your feature branch (`git checkout -b my-new-feature`)
33
- 3. Commit your changes (`git commit -am 'Add some feature'`)
34
- 4. Push to the branch (`git push origin my-new-feature`)
35
- 5. Create new Pull Request
36
-
37
- #### Merging Changes
38
-
39
- - It is considered "poor form" to merge your own request.
40
- - Please take the time to review the changes and get a sense of what is being changed. Things to consider:
41
- - Does the commit message explain what is going on?
42
- - Does the code changes have tests? _Not all changes need new tests, some changes are refactorings_
43
- - Do all new methods, modules, and classes have comments? Do changed methods, modules, and classes have comments?
44
- - Does the commit contain more than it should? Are two separate concerns being addressed in one commit?
45
- - Did the Travis tests complete successfully?
46
- - If you are uncertain, bring other contributors into the conversation by creating a comment that includes their @username.
47
- - If you like the pull request, but want others to chime in, create a +1 comment and tag a user.
48
-
49
- If you wish to ask questions or participate further, email the [GeoBlacklight Working Group](https://groups.google.com/forum/#!forum/geoblacklight-working-group) at [geoblacklight-working-group@googlegroups.com](mailto:geoblacklight-working-group@googlegroups.com).
19
+ - Submit a new issue that:
20
+ - Clearly describes the issue
21
+ - Provides a descriptive summary
22
+ - Explains the expected behavior
23
+ - Explains the actual behavior
24
+ - Provides steps to reproduce the actual behavior
25
+
26
+ ### Assigning an issue
27
+
28
+ In the GeoBlacklight community, issue assignment helps signal who is interested in working on an issue or who can assist in moving it forward. If you find an issue you’d like to contribute to, you can assign yourself to it. If an issue is already assigned, you are still welcome to contribute or provide support. Active issues will be marked with a status of “In progress” on our Project boards.
29
+
30
+ ## Contributing to the codebase
31
+ GeoBlacklight welcomes code contributions. You do *not* need to be a "GeoBlacklight Committer" to contribute code or documentation. We follow the [pull request](https://help.github.com/articles/using-pull-requests/) model for contributing on GitHub. GeoBlacklight uses a suite of tests to express its features and protect from bugs :bug:.
32
+
33
+ When proposing major new features or changes that may introduce an API or schema change, please make sure to communicate with the [community](https://geoblacklight.org/community/) so the full implications are understood. Likely there are ways to introduce these changes in a backwards compatible way that others may be able to help with.
34
+
35
+ To contribute to our website or documentation pages, see the [GeoBlacklight Website Contribution Guide](https://github.com/geoblacklight/geoblacklight.github.io/blob/main/CONTRIBUTING.md).
36
+
37
+ ### Pull request overview
38
+ Given the multi-institutional nature of the project, communitiy code review is important. **We discourage individuals from merging their own requests.** We also prefer that developers from the same institutions do not merge their colleagues code.
39
+
40
+ **Contributors:**
41
+
42
+ 1. If there isn't already an associated issue in the repository, create one
43
+ 1. Clone or fork the geoblacklight repository
44
+ 1. Create a new feature branch and publish it
45
+ 1. Make changes to the files
46
+ 1. Commit your changes
47
+ 1. Push to the new branch
48
+ 1. Open a Pull Request to the appropriate branch, like **main**, **release-4.x**, etc.
49
+ 1. If you want specific others to chime in, create a +1 comment and tag them. You can tag the [GeoBlacklight Developers](#who-are-the-geoblacklight-developers) with their @username: `@geoblacklight/geoblacklight-developers`
50
+ 1. Add the GeoBlacklight Developers team as a requested reviewer
51
+ 1. Mention the pull request in the associated issue
52
+
53
+ **Reviewers:**
54
+
55
+ 1. Review the Pull Request
56
+ 1. Merge changes to the appropriate branch
57
+
58
+ ### Tips for contributions
59
+ Please take the time to review the changes you made. Make sure that:
60
+ - New and changed code has comments
61
+ - The commit summary explains what has been changed
62
+ - Each commit addresses just a single concern
63
+ - If your code requires testing, you wrote a new test for it
64
+ - The GitHub Actions CI tests completed successfully
65
+
66
+ ### Who are the GeoBlacklight Developers?
67
+ The [GeoBlacklight Developers](https://github.com/orgs/geoblacklight/teams/geoblacklight-developers) team consists of contributors with GitHub privileges to review and merge pull requests (PRs) for the GeoBlacklight project. This team brings together individuals with varying types of expertise, including experience in the codebase, documentation, metadata, GIS data, and web services. If you have any questions or need guidance, this team or its individual members are a great starting point. When you submit a PR, a member of this team will review it and, if appropriate, merge it into the project.
data/Gemfile CHANGED
@@ -3,28 +3,9 @@ source "https://rubygems.org"
3
3
  # Specify your gem's dependencies in geoblacklight.gemspec
4
4
  gemspec
5
5
 
6
- group :development, :test do
7
- # See https://github.com/rails/rails/issues/32955
8
- gem "thor", ">= 0.19.0"
9
- end
10
-
11
- group :test do
12
- gem "capybara", require: false
13
- gem "database_cleaner", require: false
14
- gem "engine_cart", require: false
15
- gem "factory_bot_rails", require: false
16
- gem "foreman", require: false
17
- gem "rails-controller-testing", require: false
18
- gem "rspec-rails", require: false
19
- gem "simplecov", require: false
20
- gem "standardrb", require: false
21
- gem "webdrivers", require: false
22
- gem "webmock", require: false
23
- end
24
-
25
6
  # BEGIN ENGINE_CART BLOCK
26
- # engine_cart: 0.10.0
27
- # engine_cart stanza: 0.10.0
7
+ # engine_cart: 2.6.0
8
+ # engine_cart stanza: 2.5.0
28
9
  # the below comes from engine_cart, a gem used to test this Rails engine gem in the context of a Rails app.
29
10
  file = File.expand_path("Gemfile", ENV["ENGINE_CART_DESTINATION"] || ENV["RAILS_ROOT"] || File.expand_path(".internal_test_app", File.dirname(__FILE__)))
30
11
  if File.exist?(file)
@@ -40,16 +21,10 @@ else
40
21
  if ENV["RAILS_VERSION"]
41
22
  if ENV["RAILS_VERSION"] == "edge"
42
23
  gem "rails", github: "rails/rails"
43
- ENV["ENGINE_CART_RAILS_OPTIONS"] = "--edge --skip-turbolinks"
24
+ ENV["ENGINE_CART_RAILS_OPTIONS"] = "--edge"
44
25
  else
45
26
  gem "rails", ENV["RAILS_VERSION"]
46
27
  end
47
28
  end
48
29
  end
49
-
50
- if File.exist?("spec/test_app_templates/Gemfile.extra")
51
- # rubocop:disable Security/Eval
52
- eval File.read("spec/test_app_templates/Gemfile.extra"), nil, "spec/test_app_templates/Gemfile.extra"
53
- # rubocop:enable Security/Eval
54
- end
55
30
  # END ENGINE_CART BLOCK
data/Rakefile CHANGED
@@ -8,10 +8,29 @@ rescue LoadError
8
8
  puts "You must `gem install bundler` and `bundle install` to run rake tasks"
9
9
  end
10
10
 
11
- require "solr_wrapper"
12
- require "solr_wrapper/rake_task"
13
11
  require "engine_cart/rake_task"
14
12
  require "rspec/core/rake_task"
13
+ require "open3"
14
+
15
+ # Ensure the app generates with Propshaft; sprockets is no longer supported
16
+ # https://github.com/geoblacklight/geoblacklight/issues/1265
17
+ ENV["ENGINE_CART_RAILS_OPTIONS"] = ENV["ENGINE_CART_RAILS_OPTIONS"].to_s + " -a propshaft"
18
+
19
+ def system_with_error_handling(*args)
20
+ Open3.popen3(*args) do |_stdin, stdout, stderr, thread|
21
+ puts stdout.read
22
+ raise "Unable to run #{args.inspect}: #{stderr.read}" unless thread.value.success?
23
+ end
24
+ end
25
+
26
+ def with_solr(&block)
27
+ puts "Starting Solr"
28
+ system_with_error_handling "docker compose up -d solr"
29
+ yield
30
+ ensure
31
+ puts "Stopping Solr"
32
+ system_with_error_handling "docker compose stop solr"
33
+ end
15
34
 
16
35
  task(:spec).clear
17
36
  RSpec::Core::RakeTask.new(:spec) do |t|
@@ -24,16 +43,16 @@ task :javascript_tests do
24
43
  end
25
44
 
26
45
  desc "Run test suite"
27
- task ci: ["geoblacklight:generate"] do
28
- within_test_app do
29
- system "RAILS_ENV=test rake geoblacklight:index:seed"
30
- end
46
+ task :ci do
47
+ with_solr do
48
+ Rake::Task["geoblacklight:internal:seed"].invoke
31
49
 
32
- # Run RSpec tests with Coverage
33
- Rake::Task["geoblacklight:coverage"].invoke
50
+ # Run RSpec tests with Coverage
51
+ Rake::Task["geoblacklight:coverage"].invoke
34
52
 
35
- # Run JavaScript tests
36
- Rake::Task["javascript_tests"].invoke
53
+ # Run JavaScript tests
54
+ Rake::Task["javascript_tests"].invoke
55
+ end
37
56
  end
38
57
 
39
58
  namespace :geoblacklight do
@@ -43,11 +62,6 @@ namespace :geoblacklight do
43
62
  Rake::Task["spec"].invoke
44
63
  end
45
64
 
46
- desc "Create the test rails app"
47
- task generate: ["engine_cart:generate"] do
48
- # Intentionally Empty Block
49
- end
50
-
51
65
  namespace :internal do
52
66
  task seed: ["engine_cart:generate"] do
53
67
  within_test_app do
@@ -57,66 +71,27 @@ namespace :geoblacklight do
57
71
  end
58
72
  end
59
73
 
60
- desc "Run Solr and GeoBlacklight for interactive development"
74
+ desc "Run GeoBlacklight and Solr with seed data for interactive development"
61
75
  task :server, [:rails_server_args] do |_t, args|
62
- if File.exist? EngineCart.destination
63
- within_test_app do
64
- system "bundle update"
65
- end
66
- else
67
- Rake::Task["engine_cart:generate"].invoke
68
- end
76
+ with_solr do
77
+ Rake::Task["geoblacklight:internal:seed"].invoke
69
78
 
70
- SolrWrapper.wrap(port: "8983") do |solr|
71
- solr.with_collection(name: "blacklight-core", dir: File.join(File.expand_path(".", File.dirname(__FILE__)), "solr", "conf")) do
72
- Rake::Task["geoblacklight:internal:seed"].invoke
73
-
74
- within_test_app do
75
- puts "\nSolr server running: http://localhost:#{solr.port}/solr/#/blacklight-core"
76
- puts "\n^C to stop"
77
- puts " "
78
- begin
79
- system "bundle exec rails s #{args[:rails_server_args]}"
80
- rescue Interrupt
81
- puts "Shutting down..."
82
- end
79
+ within_test_app do
80
+ puts "Starting GeoBlacklight (Rails server)"
81
+ puts " "
82
+ begin
83
+ system "bundle exec rails s #{args[:rails_server_args]}"
84
+ rescue Interrupt
85
+ puts "Shutting down..."
83
86
  end
84
87
  end
85
88
  end
86
- end
87
89
 
88
- desc "Run Solr and seed with sample data"
89
- task :solr do
90
- if File.exist? EngineCart.destination
90
+ desc "Stdout output asset paths"
91
+ task :asset_paths do
91
92
  within_test_app do
92
- system "bundle update"
93
+ system "bundle exec rake geoblacklight:application_asset_paths"
93
94
  end
94
- else
95
- Rake::Task["engine_cart:generate"].invoke
96
- end
97
-
98
- SolrWrapper.wrap(port: "8983") do |solr|
99
- solr.with_collection(name: "blacklight-core", dir: File.join(File.expand_path(".", File.dirname(__FILE__)), "solr", "conf")) do
100
- Rake::Task["geoblacklight:internal:seed"].invoke
101
-
102
- within_test_app do
103
- puts "\nSolr server running: http://localhost:#{solr.port}/solr/#/blacklight-core"
104
- puts "\n^C to stop"
105
- puts " "
106
- begin
107
- sleep
108
- rescue Interrupt
109
- puts "Shutting down..."
110
- end
111
- end
112
- end
113
- end
114
- end
115
-
116
- desc "Stdout output asset paths"
117
- task :asset_paths do
118
- within_test_app do
119
- system "bundle exec rake geoblacklight:application_asset_paths"
120
95
  end
121
96
  end
122
97
  end