diff --git a/Dockerfile b/Dockerfile index 8a1a1d6d1..6a1e6b413 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,5 @@ # https://hub.docker.com/_/centos for details on the first stage of this build -FROM centos:7 AS systemd-enabled +FROM almalinux:8 AS systemd-enabled ENV container docker RUN (cd /lib/systemd/system/sysinit.target.wants/; for i in *; do [ $i == \ systemd-tmpfiles-setup.service ] || rm -f $i; done); \ @@ -15,8 +15,6 @@ CMD ["/usr/sbin/init"] FROM systemd-enabled -COPY docker/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo - # Install dependencies # Install compilers for gems & more dependencies - this section is > 1 GB so might see if we can shrink it down some # Should we remove git, since the mutagen files can't see the git directory? @@ -24,28 +22,33 @@ COPY docker/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo # devtoolset-8 installed due to newer mini_racer requirement of newer g++ # Also install ChromeDriver # TODO: are we using httpd? -RUN yum -y update \ -&& yum -y install epel-release \ -&& yum -y install centos-release-scl-rh centos-release-scl \ -&& yum -y install libyaml libyaml-devel \ -&& yum -y --enablerepo=centos-sclo-rh install rh-ruby30 rh-ruby30-ruby-devel \ -&& yum -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm \ -&& yum -y install gcc gcc-c++ zlib-devel devtoolset-8 postgresql14 libpq5-devel libxslt-devel \ -&& yum -y install git libreoffice clamav-devel clamav clamav-update clamd redhat-lsb libXScrnSaver wget unzip \ -&& yum -y install ghostscript GraphicsMagick \ -&& yum -y install chromium \ -&& yum -y install rh-nodejs14 \ -&& yum install -y python3 \ -&& yum clean all && rm -rf /var/cache/yum \ +RUN dnf -y update \ +&& dnf -y install epel-release \ +&& dnf config-manager --set-enabled powertools \ +&& dnf -y install gcc gcc-c++ make git \ +&& dnf -y install libyaml libyaml-devel libxml2-devel libxslt-devel zlib-devel \ +&& dnf -y install libsass libsass-devel \ +&& dnf -y module enable ruby:3.0 nodejs:14 \ +&& dnf -y install ruby ruby-devel \ +&& dnf -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-aarch64/pgdg-redhat-repo-latest.noarch.rpm \ +&& dnf -qy module disable postgresql \ +&& dnf install -y python3 python3-devel \ +&& dnf -y install nodejs-devel npm \ +&& dnf -y install postgresql14 postgresql14-devel postgresql14-libs libxslt-devel \ +# Create symlinks for standard paths so bundler can find postgres config +&& ln -s /usr/pgsql-14 /usr/pgsql \ +&& ln -s /usr/pgsql-14/bin/pg_config /usr/local/bin/pg_config \ +&& dnf -y install git libreoffice-core clamav-devel clamav clamav-update clamd redhat-lsb-core libXScrnSaver wget unzip \ +&& dnf -y install ghostscript GraphicsMagick \ +&& dnf -y install chromium \ +&& dnf clean all && rm -rf /var/cache/yum \ && wget -q -P /tmp "https://github.com/harvard-lts/fits/releases/download/1.5.5/fits-1.5.5.zip" \ && mkdir /fits \ && unzip /tmp/fits-1.5.5.zip -d /fits/fits-1.5.5 \ && rm -f /tmp/fits-1.5.5.zip \ -&& echo "source scl_source enable devtoolset-8" >> /etc/bashrc \ -&& echo "source scl_source enable rh-ruby30" >> /etc/bashrc \ -&& scl enable rh-nodejs14 -- npm install yarn -g \ -&& scl enable rh-nodejs14 -- yarn \ -&& yum -y update ca-certificates +&& npm install yarn -g \ +&& yarn \ +&& dnf -y update ca-certificates ENV PATH "/fits:$PATH" COPY docker/fits.xml /fits/fits-1.5.5/xml/fits.xml @@ -56,9 +59,9 @@ COPY Gemfile* /hyrax/ WORKDIR /hyrax ENV BUNDLER_ALLOW_ROOT=1 -RUN scl enable devtoolset-8 rh-ruby30 -- gem install rubygems-update \ -&& scl enable devtoolset-8 rh-ruby30 -- update_rubygems \ -&& scl enable devtoolset-8 rh-ruby30 -- gem update --system +RUN gem install rubygems-update \ +&& update_rubygems \ +&& gem update --system # Create FTP directories RUN mkdir -p /opt/data/ftp/proquest && mkdir -p /opt/data/ftp/sage diff --git a/Gemfile b/Gemfile index cefd9b455..7cebfa869 100644 --- a/Gemfile +++ b/Gemfile @@ -20,14 +20,17 @@ gem 'bulkrax', '6.0.1' gem 'clamav-client', require: 'clamav/client' # Use CoffeeScript for .coffee assets and views gem 'coffee-rails', '~> 5.0.0' +gem 'concurrent-ruby', '1.3.4' gem 'devise', '~> 4.8.0' gem 'devise-guests', '~> 0.8.1' gem 'edtf-humanize', '~> 2.1' # See https://github.com/rails/execjs#readme for more supported runtimes gem 'execjs', '2.8.1' gem 'httparty', '~>0.21.0' -gem 'hydra-editor', '~> 6.0' -gem 'hydra-role-management', '~> 1.0' +gem 'hydra-editor', '~> 6.2.0' +gem 'hydra-pcdm', '~> 1.3.0' +gem 'hydra-role-management', '~> 1.1.0' +gem 'hydra-works', '~> 2.1.0' gem 'hyrax', git: 'https://github.com/UNC-Libraries/hyrax.git', branch: 'unc-hyrax-4-development' # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder gem 'jbuilder', '~> 2.11.2' @@ -35,7 +38,6 @@ gem 'jbuilder', '~> 2.11.2' gem 'jquery-rails', '~> 4.5.0' gem 'json-canonicalization', '0.3.1' gem 'json-ld', '~> 3.2' -gem 'libv8', '~> 7.3' # linkeddata gem is released with rdf gems and should be the same version as rdf gem 'sparql', '3.2.5' gem 'ldp', '~> 1.1' @@ -43,8 +45,7 @@ gem 'linkeddata' gem 'logger', '1.5.3' gem 'loofah', '~>2.19.1' gem 'mini_magick', '~>4.12.0' -gem 'mini_racer', '~> 0.2.15', platforms: :ruby -gem 'nokogiri', '~>1.14.2' +gem 'nokogiri', '~>1.14.2', platforms: :ruby gem 'omniauth', '~> 2.0' gem 'omniauth-rails_csrf_protection' gem 'omniauth-shibboleth', '~> 1.3' @@ -54,7 +55,7 @@ gem 'passenger', '6.0.22', require: 'phusion_passenger/rack_handler' gem 'pg', '~> 1.3.5' # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' gem 'rails', '~> 6.0' -gem 'rdf', git: 'https://github.com/ruby-rdf/rdf.git', branch: '3.2.11-patch' +gem 'rdf', '~> 3.3.4' # Use Redis adapter to run Action Cable in production gem 'redis', '~> 4.5.0' gem 'redlock' # version determined by hyrax @@ -65,6 +66,7 @@ gem 'rsolr', '~> 2.5.0' gem 'sass-rails', '~> 6.0.0' gem 'sidekiq', '~> 6.5' gem 'sidekiq-status', '~> 3.0.0' +gem 'sprockets', '3.7.2' # Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks gem 'turbolinks', '~> 5.2.1' gem 'twitter-typeahead-rails', '0.11.1.pre.corejavascript' @@ -77,12 +79,13 @@ group :development, :test do gem 'database_cleaner' gem 'fcrepo_wrapper', '~> 0.9.0' gem 'rspec-rails', '~> 5.1.2' - # Rubocop for style and error checking (linter) - gem 'rubocop' + # Rubocop for style and error checking (linter), locking version for now since newer versions have more rules + gem 'rubocop', '~> 1.58.0' gem 'rubocop-rails' gem 'rubocop-rspec' gem 'solr_wrapper', '~> 4.0.2' - gem 'rubocop-github' + # Locking for now otherwise newer versions reject some of the rules + gem 'rubocop-github', '~> 0.20.0' gem 'rubocop-performance', require: false end @@ -95,6 +98,7 @@ end group :test do gem 'capybara', '~> 3.36' + gem 'equivalent-xml', '~> 0.6' gem 'factory_bot_rails', '~> 6.2.0' gem 'ffaker' gem 'rspec-mocks' diff --git a/Gemfile.lock b/Gemfile.lock index 084922e36..0817c1de3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,6 +1,6 @@ GIT remote: https://github.com/UNC-Libraries/hyrax.git - revision: 40e18c4a0b685a96f3663fde36bc87395d29e890 + revision: 455b1800f318d4b18c1e422dd409c6a22af89a8d branch: unc-hyrax-4-development specs: hyrax (4.0.0) @@ -58,51 +58,43 @@ GIT valkyrie (~> 3.0.1) view_component (~> 2.74.1) -GIT - remote: https://github.com/ruby-rdf/rdf.git - revision: 01cd7b6fc15af0ca97b8543e460abe8dd8b41991 - branch: 3.2.11-patch - specs: - rdf (3.2.11) - link_header (~> 0.0, >= 0.0.8) - GEM remote: https://rubygems.org/ specs: - actioncable (6.1.7.6) - actionpack (= 6.1.7.6) - activesupport (= 6.1.7.6) + actioncable (6.1.7.10) + actionpack (= 6.1.7.10) + activesupport (= 6.1.7.10) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (6.1.7.6) - actionpack (= 6.1.7.6) - activejob (= 6.1.7.6) - activerecord (= 6.1.7.6) - activestorage (= 6.1.7.6) - activesupport (= 6.1.7.6) + actionmailbox (6.1.7.10) + actionpack (= 6.1.7.10) + activejob (= 6.1.7.10) + activerecord (= 6.1.7.10) + activestorage (= 6.1.7.10) + activesupport (= 6.1.7.10) mail (>= 2.7.1) - actionmailer (6.1.7.6) - actionpack (= 6.1.7.6) - actionview (= 6.1.7.6) - activejob (= 6.1.7.6) - activesupport (= 6.1.7.6) + actionmailer (6.1.7.10) + actionpack (= 6.1.7.10) + actionview (= 6.1.7.10) + activejob (= 6.1.7.10) + activesupport (= 6.1.7.10) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (6.1.7.6) - actionview (= 6.1.7.6) - activesupport (= 6.1.7.6) + actionpack (6.1.7.10) + actionview (= 6.1.7.10) + activesupport (= 6.1.7.10) rack (~> 2.0, >= 2.0.9) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) - actiontext (6.1.7.6) - actionpack (= 6.1.7.6) - activerecord (= 6.1.7.6) - activestorage (= 6.1.7.6) - activesupport (= 6.1.7.6) + actiontext (6.1.7.10) + actionpack (= 6.1.7.10) + activerecord (= 6.1.7.10) + activestorage (= 6.1.7.10) + activesupport (= 6.1.7.10) nokogiri (>= 1.8.5) - actionview (6.1.7.6) - activesupport (= 6.1.7.6) + actionview (6.1.7.10) + activesupport (= 6.1.7.10) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) @@ -125,72 +117,76 @@ GEM active_encode (0.8.2) rails sprockets (< 4) - activejob (6.1.7.6) - activesupport (= 6.1.7.6) + activejob (6.1.7.10) + activesupport (= 6.1.7.10) globalid (>= 0.3.6) - activemodel (6.1.7.6) - activesupport (= 6.1.7.6) - activemodel-serializers-xml (1.0.2) - activemodel (> 5.x) - activesupport (> 5.x) + activemodel (6.1.7.10) + activesupport (= 6.1.7.10) + activemodel-serializers-xml (1.0.3) + activemodel (>= 5.0.0.a) + activesupport (>= 5.0.0.a) builder (~> 3.1) - activerecord (6.1.7.6) - activemodel (= 6.1.7.6) - activesupport (= 6.1.7.6) - activerecord-import (1.5.1) + activerecord (6.1.7.10) + activemodel (= 6.1.7.10) + activesupport (= 6.1.7.10) + activerecord-import (2.2.0) activerecord (>= 4.2) - activestorage (6.1.7.6) - actionpack (= 6.1.7.6) - activejob (= 6.1.7.6) - activerecord (= 6.1.7.6) - activesupport (= 6.1.7.6) + activestorage (6.1.7.10) + actionpack (= 6.1.7.10) + activejob (= 6.1.7.10) + activerecord (= 6.1.7.10) + activesupport (= 6.1.7.10) marcel (~> 1.0) mini_mime (>= 1.1.0) - activesupport (6.1.7.6) + activesupport (6.1.7.10) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) tzinfo (~> 2.0) zeitwerk (~> 2.3) - addressable (2.8.5) - public_suffix (>= 2.0.2, < 6.0) + addressable (2.8.7) + public_suffix (>= 2.0.2, < 7.0) almond-rails (0.3.0) rails (>= 4.2) - ast (2.4.2) - autoprefixer-rails (10.4.16.0) + ast (2.4.3) + autoprefixer-rails (10.4.21.0) execjs (~> 2) - awesome_nested_set (3.6.0) - activerecord (>= 4.0.0, < 7.2) - aws-eventstream (1.3.0) - aws-partitions (1.893.0) - aws-sdk-core (3.191.2) + awesome_nested_set (3.8.0) + activerecord (>= 4.0.0, < 8.1) + aws-eventstream (1.4.0) + aws-partitions (1.1171.0) + aws-sdk-core (3.233.0) aws-eventstream (~> 1, >= 1.3.0) - aws-partitions (~> 1, >= 1.651.0) - aws-sigv4 (~> 1.8) + aws-partitions (~> 1, >= 1.992.0) + aws-sigv4 (~> 1.9) base64 + bigdecimal jmespath (~> 1, >= 1.6.1) - aws-sdk-kms (1.77.0) - aws-sdk-core (~> 3, >= 3.191.0) - aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.143.0) - aws-sdk-core (~> 3, >= 3.191.0) + logger + aws-sdk-kms (1.113.0) + aws-sdk-core (~> 3, >= 3.231.0) + aws-sigv4 (~> 1.5) + aws-sdk-s3 (1.199.1) + aws-sdk-core (~> 3, >= 3.231.0) aws-sdk-kms (~> 1) - aws-sigv4 (~> 1.8) - aws-sigv4 (1.8.0) + aws-sigv4 (~> 1.5) + aws-sigv4 (1.12.1) aws-eventstream (~> 1, >= 1.0.2) babel-source (5.8.35) babel-transpiler (0.7.0) babel-source (>= 4.0, < 6) execjs (~> 2.0) - bagit (0.4.6) + bagit (0.6.0) docopt (~> 0.5.0) validatable (~> 1.6) base64 (0.1.0) bcp47 (0.3.3) i18n + bcp47_spec (0.2.1) bcrypt (3.1.20) + bigdecimal (3.3.1) bindex (0.8.1) - blacklight (7.40.0) + blacklight (7.41.0) deprecation globalid hashdiff @@ -198,16 +194,16 @@ GEM jbuilder (~> 2.7) kaminari (>= 0.15) ostruct (>= 0.3.2) - rails (>= 6.1, < 7.3) + rails (>= 6.1, < 8.1) view_component (>= 2.74, < 4) zeitwerk - blacklight-access_controls (6.0.1) - blacklight (> 6.0, < 8) + blacklight-access_controls (6.1.0) + blacklight (> 6.0, < 9) cancancan (>= 1.8) deprecation (~> 1.0) - blacklight-gallery (4.4.0) + blacklight-gallery (4.9.0) blacklight (>= 7.17, < 9) - rails (>= 6.1, < 8) + rails (>= 6.1, < 9) blacklight_advanced_search (8.0.0.alpha2) blacklight (>= 7.15, < 9) parslet @@ -221,26 +217,25 @@ GEM blacklight_range_limit (8.3.0) blacklight (>= 7.25.2, < 9) deprecation - bootstrap (4.6.2) + bootstrap (4.6.2.1) autoprefixer-rails (>= 9.1.0) popper_js (>= 1.16.1, < 2) - sassc-rails (>= 2.0.0) - bootstrap_form (5.1.0) - actionpack (>= 5.2) - activemodel (>= 5.2) + bootstrap_form (5.4.0) + actionpack (>= 6.1) + activemodel (>= 6.1) breadcrumbs_on_rails (3.0.1) - browse-everything (1.3.0) + browse-everything (1.6.0) addressable (~> 2.5) aws-sdk-s3 dropbox_api (>= 0.1.20) + faraday (~> 2.0) google-apis-drive_v3 googleauth (>= 0.6.6, < 2.0) - rails (>= 4.2, < 7.2) + rails (>= 4.2, < 8.1) ruby-box signet (~> 0.8) - typhoeus browser (5.3.1) - builder (3.2.4) + builder (3.3.0) bulkrax (6.0.1) bagit (~> 0.4) coderay @@ -256,12 +251,12 @@ GEM rubyzip simple_form byebug (11.1.3) - cancancan (3.5.0) - capybara (3.39.2) + cancancan (3.6.1) + capybara (3.40.0) addressable matrix mini_mime (>= 0.1.3) - nokogiri (~> 1.8) + nokogiri (~> 1.11) rack (>= 1.6.0) rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) @@ -283,18 +278,20 @@ GEM coffee-script-source execjs coffee-script-source (1.12.2) - concurrent-ruby (1.2.2) - connection_pool (2.4.1) - crack (0.4.5) + concurrent-ruby (1.3.4) + connection_pool (2.5.4) + crack (1.0.0) + bigdecimal rexml crass (1.0.6) - database_cleaner (2.0.2) + csv (3.3.5) + database_cleaner (2.1.0) database_cleaner-active_record (>= 2, < 3) - database_cleaner-active_record (2.1.0) + database_cleaner-active_record (2.2.2) activerecord (>= 5.a) - database_cleaner-core (~> 2.0.0) + database_cleaner-core (~> 2.0) database_cleaner-core (2.0.1) - date (3.3.4) + date (3.4.1) declarative (0.0.20) deprecation (1.1.0) activesupport @@ -304,16 +301,16 @@ GEM railties (>= 4.1.0) responders warden (~> 1.2.3) - devise-guests (0.8.1) + devise-guests (0.8.3) devise - diff-lcs (1.5.0) + diff-lcs (1.6.2) disposable (0.6.3) declarative (>= 0.0.9, < 1.0.0) representable (>= 3.1.1, < 4) - docile (1.4.0) + docile (1.4.1) docopt (0.5.0) - domain_name (0.6.20231109) - draper (4.0.2) + domain_name (0.6.20240107) + draper (4.0.4) actionpack (>= 5.0) activemodel (>= 5.0) activemodel-serializers-xml (>= 1.0) @@ -379,91 +376,97 @@ GEM scanf (~> 1.0) sxp (~> 1.2) unicode-types (~> 1.8) - edtf (3.1.1) - activesupport (>= 3.0, < 8.0) - edtf-humanize (2.2.0) + edtf (3.2.0) + activesupport (>= 3.0, < 9.0) + edtf-humanize (2.3.0) activesupport (>= 4) edtf (>= 2.3, < 4) roman (~> 0.2.0) equivalent-xml (0.6.0) nokogiri (>= 1.4.3) - erubi (1.12.0) - ethon (0.16.0) - ffi (>= 1.15.0) + erubi (1.13.1) execjs (2.8.1) factory_bot (6.2.1) activesupport (>= 5.0.0) factory_bot_rails (6.2.0) factory_bot (~> 6.2.0) railties (>= 5.0.0) - faraday (2.7.12) - base64 - faraday-net_http (>= 2.0, < 3.1) - ruby2_keywords (>= 0.0.4) - faraday-encoding (0.0.5) + faraday (2.14.0) + faraday-net_http (>= 2.0, < 3.5) + json + logger + faraday-encoding (0.0.6) faraday - faraday-follow_redirects (0.3.0) + faraday-follow_redirects (0.4.0) faraday (>= 1, < 3) - faraday-multipart (1.0.4) - multipart-post (~> 2) - faraday-net_http (3.0.2) + faraday-multipart (1.1.1) + multipart-post (~> 2.0) + faraday-net_http (3.4.1) + net-http (>= 0.5.0) fcrepo_wrapper (0.9.0) ruby-progressbar - ffaker (2.21.0) - ffi (1.16.3) - ffi-compiler (1.0.1) - ffi (>= 1.0.0) + ffaker (2.24.0) + ffi (1.17.2) + ffi-compiler (1.3.2) + ffi (>= 1.15.5) rake - flipflop (2.7.1) + flipflop (2.8.0) activesupport (>= 4.0) terminal-table (>= 1.8) flot-rails (0.0.7) jquery-rails - font-awesome-rails (4.7.0.8) - railties (>= 3.2, < 8.0) - geocoder (1.8.2) - globalid (1.2.1) + font-awesome-rails (4.7.0.9) + railties (>= 3.2, < 9.0) + geocoder (1.8.6) + base64 (>= 0.1.0) + csv (>= 3.0.0) + globalid (1.3.0) activesupport (>= 6.1) - google-apis-core (0.13.0) + google-apis-core (0.16.0) addressable (~> 2.5, >= 2.5.1) googleauth (~> 1.9) - httpclient (>= 2.8.1, < 3.a) + httpclient (>= 2.8.3, < 3.a) mini_mime (~> 1.0) + mutex_m representable (~> 3.0) retriable (>= 2.0, < 4.a) - rexml - google-apis-drive_v3 (0.48.0) - google-apis-core (>= 0.12.0, < 2.a) - google-cloud-env (2.1.1) + google-apis-drive_v3 (0.63.0) + google-apis-core (>= 0.15.0, < 2.a) + google-cloud-env (2.2.1) faraday (>= 1.0, < 3.a) - googleauth (1.11.0) + google-logging-utils (0.1.0) + googleauth (1.15.0) faraday (>= 1.0, < 3.a) - google-cloud-env (~> 2.1) - jwt (>= 1.4, < 3.0) + google-cloud-env (~> 2.2) + google-logging-utils (~> 0.1) + jwt (>= 1.4, < 4.0) multi_json (~> 1.11) os (>= 0.9, < 2.0) signet (>= 0.16, < 2.a) - haml (6.2.3) + haml (6.3.0) temple (>= 0.8.2) thor tilt - hashdiff (1.0.1) + hamster (3.0.0) + concurrent-ruby (~> 1.0) + hashdiff (1.2.1) hashie (5.0.0) hiredis (0.6.3) htmlentities (4.3.4) - http (5.1.1) + http (5.3.1) addressable (~> 2.8) http-cookie (~> 1.0) http-form_data (~> 2.2) - llhttp-ffi (~> 0.4.0) - http-cookie (1.0.5) + llhttp-ffi (~> 0.5.0) + http-cookie (1.1.0) domain_name (~> 0.5) http-form_data (2.3.0) - http_logger (0.7.0) + http_logger (1.0.1) httparty (0.21.0) mini_mime (>= 1.0.0) multi_xml (>= 0.5.2) - httpclient (2.8.3) + httpclient (2.9.0) + mutex_m hydra-access-controls (12.1.0) active-fedora (>= 10.0.0) activesupport (>= 5.2, < 7.1) @@ -514,13 +517,14 @@ GEM hydra-derivatives (~> 3.6) hydra-file_characterization (~> 1.0) hydra-pcdm (>= 0.9) - i18n (1.14.1) + i18n (1.14.7) concurrent-ruby (~> 1.0) ice_nine (0.11.2) - iiif-image-api (0.2.0) + iiif-image-api (0.3.0) activesupport - iiif_manifest (1.4.0) + iiif_manifest (1.6.0) activesupport (>= 4) + io-console (0.8.1) iso8601 (0.9.1) jbuilder (2.11.5) actionview (>= 5.0.0) @@ -530,7 +534,7 @@ GEM rails-dom-testing (>= 1, < 3) railties (>= 4.2.0) thor (>= 0.14, < 2.0) - json (2.7.1) + json (2.15.1) json-canonicalization (0.3.1) json-ld (3.2.4) htmlentities (~> 4.3) @@ -539,12 +543,13 @@ GEM multi_json (~> 1.15) rack (>= 2.2, < 4) rdf (~> 3.2, >= 3.2.10) - json-ld-preloaded (3.1.6) - json-ld (~> 3.1) - rdf (~> 3.1) - json-schema (4.1.1) - addressable (>= 2.8) - jwt (2.8.0) + json-ld-preloaded (3.2.2) + json-ld (~> 3.2) + rdf (~> 3.2) + json-schema (5.2.2) + addressable (~> 2.8) + bigdecimal (~> 3.1) + jwt (2.10.2) base64 kaminari (1.2.2) activesupport (>= 4.1.0) @@ -559,64 +564,65 @@ GEM kaminari-core (= 1.2.2) kaminari-core (1.2.2) language_list (1.2.1) - language_server-protocol (3.17.0.3) + language_server-protocol (3.17.0.5) ld-patch (3.2.2) ebnf (~> 2.3) rdf (~> 3.2) rdf-xsd (~> 3.2) sparql (~> 3.2) sxp (~> 1.2) - ldp (1.2.0) + ldp (1.2.1) deprecation faraday (>= 1) http_logger json-ld (~> 3.2) rdf (~> 3.2) rdf-isomorphic - rdf-ldp + rdf-ldp (>= 2.1) rdf-turtle rdf-vocab (>= 0.8) slop - ldpath (1.1.0) + ldpath (1.2.0) nokogiri (~> 1.8) parslet rdf (~> 3.0) + rdf-vocab (~> 3.0) legato (0.7.0) multi_json - libv8 (7.3.492.27.1-x86_64-linux) libxml-ruby (3.2.4) link_header (0.0.8) - linkeddata (3.1.6) - equivalent-xml (~> 0.6) - json-ld (~> 3.1, >= 3.1.10) - json-ld-preloaded (~> 3.1, >= 3.1.6) - ld-patch (~> 3.1, >= 3.1.3) - nokogiri (~> 1.12) - rdf (~> 3.1, >= 3.1.15) - rdf-aggregate-repo (~> 3.1) - rdf-isomorphic (~> 3.1, >= 3.1.1) - rdf-json (~> 3.1) - rdf-microdata (~> 3.1, >= 3.1.4) - rdf-n3 (~> 3.1, >= 3.1.2) - rdf-normalize (~> 0.4) - rdf-ordered-repo (~> 3.1, >= 3.1.1) - rdf-rdfa (~> 3.1, >= 3.1.3) - rdf-rdfxml (~> 3.1, >= 3.1.1) - rdf-reasoner (~> 0.7, >= 0.7.2) - rdf-tabular (~> 3.1, >= 3.1.1) - rdf-trig (~> 3.1, >= 3.1.2) - rdf-trix (~> 3.1, >= 3.1.1) - rdf-turtle (~> 3.1, >= 3.1.3) - rdf-vocab (~> 3.1, >= 3.1.14) - rdf-xsd (~> 3.1, >= 3.1.1) - shacl (~> 0.1, >= 0.1.1) - shex (~> 0.6, >= 0.6.4) - sparql (~> 3.1, >= 3.1.8) - sparql-client (~> 3.1, >= 3.1.2) + linkeddata (3.2.1) + json-ld (~> 3.2, >= 3.2.3) + json-ld-preloaded (~> 3.2) + ld-patch (~> 3.2) + nokogiri (~> 1.13, >= 1.13.8) + rdf (~> 3.2, >= 3.2.9) + rdf-aggregate-repo (~> 3.2, >= 3.2.1) + rdf-hamster-repo (~> 3.2) + rdf-isomorphic (~> 3.2, >= 3.2.1) + rdf-json (~> 3.2) + rdf-microdata (~> 3.2, >= 3.2.1) + rdf-n3 (~> 3.2, >= 3.2.1) + rdf-normalize (~> 0.5) + rdf-ordered-repo (~> 3.2, >= 3.2.1) + rdf-rdfa (~> 3.2) + rdf-rdfxml (~> 3.2) + rdf-reasoner (~> 0.8) + rdf-tabular (~> 3.2, >= 3.2.1) + rdf-trig (~> 3.2) + rdf-trix (~> 3.2) + rdf-turtle (~> 3.2, >= 3.2.1) + rdf-vocab (~> 3.2, >= 3.2.1) + rdf-xsd (~> 3.2, >= 3.2.1) + shacl (~> 0.2, >= 0.2.1) + shex (~> 0.7, >= 0.7.1) + sparql (~> 3.2, >= 3.2.4) + sparql-client (~> 3.2, >= 3.2.1) + yaml-ld (~> 0.0) listen (3.7.1) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) - llhttp-ffi (0.4.0) + llhttp-ffi (0.5.1) ffi-compiler (~> 1.0) rake (~> 13.0) logger (1.5.3) @@ -631,74 +637,82 @@ GEM mailboxer (0.15.1) carrierwave (>= 0.5.8) rails (>= 5.0.0) - marcel (1.0.2) - matrix (0.4.2) - method_source (1.0.0) - mime-types (3.5.2) - mime-types-data (~> 3.2015) - mime-types-data (3.2024.0206) + marcel (1.1.0) + matrix (0.4.3) + method_source (1.1.0) + mime-types (3.7.0) + logger + mime-types-data (~> 3.2025, >= 3.2025.0507) + mime-types-data (3.2025.0924) mini_magick (4.12.0) mini_mime (1.1.5) - mini_racer (0.2.15) - libv8 (> 7.3) - minitar (0.9) - minitest (5.20.0) - multi_json (1.15.0) + mini_portile2 (2.8.9) + minitar (0.12.1) + minitest (5.26.0) + multi_json (1.17.0) multi_xml (0.6.0) - multipart-post (2.4.0) + multipart-post (2.4.1) + mustermann (2.0.2) + ruby2_keywords (~> 0.0.1) + mutex_m (0.3.0) nest (3.2.0) redic - net-http-persistent (4.0.2) - connection_pool (~> 2.2) - net-imap (0.4.7) + net-http (0.6.0) + uri + net-http-persistent (4.0.6) + connection_pool (~> 2.2, >= 2.2.4) + net-imap (0.4.22) date net-protocol net-pop (0.1.2) net-protocol net-protocol (0.2.2) timeout - net-smtp (0.4.0) + net-smtp (0.5.1) net-protocol - nio4r (2.7.0) + nio4r (2.7.4) noid (0.9.0) - noid-rails (3.1.0) - actionpack (>= 5.0.0, < 7.1) + noid-rails (3.3.0) + actionpack (>= 5.0.0, < 9) noid (~> 0.9) - nokogiri (1.14.5-x86_64-linux) + nokogiri (1.14.5) + mini_portile2 (~> 2.8.0) racc (~> 1.4) numerizer (0.1.1) - oai (1.2.1) + oai (1.3.0) builder (>= 3.1.0) faraday (< 3) faraday-follow_redirects (>= 0.3.0, < 2) - oauth (1.1.0) - oauth-tty (~> 1.0, >= 1.0.1) + rexml + oauth (1.1.2) + oauth-tty (~> 1.0, >= 1.0.6) snaky_hash (~> 2.0) - version_gem (~> 1.1) - oauth-tty (1.0.5) - version_gem (~> 1.1, >= 1.1.1) + version_gem (~> 1.1, >= 1.1.9) + oauth-tty (1.0.6) + version_gem (~> 1.1, >= 1.1.9) oauth2 (1.4.11) faraday (>= 0.17.3, < 3.0) jwt (>= 1.0, < 3.0) multi_json (~> 1.3) multi_xml (~> 0.5) rack (>= 1.2, < 4) - omniauth (2.1.1) + omniauth (2.1.4) hashie (>= 3.4.6) + logger rack (>= 2.2.3) rack-protection - omniauth-rails_csrf_protection (1.0.1) + omniauth-rails_csrf_protection (1.0.2) actionpack (>= 4.2) omniauth (~> 2.0) omniauth-shibboleth (1.3.0) omniauth (>= 1.0.0) - openseadragon (0.6.0) - rails (> 3.2.0) + openseadragon (1.0.17) + rails (> 6.1.0) orm_adapter (0.5.0) os (1.1.4) - ostruct (0.6.1) - parallel (1.23.0) - parser (3.2.2.4) + ostruct (0.6.3) + parallel (1.27.0) + parser (3.3.9.0) ast (~> 2.4.1) racc parslet (2.0.0) @@ -708,41 +722,49 @@ GEM pg (1.3.5) popper_js (1.16.1) posix-spawn (0.3.15) + prism (1.5.2) psych (3.3.4) - public_suffix (5.0.4) - puma (6.4.0) + public_suffix (6.0.2) + puma (7.0.4) nio4r (~> 2.0) - qa (5.11.0) + qa (5.15.0) activerecord-import deprecation faraday (< 3.0, != 2.0.0) geocoder ldpath nokogiri (~> 1.6) - rails (>= 5.0, < 7.2) + rails (>= 5.0, < 8.1) rdf - racc (1.7.3) - rack (2.2.8) - rack-protection (3.1.0) - rack (~> 2.2, >= 2.2.4) - rack-test (2.1.0) + racc (1.8.1) + rack (2.2.20) + rack-linkeddata (3.2.1) + linkeddata (~> 3.2) + rack (~> 2.1) + rack-rdf (~> 3.2) + rack-protection (2.2.4) + rack + rack-rdf (3.2.3) + rack (>= 2.2, < 4) + rdf (~> 3.2) + rack-test (2.2.0) rack (>= 1.3) - rails (6.1.7.6) - actioncable (= 6.1.7.6) - actionmailbox (= 6.1.7.6) - actionmailer (= 6.1.7.6) - actionpack (= 6.1.7.6) - actiontext (= 6.1.7.6) - actionview (= 6.1.7.6) - activejob (= 6.1.7.6) - activemodel (= 6.1.7.6) - activerecord (= 6.1.7.6) - activestorage (= 6.1.7.6) - activesupport (= 6.1.7.6) + rails (6.1.7.10) + actioncable (= 6.1.7.10) + actionmailbox (= 6.1.7.10) + actionmailer (= 6.1.7.10) + actionpack (= 6.1.7.10) + actiontext (= 6.1.7.10) + actionview (= 6.1.7.10) + activejob (= 6.1.7.10) + activemodel (= 6.1.7.10) + activerecord (= 6.1.7.10) + activestorage (= 6.1.7.10) + activesupport (= 6.1.7.10) bundler (>= 1.15.0) - railties (= 6.1.7.6) + railties (= 6.1.7.10) sprockets-rails (>= 2.0.0) - rails-dom-testing (2.2.0) + rails-dom-testing (2.3.0) activesupport (>= 5.0.0) minitest nokogiri (>= 1.6) @@ -752,26 +774,43 @@ GEM actionview (> 3.1) activesupport (> 3.1) railties (> 3.1) - railties (6.1.7.6) - actionpack (= 6.1.7.6) - activesupport (= 6.1.7.6) + railties (6.1.7.10) + actionpack (= 6.1.7.10) + activesupport (= 6.1.7.10) method_source rake (>= 12.2) thor (~> 1.0) rainbow (3.1.1) - rake (13.1.0) + rake (13.3.0) rb-fsevent (0.11.2) - rb-inotify (0.10.1) + rb-inotify (0.11.1) ffi (~> 1.0) + rdf (3.3.4) + bcp47_spec (~> 0.2) + bigdecimal (~> 3.1, >= 3.1.5) + link_header (~> 0.0, >= 0.0.8) + logger (~> 1.5) + ostruct (~> 0.6) + readline (~> 0.0) rdf-aggregate-repo (3.2.1) rdf (~> 3.2) + rdf-hamster-repo (3.2.1) + hamster (~> 3.0) + rdf (~> 3.2, >= 3.2.1) rdf-isomorphic (3.2.1) rdf (~> 3.2) rdf-json (3.2.0) rdf (~> 3.2) - rdf-ldp (0.1.0) - deprecation - rdf + rdf-ldp (2.1.0) + json-ld (~> 3.2) + ld-patch (~> 3.2) + link_header (~> 0.0, >= 0.0.8) + rack (~> 2.2) + rack-linkeddata (~> 3.1) + rdf (~> 3.2) + rdf-turtle (~> 3.2) + rdf-vocab (~> 3.2) + sinatra (~> 2.1) rdf-microdata (3.2.1) htmlentities (~> 4.3) nokogiri (~> 1.13) @@ -802,13 +841,13 @@ GEM rdf-reasoner (0.8.0) rdf (~> 3.2) rdf-xsd (~> 3.2) - rdf-tabular (3.1.1) - addressable (~> 2.3) + rdf-tabular (3.2.1) + addressable (~> 2.8) bcp47 (~> 0.3, >= 0.3.3) - json-ld (~> 3.1) - rdf (~> 3.1) - rdf-vocab (~> 3.1) - rdf-xsd (~> 3.1) + json-ld (~> 3.2) + rdf (~> 3.2, >= 3.2.7) + rdf-vocab (~> 3.2) + rdf-xsd (~> 3.2) rdf-trig (3.2.0) ebnf (~> 2.2) rdf (~> 3.2) @@ -824,6 +863,8 @@ GEM rdf-xsd (3.2.1) rdf (~> 3.2) rexml (~> 3.2) + readline (0.0.4) + reline redic (1.5.3) hiredis redis (4.5.1) @@ -838,18 +879,20 @@ GEM reform-rails (0.2.6) activemodel (>= 5.0) reform (>= 2.3.1, < 3.0.0) - regexp_parser (2.8.3) + regexp_parser (2.11.3) + reline (0.6.2) + io-console (~> 0.5) representable (3.2.0) declarative (< 0.1.0) trailblazer-option (>= 0.1.1, < 0.2.0) uber (< 0.2.0) - request_store (1.6.0) + request_store (1.7.0) rack (>= 1.4) responders (3.1.1) actionpack (>= 5.2) railties (>= 5.2) retriable (3.1.2) - rexml (3.2.6) + rexml (3.4.4) riiif (2.5.0) deprecation (>= 1.0.0) iiif-image-api (>= 0.1.0) @@ -861,14 +904,14 @@ GEM rsolr (2.5.0) builder (>= 2.1.2) faraday (>= 0.9, < 3, != 2.0.0) - rspec-core (3.12.2) - rspec-support (~> 3.12.0) - rspec-expectations (3.12.3) + rspec-core (3.13.5) + rspec-support (~> 3.13.0) + rspec-expectations (3.13.5) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.12.0) - rspec-mocks (3.12.6) + rspec-support (~> 3.13.0) + rspec-mocks (3.13.6) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.12.0) + rspec-support (~> 3.13.0) rspec-rails (5.1.2) actionpack (>= 5.2) activesupport (>= 5.2) @@ -877,7 +920,7 @@ GEM rspec-expectations (~> 3.10) rspec-mocks (~> 3.10) rspec-support (~> 3.10) - rspec-support (3.12.1) + rspec-support (3.13.6) rubocop (1.58.0) json (~> 2.3) language_server-protocol (>= 3.17.0) @@ -889,28 +932,23 @@ GEM rubocop-ast (>= 1.30.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 2.4.0, < 3.0) - rubocop-ast (1.30.0) - parser (>= 3.2.1.0) - rubocop-capybara (2.19.0) - rubocop (~> 1.41) - rubocop-factory_bot (2.24.0) - rubocop (~> 1.33) + rubocop-ast (1.47.1) + parser (>= 3.3.7.2) + prism (~> 1.4) rubocop-github (0.20.0) rubocop (>= 1.37) rubocop-performance (>= 1.15) rubocop-rails (>= 2.17) - rubocop-performance (1.19.1) - rubocop (>= 1.7.0, < 2.0) - rubocop-ast (>= 0.4.0) - rubocop-rails (2.22.2) + rubocop-performance (1.23.1) + rubocop (>= 1.48.1, < 2.0) + rubocop-ast (>= 1.31.1, < 2.0) + rubocop-rails (2.29.1) activesupport (>= 4.2.0) rack (>= 1.1) - rubocop (>= 1.33.0, < 2.0) - rubocop-ast (>= 1.30.0, < 2.0) - rubocop-rspec (2.25.0) + rubocop (>= 1.52.0, < 2.0) + rubocop-ast (>= 1.31.1, < 2.0) + rubocop-rspec (3.0.0) rubocop (~> 1.40) - rubocop-capybara (~> 2.17) - rubocop-factory_bot (~> 2.22) ruby-box (1.15.0) addressable json @@ -918,7 +956,7 @@ GEM oauth2 ruby-progressbar (1.13.0) ruby2_keywords (0.0.5) - rubyzip (2.3.2) + rubyzip (2.4.1) sass-rails (6.0.0) sassc-rails (~> 2.1, >= 2.1.1) sassc (2.4.0) @@ -931,24 +969,24 @@ GEM tilt scanf (1.0.0) select2-rails (3.5.11) - selenium-webdriver (4.9.0) + selenium-webdriver (4.10.0) rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) websocket (~> 1.0) - shacl (0.1.1) - json-ld (~> 3.1, >= 3.1.7) - rdf (~> 3.1, >= 3.1.8) - sparql (~> 3.1) - sxp (~> 1.1) - shex (0.6.4) - ebnf (~> 2.1, >= 2.2) + shacl (0.3.0) + json-ld (~> 3.2) + rdf (~> 3.2, >= 3.2.8) + sparql (~> 3.2, >= 3.2.4) + sxp (~> 1.2) + shex (0.7.1) + ebnf (~> 2.2) htmlentities (~> 4.3) - json-ld (~> 3.1) - json-ld-preloaded (~> 3.1) - rdf (~> 3.1) - rdf-xsd (~> 3.1) - sparql (~> 3.1) - sxp (~> 1.1) + json-ld (~> 3.2) + json-ld-preloaded (~> 3.2) + rdf (~> 3.2) + rdf-xsd (~> 3.2) + sparql (~> 3.2) + sxp (~> 1.2) shoulda-matchers (5.3.0) activesupport (>= 5.2.0) sidekiq (6.5.12) @@ -970,12 +1008,17 @@ GEM docile (~> 1.1) simplecov-html (~> 0.11) simplecov_json_formatter (~> 0.1) - simplecov-html (0.12.3) + simplecov-html (0.13.2) simplecov_json_formatter (0.1.4) + sinatra (2.2.4) + mustermann (~> 2.0) + rack (~> 2.2) + rack-protection (= 2.2.4) + tilt (~> 2.0) slop (4.10.1) - snaky_hash (2.0.1) - hashie - version_gem (~> 1.1, >= 1.1.1) + snaky_hash (2.0.3) + hashie (>= 0.1.0, < 6) + version_gem (>= 1.1.8, < 3) solr_wrapper (4.0.2) http minitar @@ -1000,22 +1043,22 @@ GEM babel-source (>= 5.8.11) babel-transpiler sprockets (>= 3.0.0) - sprockets-rails (3.4.2) - actionpack (>= 5.2) - activesupport (>= 5.2) + sprockets-rails (3.5.2) + actionpack (>= 6.1) + activesupport (>= 6.1) sprockets (>= 3.0.0) ssrf_filter (1.0.8) sxp (1.2.4) matrix (~> 0.4) rdf (~> 3.2) - temple (0.10.3) - terminal-table (3.0.2) - unicode-display_width (>= 1.1.1, < 3) - terser (1.1.20) + temple (0.10.4) + terminal-table (4.0.0) + unicode-display_width (>= 1.1.1, < 4) + terser (1.2.6) execjs (>= 0.3.0, < 3) - thor (1.3.0) - tilt (2.3.0) - timeout (0.4.1) + thor (1.4.0) + tilt (2.6.1) + timeout (0.4.3) tinymce-rails (5.10.9) railties (>= 3.1.1) trailblazer-option (0.1.2) @@ -1026,13 +1069,12 @@ GEM actionpack (>= 3.1) jquery-rails railties (>= 3.1) - typhoeus (1.4.1) - ethon (>= 0.9.0) tzinfo (2.0.6) concurrent-ruby (~> 1.0) uber (0.1.0) - unicode-display_width (2.5.0) - unicode-types (1.9.0) + unicode-display_width (2.6.0) + unicode-types (1.11.0) + uri (1.0.4) validatable (1.6.7) valkyrie (3.0.3) activemodel @@ -1048,7 +1090,7 @@ GEM rdf-vocab reform (~> 2.2) reform-rails - version_gem (1.1.3) + version_gem (1.1.9) view_component (2.74.1) activesupport (>= 5.0.0, < 8.0) concurrent-ruby (~> 1.0) @@ -1068,17 +1110,23 @@ GEM addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) - webrick (1.8.2) - websocket (1.2.10) - websocket-driver (0.7.6) + webrick (1.9.1) + websocket (1.2.11) + websocket-driver (0.8.0) + base64 websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.6.12) + yaml-ld (0.0.2) + json-ld (~> 3.2, >= 3.2.3) + psych (>= 3.3) + rdf (~> 3.2, >= 3.2.9) + rdf-xsd (~> 3.2) + zeitwerk (2.6.18) PLATFORMS - x86_64-linux + ruby DEPENDENCIES active-fedora (~> 14.0) @@ -1095,30 +1143,32 @@ DEPENDENCIES capybara (~> 3.36) clamav-client coffee-rails (~> 5.0.0) + concurrent-ruby (= 1.3.4) database_cleaner devise (~> 4.8.0) devise-guests (~> 0.8.1) edtf-humanize (~> 2.1) + equivalent-xml (~> 0.6) execjs (= 2.8.1) factory_bot_rails (~> 6.2.0) fcrepo_wrapper (~> 0.9.0) ffaker httparty (~> 0.21.0) - hydra-editor (~> 6.0) - hydra-role-management (~> 1.0) + hydra-editor (~> 6.2.0) + hydra-pcdm (~> 1.3.0) + hydra-role-management (~> 1.1.0) + hydra-works (~> 2.1.0) hyrax! jbuilder (~> 2.11.2) jquery-rails (~> 4.5.0) json-canonicalization (= 0.3.1) json-ld (~> 3.2) ldp (~> 1.1) - libv8 (~> 7.3) linkeddata listen (~> 3.7.0) logger (= 1.5.3) loofah (~> 2.19.1) mini_magick (~> 4.12.0) - mini_racer (~> 0.2.15) nokogiri (~> 1.14.2) omniauth (~> 2.0) omniauth-rails_csrf_protection @@ -1127,7 +1177,7 @@ DEPENDENCIES pg (~> 1.3.5) puma rails (~> 6.0) - rdf! + rdf (~> 3.3.4) redis (~> 4.5.0) redlock riiif (~> 2.5.0) @@ -1135,8 +1185,8 @@ DEPENDENCIES rsolr (~> 2.5.0) rspec-mocks rspec-rails (~> 5.1.2) - rubocop - rubocop-github + rubocop (~> 1.58.0) + rubocop-github (~> 0.20.0) rubocop-performance rubocop-rails rubocop-rspec @@ -1148,6 +1198,7 @@ DEPENDENCIES simplecov solr_wrapper (~> 4.0.2) sparql (= 3.2.5) + sprockets (= 3.7.2) terser (~> 1.1) turbolinks (~> 5.2.1) twitter-typeahead-rails (= 0.11.1.pre.corejavascript) @@ -1157,7 +1208,7 @@ DEPENDENCIES webrick RUBY VERSION - ruby 3.0.2p107 + ruby 3.0.7p220 BUNDLED WITH - 2.2.33 + 2.5.23 diff --git a/app/assets/config/manifest.js b/app/assets/config/manifest.js index b16e53d6d..4bb4b0117 100755 --- a/app/assets/config/manifest.js +++ b/app/assets/config/manifest.js @@ -1,3 +1,4 @@ //= link_tree ../images //= link_directory ../javascripts .js //= link_directory ../stylesheets .css +//= link blacklight_gallery/manifest.js \ No newline at end of file diff --git a/app/assets/javascripts/blacklight_gallery.js b/app/assets/javascripts/blacklight_gallery.js index 992a7d4df..bb60a8fa6 100755 --- a/app/assets/javascripts/blacklight_gallery.js +++ b/app/assets/javascripts/blacklight_gallery.js @@ -1 +1 @@ -//= require blacklight_gallery/default \ No newline at end of file +//= require blacklight_gallery/blacklight-gallery \ No newline at end of file diff --git a/config/application.rb b/config/application.rb index 6fd468bc6..5b11ecc74 100755 --- a/config/application.rb +++ b/config/application.rb @@ -1,6 +1,8 @@ # frozen_string_literal: true require_relative 'boot' +require 'logger' + require 'rails/all' # Require the gems listed in Gemfile, including any gems diff --git a/config/initializers/babel.rb b/config/initializers/babel.rb new file mode 100644 index 000000000..6e3075e2e --- /dev/null +++ b/config/initializers/babel.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true +require 'babel/transpiler' + +Rails.application.config.assets.configure do |env| + if defined?(Babel::Transpiler) + babel_processor = proc do |input| + begin + # Generate the correct AMD module ID from the file path + # Extract the path relative to javascripts directory + relative_path = input[:filename].gsub(%r{.*/app/assets/javascripts/}, '') + module_id = relative_path.gsub(/\.es6$/, '') + + result = Babel::Transpiler.transform(input[:data], { + 'modules' => 'amd', + 'stage' => 0, + 'moduleId' => module_id + }) + { data: result['code'] } + rescue => e + puts("Babel ERROR: #{e.message}") + { data: input[:data] } + end + end + + # Override the ES6 transformer + env.register_transformer 'text/ecmascript-6', 'application/javascript', babel_processor + else + puts('###Babel Initializer: Babel not available') + end +end diff --git a/docker-compose.yml b/docker-compose.yml index 178da48ea..79ca1830f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -4,8 +4,6 @@ services: web: &web build: context: . - image: cazzerson/hy-c-universal - platform: linux/amd64 depends_on: - clamav - db @@ -28,8 +26,6 @@ services: sidekiq: build: context: . - image: cazzerson/hy-c-universal - platform: linux/amd64 depends_on: - clamav - db diff --git a/docker/start-app.sh b/docker/start-app.sh index 45134b62a..8d2ee4cba 100644 --- a/docker/start-app.sh +++ b/docker/start-app.sh @@ -1,25 +1,31 @@ #!/bin/bash echo "#### Running start-app.sh" -source scl_source enable rh-ruby30 -source scl_source enable devtoolset-8 mkdir -p /opt/hyrax/log/ -echo "#### Ensure rubygems system is up to date before bundle installing" -gem install rubygems-update -v 3.4.20 -update_rubygems >> /dev/null echo "#### Performing config steps" # The bundle config and package are needed for the odd way we manage gems in production bundle config --local cache_path /hyc-gems +bundle config build.nokogiri --use-system-libraries +bundle config build.sassc --use-system-libraries +bundle config set force_ruby_platform true + +# Clear any existing bundle cache that might have incompatible binaries +bundle config --local clean --force + +echo "#### Ensure rubygems system is up to date before bundle installing" +gem install rubygems-update -v 3.4.20 +update_rubygems >> /dev/null if ! bundle check; then echo "#### Bundle install required" + rm -f /hyc-gems/* || true bundle install bundle package echo "#### Creating symlink for libsass otherwise bundle cannot find it" - [ ! -L /opt/rh/rh-ruby30/root/usr/share/gems/gems/sassc-2.4.0/ext/libsass.so ] && ln -s /opt/rh/rh-ruby30/root/usr/lib64/gems/ruby/sassc-2.4.0/sassc/libsass.so /opt/rh/rh-ruby30/root/usr/share/gems/gems/sassc-2.4.0/ext/libsass.so + [ ! -L /usr/share/gems/gems/sassc-2.4.0/lib/sassc/libsass.so ] && ln -s /usr/lib64/gems/ruby/sassc-2.4.0/sassc/libsass.so /usr/share/gems/gems/sassc-2.4.0/lib/sassc/libsass.so else - echo "#### Gems already installed, skipping bundle install" + echo "#### Gems already installed, skipping bundle install" fi find . -name *.pid -delete @@ -30,4 +36,8 @@ bundle exec rails hyrax:default_collection_types:create bundle exec rails hyrax:default_admin_set:create echo "#### Starting web application" bundle exec puma -C config/puma.rb -echo "#### Shutdown web application" \ No newline at end of file +echo "#### Shutdown web application" + +echo "#### Keep the container running for debugging" +# Keep the container running for debugging +while true; do sleep 30; done; \ No newline at end of file diff --git a/docker/start-sidekiq.sh b/docker/start-sidekiq.sh index 3f3c41528..7b7b29162 100644 --- a/docker/start-sidekiq.sh +++ b/docker/start-sidekiq.sh @@ -1,20 +1,21 @@ #!/bin/bash echo "#### Running start-sidekiq.sh" -source scl_source enable rh-ruby30 -source scl_source enable devtoolset-8 echo "#### Ensure rubygems system is up to date before bundle installing" gem install rubygems-update -v 3.4.20 update_rubygems >> /dev/null bundle config --local cache_path /hyc-gems +bundle config build.nokogiri --use-system-libraries +bundle config build.sassc --use-system-libraries +bundle config set force_ruby_platform true if ! bundle check; then echo "#### Bundle install required" bundle install bundle package echo "#### Creating symlink for libsass otherwise bundle cannot find it" - [ ! -L /opt/rh/rh-ruby30/root/usr/share/gems/gems/sassc-2.4.0/ext/libsass.so ] && ln -s /opt/rh/rh-ruby30/root/usr/lib64/gems/ruby/sassc-2.4.0/sassc/libsass.so /opt/rh/rh-ruby30/root/usr/share/gems/gems/sassc-2.4.0/ext/libsass.so + [ ! -L /usr/share/gems/gems/sassc-2.4.0/lib/sassc/libsass.so ] && ln -s /usr/lib64/gems/ruby/sassc-2.4.0/sassc/libsass.so /usr/share/gems/gems/sassc-2.4.0/lib/sassc/libsass.so else echo "#### Gems already installed, skipping bundle install" fi