diff --git a/Dockerfile b/Dockerfile index 590e3d7..cd69c94 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,6 +5,7 @@ COPY --chown=1001:101 . /app/samvera COPY --chown=1001:101 bundler.d/ /app/.bundler.d/ ENV BUNDLE_LOCAL__HYKU_KNAPSACK=/app/samvera ENV BUNDLE_DISABLE_LOCAL_BRANCH_CHECK=true +ENV BUNDLE_BUNDLER_INJECT__GEM_PATH=/app/samvera/bundler.d RUN bundle install --jobs "$(nproc)" diff --git a/Gemfile.lock b/Gemfile.lock index b88a91c..8dd022b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -7,97 +7,6 @@ GIT aws-sdk-sqs (~> 1) rails (>= 4.2) -GIT - remote: https://github.com/rails/rails.git - revision: 2fcc0052feda9f9287ba9b6f2d2a551021cf0138 - branch: 6-1-stable - specs: - actioncable (6.1.7.7) - actionpack (= 6.1.7.7) - activesupport (= 6.1.7.7) - nio4r (~> 2.0) - websocket-driver (>= 0.6.1) - actionmailbox (6.1.7.7) - actionpack (= 6.1.7.7) - activejob (= 6.1.7.7) - activerecord (= 6.1.7.7) - activestorage (= 6.1.7.7) - activesupport (= 6.1.7.7) - mail (>= 2.7.1) - actionmailer (6.1.7.7) - actionpack (= 6.1.7.7) - actionview (= 6.1.7.7) - activejob (= 6.1.7.7) - activesupport (= 6.1.7.7) - mail (~> 2.5, >= 2.5.4) - rails-dom-testing (~> 2.0) - actionpack (6.1.7.7) - actionview (= 6.1.7.7) - activesupport (= 6.1.7.7) - racc - 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.7) - actionpack (= 6.1.7.7) - activerecord (= 6.1.7.7) - activestorage (= 6.1.7.7) - activesupport (= 6.1.7.7) - nokogiri (>= 1.8.5) - actionview (6.1.7.7) - activesupport (= 6.1.7.7) - builder (~> 3.1) - erubi (~> 1.4) - rails-dom-testing (~> 2.0) - rails-html-sanitizer (~> 1.1, >= 1.2.0) - activejob (6.1.7.7) - activesupport (= 6.1.7.7) - globalid (>= 0.3.6) - activemodel (6.1.7.7) - activesupport (= 6.1.7.7) - activerecord (6.1.7.7) - activemodel (= 6.1.7.7) - activesupport (= 6.1.7.7) - activestorage (6.1.7.7) - actionpack (= 6.1.7.7) - activejob (= 6.1.7.7) - activerecord (= 6.1.7.7) - activesupport (= 6.1.7.7) - marcel (~> 1.0) - mini_mime (>= 1.1.0) - activesupport (6.1.7.7) - base64 - bigdecimal - concurrent-ruby (~> 1.0, >= 1.0.2) - drb - i18n (>= 1.6, < 2) - minitest (>= 5.1) - mutex_m - tzinfo (~> 2.0) - zeitwerk (~> 2.3) - rails (6.1.7.7) - actioncable (= 6.1.7.7) - actionmailbox (= 6.1.7.7) - actionmailer (= 6.1.7.7) - actionpack (= 6.1.7.7) - actiontext (= 6.1.7.7) - actionview (= 6.1.7.7) - activejob (= 6.1.7.7) - activemodel (= 6.1.7.7) - activerecord (= 6.1.7.7) - activestorage (= 6.1.7.7) - activesupport (= 6.1.7.7) - bundler (>= 1.15.0) - railties (= 6.1.7.7) - sprockets-rails (>= 2.0.0) - railties (6.1.7.7) - actionpack (= 6.1.7.7) - activesupport (= 6.1.7.7) - method_source - rake (>= 12.2) - thor (~> 1.0) - GIT remote: https://github.com/samvera-labs/hyrax-doi.git revision: 9b7ab7f8054a14385b838de1118f55ad2e0f5da8 @@ -122,10 +31,10 @@ GIT GIT remote: https://github.com/samvera/bulkrax.git - revision: 1048453a4d99a6fba4b10531c2dc3a67a51c4c50 + revision: c58f8707905092dcbc410ed818230d4af165c24b branch: main specs: - bulkrax (8.0.0) + bulkrax (8.1.0) bagit (~> 0.4.6) coderay denormalize_fields @@ -144,10 +53,10 @@ GIT GIT remote: https://github.com/samvera/hyrax.git - revision: 946048997c66e57d8e15ddd5fcd3a50931ea310d - branch: double_combo + revision: b98d6f4f57b3d60cabc1c192e12053a11f93eb8c + branch: main specs: - hyrax (5.0.0) + hyrax (5.0.1) active-fedora (~> 14.0) almond-rails (~> 0.1) awesome_nested_set (~> 3.1) @@ -165,9 +74,11 @@ GIT dry-logic (~> 1.5) dry-monads (~> 1.6) dry-validation (~> 1.10) + faraday (= 2.9.1) flipflop (~> 2.3) flot-rails (~> 0.0.6) font-awesome-rails (~> 4.2) + google-analytics-data (~> 0.6) hydra-derivatives (~> 3.3) hydra-editor (~> 6.0) hydra-file_characterization (~> 1.1) @@ -198,7 +109,7 @@ GIT sass-rails (~> 6.0) select2-rails (~> 3.5) signet - sprockets (~> 3.7) + sprockets (= 3.7.2) tinymce-rails (~> 5.10) valkyrie (~> 3.1.1) view_component (~> 2.74.1) @@ -215,16 +126,14 @@ GIT rack (>= 1.3.6) GIT - remote: https://github.com/scientist-softserv/iiif_print.git - revision: ddf6138187fa7b985f6dfdaef03405c03e4b994a + remote: https://github.com/scientist-softserv/willow_sword.git + revision: 38a0906647fae2020e8b0b08e296f85c457fcb34 branch: main specs: - iiif_print (1.0.0) - blacklight_iiif_search (>= 1.0, < 3.0) - derivative-rodeo (~> 0.5) - hyrax (>= 2.5, < 6) - nokogiri (>= 1.13.2) - rdf-vocab (~> 3.0) + willow_sword (0.2.0) + bagit (~> 0.4.1) + rails (~> 6.1) + rubyzip (>= 1.0.0) GIT remote: https://github.com/stanhu/omniauth-cas.git @@ -245,6 +154,44 @@ PATH GEM remote: https://rubygems.org/ specs: + actioncable (6.1.7.8) + actionpack (= 6.1.7.8) + activesupport (= 6.1.7.8) + nio4r (~> 2.0) + websocket-driver (>= 0.6.1) + actionmailbox (6.1.7.8) + actionpack (= 6.1.7.8) + activejob (= 6.1.7.8) + activerecord (= 6.1.7.8) + activestorage (= 6.1.7.8) + activesupport (= 6.1.7.8) + mail (>= 2.7.1) + actionmailer (6.1.7.8) + actionpack (= 6.1.7.8) + actionview (= 6.1.7.8) + activejob (= 6.1.7.8) + activesupport (= 6.1.7.8) + mail (~> 2.5, >= 2.5.4) + rails-dom-testing (~> 2.0) + actionpack (6.1.7.8) + actionview (= 6.1.7.8) + activesupport (= 6.1.7.8) + 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.8) + actionpack (= 6.1.7.8) + activerecord (= 6.1.7.8) + activestorage (= 6.1.7.8) + activesupport (= 6.1.7.8) + nokogiri (>= 1.8.5) + actionview (6.1.7.8) + activesupport (= 6.1.7.8) + builder (~> 3.1) + erubi (~> 1.4) + rails-dom-testing (~> 2.0) + rails-html-sanitizer (~> 1.1, >= 1.2.0) active-fedora (14.0.1) active-triples (>= 0.11.0, < 2.0.0) activemodel (>= 5.1) @@ -263,41 +210,62 @@ GEM active_encode (0.8.2) rails sprockets (< 4) + activejob (6.1.7.8) + activesupport (= 6.1.7.8) + globalid (>= 0.3.6) + activemodel (6.1.7.8) + activesupport (= 6.1.7.8) activemodel-serializers-xml (1.0.2) activemodel (> 5.x) activesupport (> 5.x) builder (~> 3.1) - activerecord-import (1.6.0) + activerecord (6.1.7.8) + activemodel (= 6.1.7.8) + activesupport (= 6.1.7.8) + activerecord-import (1.7.0) activerecord (>= 4.2) activerecord-nulldb-adapter (1.0.1) activerecord (>= 5.2.0, < 7.2) + activestorage (6.1.7.8) + actionpack (= 6.1.7.8) + activejob (= 6.1.7.8) + activerecord (= 6.1.7.8) + activesupport (= 6.1.7.8) + marcel (~> 1.0) + mini_mime (>= 1.1.0) + activesupport (6.1.7.8) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + zeitwerk (~> 2.3) addressable (2.8.1) public_suffix (>= 2.0.2, < 6.0) aes_key_wrap (1.1.0) almond-rails (0.3.0) rails (>= 4.2) ast (2.4.2) - attr_required (1.0.2) + attr_required (1.0.1) autoprefixer-rails (10.4.16.0) execjs (~> 2) awesome_nested_set (3.6.0) activerecord (>= 4.0.0, < 7.2) aws-eventstream (1.3.0) - aws-partitions (1.904.0) - aws-sdk-core (3.191.5) + aws-partitions (1.865.0) + aws-sdk-core (3.190.0) aws-eventstream (~> 1, >= 1.3.0) aws-partitions (~> 1, >= 1.651.0) aws-sigv4 (~> 1.8) jmespath (~> 1, >= 1.6.1) - aws-sdk-kms (1.78.0) - aws-sdk-core (~> 3, >= 3.191.0) + aws-sdk-kms (1.74.0) + aws-sdk-core (~> 3, >= 3.188.0) aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.146.1) - aws-sdk-core (~> 3, >= 3.191.0) + aws-sdk-s3 (1.141.0) + aws-sdk-core (~> 3, >= 3.189.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.8) - aws-sdk-sqs (1.70.0) - aws-sdk-core (~> 3, >= 3.191.0) + aws-sdk-sqs (1.69.0) + aws-sdk-core (~> 3, >= 3.188.0) aws-sigv4 (~> 1.1) aws-sigv4 (1.8.0) aws-eventstream (~> 1, >= 1.0.2) @@ -310,22 +278,23 @@ GEM docopt (~> 0.5.0) validatable (~> 1.6) base64 (0.2.0) + bcp47 (0.3.3) + i18n bcp47_spec (0.2.1) bcrypt (3.1.20) benchmark (0.3.0) benchmark_methods (0.7) - better_html (2.1.1) + better_html (2.0.2) actionview (>= 6.0) activesupport (>= 6.0) ast (~> 2.0) erubi (~> 1.4) parser (>= 2.4) smart_properties - bibtex-ruby (6.1.0) + bibtex-ruby (6.0.0) latex-decode (~> 0.0) - racc (~> 1.7) - bigdecimal (3.1.7) - bindata (2.5.0) + bigdecimal (3.1.5) + bindata (2.4.15) bindex (0.8.1) bixby (5.0.2) rubocop (= 1.28.2) @@ -333,7 +302,7 @@ GEM rubocop-performance rubocop-rails rubocop-rspec - blacklight (7.37.0) + blacklight (7.35.0) deprecation globalid hashdiff @@ -361,7 +330,7 @@ GEM blacklight (~> 7.0) oai (~> 1.2) rexml - blacklight_range_limit (8.5.0) + blacklight_range_limit (8.4.0) blacklight (>= 7.25.2, < 9) deprecation view_component (>= 2.54, < 4) @@ -408,12 +377,12 @@ GEM typhoeus builder (3.2.4) byebug (11.1.3) - cancancan (3.5.0) - capybara (3.40.0) + cancancan (3.6.1) + capybara (3.39.2) addressable matrix mini_mime (>= 0.1.3) - nokogiri (~> 1.11) + nokogiri (~> 1.8) rack (>= 1.6.0) rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) @@ -429,7 +398,6 @@ GEM carrierwave-aws (1.4.0) aws-sdk-s3 (~> 1.0) carrierwave (>= 0.7, < 2.1) - childprocess (5.0.0) citeproc (1.0.10) namae (~> 1.0) citeproc-ruby (1.1.14) @@ -447,10 +415,9 @@ GEM execjs coffee-script-source (1.12.2) colorize (0.8.1) - concurrent-ruby (1.2.3) + concurrent-ruby (1.2.2) connection_pool (2.4.1) - crack (1.0.0) - bigdecimal + crack (0.4.5) rexml crass (1.0.6) csl (1.6.0) @@ -458,6 +425,7 @@ GEM rexml csl-styles (1.0.1.11) csl (~> 1.0) + csv (3.3.0) database_cleaner (2.0.2) database_cleaner-active_record (>= 2, < 3) database_cleaner-active_record (2.1.0) @@ -492,7 +460,7 @@ GEM devise_invitable (2.0.9) actionmailer (>= 5.0) devise (>= 4.6) - diff-lcs (1.5.1) + diff-lcs (1.5.0) disposable (0.6.3) declarative (>= 0.0.9, < 1.0.0) representable (>= 3.1.1, < 4) @@ -505,7 +473,6 @@ GEM activesupport (>= 5.0) request_store (>= 1.0) ruby2_keywords - drb (2.2.1) dropbox_api (0.1.21) faraday (< 3.0) oauth2 (~> 1.1) @@ -530,7 +497,7 @@ GEM concurrent-ruby (~> 1.0) dry-core (~> 1.0, < 2) zeitwerk (~> 2.6) - dry-schema (1.13.3) + dry-schema (1.13.4) concurrent-ruby (~> 1.0) dry-configurable (~> 1.0, >= 1.0.1) dry-core (~> 1.0, < 2) @@ -543,8 +510,7 @@ GEM dry-types (>= 1.7, < 2) ice_nine (~> 0.11) zeitwerk (~> 2.6) - dry-types (1.7.2) - bigdecimal (~> 3.0) + dry-types (1.7.1) concurrent-ruby (~> 1.0) dry-core (~> 1.0) dry-inflector (~> 1.0) @@ -560,20 +526,16 @@ GEM easy_translate (0.5.1) thread thread_safe - ebnf (2.5.0) + ebnf (2.4.0) htmlentities (~> 4.3) rdf (~> 3.3) scanf (~> 1.0) - sxp (~> 2.0) + sxp (~> 1.3) unicode-types (~> 1.8) edtf (3.1.1) activesupport (>= 3.0, < 8.0) - email_validator (2.2.4) - activemodel - equivalent-xml (0.6.0) - nokogiri (>= 1.4.3) erubi (1.12.0) - et-orbi (1.2.11) + et-orbi (1.2.7) tzinfo ethon (0.16.0) ffi (>= 1.15.0) @@ -581,10 +543,10 @@ GEM execjs (2.9.1) factory_bot (6.4.6) activesupport (>= 5.0.0) - factory_bot_rails (6.4.3) + factory_bot_rails (6.4.2) factory_bot (~> 6.4) railties (>= 5.0.0) - faraday (2.9.0) + faraday (2.9.1) faraday-net_http (>= 2.0, < 3.2) faraday-encoding (0.0.5) faraday @@ -598,8 +560,9 @@ GEM zlib (~> 2.1) faraday-multipart (1.0.4) multipart-post (~> 2) - faraday-net_http (3.1.0) - net-http + faraday-net_http (3.0.2) + faraday-retry (2.2.1) + faraday (~> 2.0) fcrepo_wrapper (0.9.0) ruby-progressbar ffi (1.16.3) @@ -611,13 +574,23 @@ GEM flutie (2.2.0) font-awesome-rails (4.7.0.8) railties (>= 3.2, < 8.0) - fugit (1.10.1) + fugit (1.9.0) et-orbi (~> 1, >= 1.2.7) raabro (~> 1.4) + gapic-common (0.21.1) + faraday (>= 1.9, < 3.a) + faraday-retry (>= 1.0, < 3.a) + google-protobuf (~> 3.18) + googleapis-common-protos (>= 1.4.0, < 2.a) + googleapis-common-protos-types (>= 1.11.0, < 2.a) + googleauth (~> 1.9) + grpc (~> 1.59) gender_detector (0.1.2) unicode_utils (>= 1.3.0) geo_coord (0.2.0) - geocoder (1.8.2) + geocoder (1.8.3) + base64 (>= 0.1.0) + csv (>= 3.0.0) globalid (1.2.1) activesupport (>= 6.1) good_job (2.99.0) @@ -629,33 +602,59 @@ GEM thor (>= 0.14.1) webrick (>= 1.3) zeitwerk (>= 2.0) - google-apis-core (0.11.3) + google-analytics-data (0.6.0) + google-analytics-data-v1beta (>= 0.11, < 2.a) + google-cloud-core (~> 1.6) + google-analytics-data-v1beta (0.12.0) + gapic-common (>= 0.21.1, < 2.a) + google-cloud-errors (~> 1.0) + google-apis-core (0.15.0) addressable (~> 2.5, >= 2.5.1) - googleauth (>= 0.16.2, < 2.a) + googleauth (~> 1.9) httpclient (>= 2.8.1, < 3.a) mini_mime (~> 1.0) representable (~> 3.0) retriable (>= 2.0, < 4.a) rexml - google-apis-drive_v3 (0.46.0) - google-apis-core (>= 0.11.0, < 2.a) - googleauth (1.8.1) - faraday (>= 0.17.3, < 3.a) + google-apis-drive_v3 (0.51.0) + google-apis-core (>= 0.15.0, < 2.a) + google-cloud-core (1.7.0) + google-cloud-env (>= 1.0, < 3.a) + google-cloud-errors (~> 1.0) + google-cloud-env (2.1.1) + faraday (>= 1.0, < 3.a) + google-cloud-errors (1.4.0) + google-protobuf (3.25.3) + googleapis-common-protos (1.5.0) + google-protobuf (~> 3.18) + googleapis-common-protos-types (~> 1.7) + grpc (~> 1.41) + googleapis-common-protos-types (1.14.0) + google-protobuf (~> 3.18) + googleauth (1.9.2) + faraday (>= 1.0, < 3.a) + google-cloud-env (~> 2.1) jwt (>= 1.4, < 3.0) multi_json (~> 1.11) os (>= 0.9, < 2.0) signet (>= 0.16, < 2.a) + grpc (1.64.0) + google-protobuf (~> 3.25) + googleapis-common-protos-types (~> 1.0) haml (6.3.0) temple (>= 0.8.2) thor tilt - hashdiff (1.1.0) + hamster (3.0.0) + concurrent-ruby (~> 1.0) + hashdiff (1.0.1) hashie (5.0.0) - highline (3.0.1) + highline (2.1.0) hiredis (0.6.3) htmlentities (4.3.4) http_logger (0.7.0) - httparty (0.21.0) + httparty (0.22.0) + csv mini_mime (>= 1.0.0) multi_xml (>= 0.5.2) httpclient (2.8.3) @@ -702,18 +701,18 @@ GEM hydra-derivatives (~> 3.6) hydra-file_characterization (~> 1.0) hydra-pcdm (>= 0.9) - i18n (1.14.4) + i18n (1.14.1) concurrent-ruby (~> 1.0) i18n-debug (1.2.0) i18n (< 2) - i18n-tasks (1.0.13) + i18n-tasks (1.0.12) activesupport (>= 4.0.2) ast (>= 2.1.0) better_html (>= 1.0, < 3.0) erubi highline (>= 2.0.0) i18n - parser (>= 3.2.2.1) + parser (>= 2.2.3.0) rails-i18n rainbow (>= 2.2.2, < 4.0) terminal-table (>= 1.5.1) @@ -725,8 +724,14 @@ GEM faraday (~> 2.7) geo_coord json - iiif_manifest (1.4.0) + iiif_manifest (1.3.1) activesupport (>= 4) + iiif_print (3.0.1) + blacklight_iiif_search (>= 1.0, < 3.0) + derivative-rodeo (~> 0.5) + hyrax (>= 2.5, < 6) + nokogiri (>= 1.13.2) + rdf-vocab (~> 3.0) iso-639 (0.3.6) iso8601 (0.9.1) jaro_winkler (1.5.6) @@ -740,10 +745,9 @@ GEM thor (>= 0.14, < 2.0) json (2.7.1) json-canonicalization (0.3.1) - json-jwt (1.16.6) + json-jwt (1.16.3) activesupport (>= 4.2) aes_key_wrap - base64 bindata faraday (~> 2.0) faraday-follow_redirects @@ -782,9 +786,14 @@ GEM kramdown (~> 2.0) language_list (1.2.1) latex-decode (0.4.0) - launchy (3.0.0) + launchy (2.5.2) addressable (~> 2.8) - childprocess (~> 5.0) + ld-patch (3.3.0) + ebnf (~> 2.4) + rdf (~> 3.3) + rdf-xsd (~> 3.3) + sparql (~> 3.3) + sxp (~> 1.3) ldp (1.2.0) deprecation faraday (>= 1) @@ -805,23 +814,34 @@ GEM multi_json libxml-ruby (3.2.4) link_header (0.0.8) - linkeddata (1.1.1) - equivalent-xml (>= 0.4.0) - json-ld (>= 1.1.1) - nokogiri (>= 1.6.1) - rdf (>= 1.1.1) - rdf-aggregate-repo (>= 1.1.0) - rdf-isomorphic (>= 1.1.0) - rdf-json (>= 1.1.0) - rdf-microdata (>= 1.1.1) - rdf-n3 (>= 1.1.0) - rdf-rdfa (>= 1.1.1) - rdf-rdfxml (>= 1.1.0) - rdf-trig (>= 1.1.2) - rdf-trix (>= 1.1.0) - rdf-turtle (>= 1.1.2) - sparql (>= 1.1.2) - sparql-client (>= 1.1.1) + 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.0.8) rb-fsevent (~> 0.9, >= 0.9.4) rb-inotify (~> 0.9, >= 0.9.7) @@ -842,7 +862,7 @@ GEM mailboxer (0.15.1) carrierwave (>= 0.5.8) rails (>= 5.0.0) - marcel (1.0.4) + marcel (1.0.2) maremma (4.9.9) activesupport (>= 4.2.5) addressable (>= 2.3.6) @@ -859,13 +879,13 @@ GEM oj_mimic_json (~> 1.0, >= 1.0.1) matrix (0.4.2) method_source (1.0.0) - mime-types (3.5.2) + mime-types (3.5.1) mime-types-data (~> 3.2015) - mime-types-data (3.2024.0305) + mime-types-data (3.2023.1205) mini_magick (4.12.0) mini_mime (1.1.5) mini_portile2 (2.8.5) - minitest (5.22.3) + minitest (5.20.0) mods (2.4.1) edtf iso-639 @@ -873,29 +893,25 @@ GEM nom-xml (~> 1.0) multi_json (1.15.0) multi_xml (0.6.0) - multipart-post (2.4.0) - mutex_m (0.2.0) - namae (1.2.0) - racc (~> 1.7) + multipart-post (2.3.0) + namae (1.1.1) negative_captcha (0.5) actionpack activesupport nest (3.2.0) redic - net-http (0.4.1) - uri net-http-persistent (4.0.2) connection_pool (~> 2.2) - net-imap (0.4.10) + net-imap (0.4.9) date net-protocol net-pop (0.1.2) net-protocol net-protocol (0.2.2) timeout - net-smtp (0.5.0) + net-smtp (0.4.0) net-protocol - nio4r (2.7.1) + nio4r (2.7.0) noid (0.9.0) noid-rails (3.1.0) actionpack (>= 5.0.0, < 7.1) @@ -926,7 +942,7 @@ GEM bigdecimal (>= 3.0) oj_mimic_json (1.0.1) okcomputer (1.18.5) - omniauth (2.1.2) + omniauth (2.1.1) hashie (>= 3.4.6) rack (>= 2.2.3) rack-protection @@ -941,33 +957,34 @@ GEM omniauth_openid_connect (0.7.1) omniauth (>= 1.9, < 3) openid_connect (~> 2.2) - openid_connect (2.3.0) + openid_connect (2.2.0) activemodel attr_required (>= 1.0.0) - email_validator faraday (~> 2.0) faraday-follow_redirects json-jwt (>= 1.16) - mail + net-smtp rack-oauth2 (~> 2.2) swd (~> 2.0) tzinfo + validate_email validate_url webfinger (~> 2.0) openseadragon (0.6.0) rails (> 3.2.0) + openssl (3.2.0) optimist (3.1.0) order_already (0.3.1) rails-html-sanitizer (~> 1.4) orm_adapter (0.5.0) os (1.1.4) ostruct (0.6.0) - parallel (1.24.0) - parser (3.3.0.5) + parallel (1.23.0) + parser (3.2.2.4) ast (~> 2.4.1) racc parslet (2.0.0) - pg (1.5.6) + pg (1.5.4) popper_js (1.16.1) posix-spawn (0.3.15) postrank-uri (1.1) @@ -982,7 +999,7 @@ GEM pry (>= 0.13, < 0.15) psych (3.3.4) public_suffix (4.0.7) - puma (5.6.8) + puma (5.6.7) nio4r (~> 2.0) qa (5.11.0) activerecord-import @@ -995,19 +1012,33 @@ GEM rdf raabro (1.4.0) racc (1.7.3) - rack (2.2.9) - rack-oauth2 (2.2.1) + rack (2.2.8) + rack-oauth2 (2.2.0) activesupport attr_required faraday (~> 2.0) faraday-follow_redirects json-jwt (>= 1.11.0) rack (>= 2.1.0) - rack-protection (3.2.0) - base64 (>= 0.1.0) + rack-protection (3.1.0) rack (~> 2.2, >= 2.2.4) rack-test (0.7.0) rack (>= 1.0, < 3) + rails (6.1.7.8) + actioncable (= 6.1.7.8) + actionmailbox (= 6.1.7.8) + actionmailer (= 6.1.7.8) + actionpack (= 6.1.7.8) + actiontext (= 6.1.7.8) + actionview (= 6.1.7.8) + activejob (= 6.1.7.8) + activemodel (= 6.1.7.8) + activerecord (= 6.1.7.8) + activestorage (= 6.1.7.8) + activesupport (= 6.1.7.8) + bundler (>= 1.15.0) + railties (= 6.1.7.8) + sprockets-rails (>= 2.0.0) rails-controller-testing (1.0.5) actionpack (>= 5.0.1.rc1) actionview (>= 5.0.1.rc1) @@ -1018,13 +1049,19 @@ GEM nokogiri (>= 1.6) rails-html-sanitizer (1.5.0) loofah (~> 2.19, >= 2.19.1) - rails-i18n (7.0.9) + rails-i18n (7.0.8) i18n (>= 0.7, < 2) railties (>= 6.0.0, < 8) rails_autolink (1.1.8) actionview (> 3.1) activesupport (> 3.1) railties (> 3.1) + railties (6.1.7.8) + actionpack (= 6.1.7.8) + activesupport (= 6.1.7.8) + method_source + rake (>= 12.2) + thor (~> 1.0) rainbow (3.1.1) rake (13.1.0) rb-fsevent (0.11.2) @@ -1035,6 +1072,9 @@ GEM link_header (~> 0.0, >= 0.0.8) rdf-aggregate-repo (3.3.0) rdf (~> 3.3) + rdf-hamster-repo (3.3.0) + hamster (~> 3.0) + rdf (~> 3.3) rdf-isomorphic (3.3.0) rdf (~> 3.3) rdf-json (3.3.0) @@ -1048,8 +1088,15 @@ GEM rdf (~> 3.2) rdf-rdfa (~> 3.2) rdf-xsd (~> 3.2) - rdf-n3 (3.0.1) - rdf (~> 3.0) + rdf-n3 (3.3.0) + ebnf (~> 2.4) + rdf (~> 3.3) + sparql (~> 3.3) + sxp (~> 1.3) + rdf-normalize (0.7.0) + rdf (~> 3.3) + rdf-ordered-repo (3.3.0) + rdf (~> 3.3) rdf-rdfa (3.3.0) haml (~> 6.1) htmlentities (~> 4.3) @@ -1062,6 +1109,16 @@ GEM htmlentities (~> 4.3) rdf (~> 3.3) rdf-xsd (~> 3.3) + rdf-reasoner (0.9.0) + rdf (~> 3.3) + rdf-xsd (~> 3.3) + rdf-tabular (3.2.1) + addressable (~> 2.8) + bcp47 (~> 0.3, >= 0.3.3) + json-ld (~> 3.2) + rdf (~> 3.2, >= 3.2.7) + rdf-vocab (~> 3.2) + rdf-xsd (~> 3.2) rdf-trig (3.3.0) ebnf (~> 2.4) rdf (~> 3.3) @@ -1069,10 +1126,8 @@ GEM rdf-trix (3.3.0) rdf (~> 3.3) rdf-xsd (~> 3.3) - rdf-turtle (3.3.1) - base64 (~> 0.2) - bigdecimal (~> 3.1, >= 3.1.5) - ebnf (~> 2.5) + rdf-turtle (3.3.0) + ebnf (~> 2.4) rdf (~> 3.3) rdf-vocab (3.3.0) rdf (~> 3.3) @@ -1094,12 +1149,12 @@ GEM reform-rails (0.2.6) activemodel (>= 5.0) reform (>= 2.3.1, < 3.0.0) - regexp_parser (2.9.0) + regexp_parser (2.8.3) 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.5.1) rack (>= 1.4) responders (3.1.1) actionpack (>= 5.2) @@ -1108,44 +1163,44 @@ GEM reverse_markdown (2.1.1) nokogiri rexml (3.2.6) - riiif (2.5.0) + riiif (2.4.0) deprecation (>= 1.0.0) iiif-image-api (>= 0.1.0) railties (>= 4.2, < 8) rolify (6.0.1) - rsolr (2.6.0) + rsolr (2.5.0) builder (>= 2.1.2) faraday (>= 0.9, < 3, != 2.0.0) - rspec (3.13.0) - rspec-core (~> 3.13.0) - rspec-expectations (~> 3.13.0) - rspec-mocks (~> 3.13.0) + rspec (3.12.0) + rspec-core (~> 3.12.0) + rspec-expectations (~> 3.12.0) + rspec-mocks (~> 3.12.0) rspec-activemodel-mocks (1.2.0) activemodel (>= 3.0) activesupport (>= 3.0) rspec-mocks (>= 2.99, < 4.0) - rspec-core (3.13.0) - rspec-support (~> 3.13.0) - rspec-expectations (3.13.0) + rspec-core (3.12.2) + rspec-support (~> 3.12.0) + rspec-expectations (3.12.3) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.13.0) + rspec-support (~> 3.12.0) rspec-its (1.3.0) rspec-core (>= 3.0.0) rspec-expectations (>= 3.0.0) - rspec-mocks (3.13.0) + rspec-mocks (3.12.6) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.13.0) - rspec-rails (6.1.2) + rspec-support (~> 3.12.0) + rspec-rails (6.1.1) actionpack (>= 6.1) activesupport (>= 6.1) railties (>= 6.1) - rspec-core (~> 3.13) - rspec-expectations (~> 3.13) - rspec-mocks (~> 3.13) - rspec-support (~> 3.13) + rspec-core (~> 3.12) + rspec-expectations (~> 3.12) + rspec-mocks (~> 3.12) + rspec-support (~> 3.12) rspec-retry (0.6.2) rspec-core (> 3.3) - rspec-support (3.13.1) + rspec-support (3.12.1) rspec_junit_formatter (0.6.0) rspec-core (>= 2, < 4, != 2.12.0) rubocop (1.28.2) @@ -1157,8 +1212,8 @@ GEM rubocop-ast (>= 1.17.0, < 2.0) ruby-progressbar (~> 1.7) unicode-display_width (>= 1.4.0, < 3.0) - rubocop-ast (1.31.2) - parser (>= 3.3.0.4) + rubocop-ast (1.30.0) + parser (>= 3.2.1.0) rubocop-performance (1.19.1) rubocop (>= 1.7.0, < 2.0) rubocop-ast (>= 0.4.0) @@ -1203,6 +1258,20 @@ GEM rexml (~> 3.2, >= 3.2.5) rubyzip (>= 1.2.2, < 3.0) websocket (~> 1.0) + 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.2) + json-ld-preloaded (~> 3.2) + rdf (~> 3.2) + rdf-xsd (~> 3.2) + sparql (~> 3.2) + sxp (~> 1.2) shoulda-matchers (4.5.1) activesupport (>= 4.2.0) sidekiq (6.5.12) @@ -1248,15 +1317,15 @@ GEM retriable ruby-progressbar rubyzip - sparql (3.3.1) + sparql (3.3.0) builder (~> 3.2, >= 3.2.4) - ebnf (~> 2.5) + ebnf (~> 2.4) logger (~> 1.5) rdf (~> 3.3) rdf-aggregate-repo (~> 3.3) rdf-xsd (~> 3.3) sparql-client (~> 3.3) - sxp (~> 2.0) + sxp (~> 1.3) sparql-client (3.3.0) net-http-persistent (~> 4.0, >= 4.0.2) rdf (~> 3.3) @@ -1264,8 +1333,7 @@ GEM spring-watcher-listen (2.0.1) listen (>= 2.7, < 4.0) spring (>= 1.2, < 3.0) - sprockets (3.7.3) - base64 + sprockets (3.7.2) concurrent-ruby (~> 1.0) rack (> 1, < 3) sprockets-es6 (0.9.2) @@ -1277,22 +1345,22 @@ GEM activesupport (>= 5.2) sprockets (>= 3.0.0) ssrf_filter (1.0.8) - swd (2.0.3) + swd (2.0.2) activesupport (>= 3) attr_required (>= 0.0.5) faraday (~> 2.0) faraday-follow_redirects - sxp (2.0.0) + sxp (1.3.0) matrix (~> 0.4) rdf (~> 3.3) temple (0.10.3) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) - terser (1.2.1) + terser (1.1.20) execjs (>= 0.3.0, < 3) tether-rails (1.4.0) rails (>= 3.1) - thor (1.3.1) + thor (1.3.0) thread (0.2.2) thread_safe (0.3.6) tilt (2.3.0) @@ -1312,11 +1380,13 @@ GEM tzinfo (2.0.6) concurrent-ruby (~> 1.0) uber (0.1.0) - unicode-display_width (2.5.0) + unicode-display_width (1.8.0) unicode-types (1.9.0) unicode_utils (1.4.0) - uri (0.13.0) validatable (1.6.7) + validate_email (0.1.6) + activemodel (>= 3.0) + mail (>= 2.2.5) validate_url (1.0.15) activemodel (>= 3.0.0) public_suffix @@ -1350,11 +1420,11 @@ GEM nokogiri (~> 1.6) rubyzip (>= 1.3.0) selenium-webdriver (> 3.141, < 5.0) - webfinger (2.1.3) + webfinger (2.1.2) activesupport faraday (~> 2.0) faraday-follow_redirects - webmock (3.23.0) + webmock (3.19.1) addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) @@ -1365,14 +1435,17 @@ GEM websocket-extensions (0.1.5) xpath (3.2.0) nokogiri (~> 1.8) - yard (0.9.36) - zeitwerk (2.6.13) + 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) + yard (0.9.34) + zeitwerk (2.6.12) zlib (2.1.1) PLATFORMS aarch64-linux-musl - ruby - x86_64-linux-musl DEPENDENCIES active-fedora (~> 14.0) @@ -1408,14 +1481,16 @@ DEPENDENCIES fcrepo_wrapper (~> 0.4) flutie good_job (~> 2.99) - googleauth (= 1.8.1) + google-protobuf + googleauth (~> 1.9.0) + grpc hyku_knapsack! hyrax! hyrax-doi! hyrax-iiif_av! i18n-debug i18n-tasks - iiif_print! + iiif_print jbuilder (~> 2.5) jquery-rails json-canonicalization (= 0.3.1) @@ -1430,6 +1505,7 @@ DEPENDENCIES omniauth-rails_csrf_protection (~> 1.0) omniauth-saml (~> 2.1) omniauth_openid_connect + openssl (>= 3.2.0) order_already parser (>= 3.1.0.0) pg @@ -1437,7 +1513,7 @@ DEPENDENCIES pry-byebug puma (~> 5.6) rack-test (= 0.7.0) - rails (~> 6.0)! + rails (~> 6.1.7.8) rails-controller-testing rdf (~> 3.2) redcarpet @@ -1474,6 +1550,7 @@ DEPENDENCIES web-console (>= 3.3.0) webdrivers (~> 4.7.0) webmock + willow_sword! BUNDLED WITH 2.4.21 diff --git a/config/initializers/hyrax.rb b/config/initializers/hyrax.rb index 8b2587a..0a1ce4f 100644 --- a/config/initializers/hyrax.rb +++ b/config/initializers/hyrax.rb @@ -2,5 +2,7 @@ # Use this to override any Hyrax configuration from the Knapsack -Hyrax.config do |config| +Rails.application.config.after_initialize do + Hyrax.config do |config| + end end diff --git a/hyrax-webapp b/hyrax-webapp index ca69d95..d453b24 160000 --- a/hyrax-webapp +++ b/hyrax-webapp @@ -1 +1 @@ -Subproject commit ca69d95ca3703272c8391ad470996de2fe2eae55 +Subproject commit d453b24355962f79d4b5788b02f9e13ef9c275e8 diff --git a/lib/generators/hyku_knapsack/work_resource/work_resource_generator.rb b/lib/generators/hyku_knapsack/work_resource/work_resource_generator.rb index 067f816..0a76fde 100644 --- a/lib/generators/hyku_knapsack/work_resource/work_resource_generator.rb +++ b/lib/generators/hyku_knapsack/work_resource/work_resource_generator.rb @@ -41,6 +41,8 @@ def banner end def create_controller + return if class_name.ends_with? "Resource" + template('controller.rb.erb', File.join('../app/controllers/hyrax', class_path, "#{plural_file_name}_controller.rb")) end @@ -119,15 +121,17 @@ def insert_hyku_works_controller_behavior end end + # rubocop:disable Metrics/MethodLength def insert_hyku_extra_includes_into_model model = File.join('../app/models/', class_path, "#{file_name}.rb") + af_model = class_name.to_s.gsub('Resource', '')&.safe_constantize if class_name.end_with?('Resource') insert_into_file model, before: "end" do <<-RUBY.gsub(/^ {8}/, ' ') include Hyrax::Schema(:with_pdf_viewer) include Hyrax::Schema(:with_video_embed) include Hyrax::ArResource include Hyrax::NestedWorks - + #{"\n Hyrax::ValkyrieLazyMigration.migrating(self, from: #{af_model})\n" if af_model} include IiifPrint.model_configuration( pdf_split_child_model: GenericWorkResource, pdf_splitter_service: IiifPrint::TenantConfig::PdfSplitter @@ -138,6 +142,38 @@ def insert_hyku_extra_includes_into_model end end + def insert_hyku_extra_includes_into_form + form = File.join('../app/forms/', class_path, "#{file_name}_form.rb") + insert_into_file form, after: "include Hyrax::FormFields(:#{file_name})\n" do + " include Hyrax::FormFields(:with_pdf_viewer)\n" \ + " include Hyrax::FormFields(:with_video_embed)\n" \ + " include VideoEmbedBehavior::Validation\n" + end + end + + def insert_hyku_extra_inclues_into_indexer + indexer = File.join('../app/indexers/', class_path, "#{file_name}_indexer.rb") + insert_into_file indexer, after: "include Hyrax::Indexer(:#{file_name})\n" do + " include HykuIndexing\n" + end + end + + def change_inheritance_of_form + form = File.join('../app/forms/', class_path, "#{file_name}_form.rb") + gsub_file form, 'Hyrax::Forms::PcdmObjectForm', 'Hyrax::Forms::ResourceForm' + end + + def change_inheritance_of_indexer + indexer = File.join('../app/indexers/', class_path, "#{file_name}_indexer.rb") + gsub_file indexer, "Hyrax::Indexers::PcdmObjectIndexer(#{class_name})", 'Hyrax::ValkyrieWorkIndexer' + end + + def modifiy_indexer_spec + indexer_spec = File.join('../spec/indexers/', class_path, "#{file_name}_indexer_spec.rb") + # remove the let(:resource) { WorkType.new } line + gsub_file indexer_spec, /let\(:resource\) { #{class_name}\.new }\n/, "let!(:resource) { Hyrax.persister.save(resource: #{class_name}.new) }\n" + end + private def rspec_installed? diff --git a/lib/hyku_knapsack/engine.rb b/lib/hyku_knapsack/engine.rb index 71b18e6..d1fc165 100644 --- a/lib/hyku_knapsack/engine.rb +++ b/lib/hyku_knapsack/engine.rb @@ -21,7 +21,7 @@ def self.load_translations! # only add the migrations if they are not already copied # via the rake task. Allows gem to work both with the install:migrations # and without it. - if !app.root.to_s.match(HykuKnapsack::Engine.root.to_s) && + if app.root.to_s != HykuKnapsack::Engine.root.to_s && app.root.join('db/migrate').children.none? { |path| path.fnmatch?("*.hyku_knapsack.rb") } config.paths["db/migrate"].expanded.each do |expanded_path| app.config.paths["db/migrate"] << expanded_path @@ -43,9 +43,12 @@ def self.load_translations! # omniauthable # ] # end + + # Ensure we are prepending the Hyrax::SimpleSchemaLoaderDecorator early + Hyrax::SimpleSchemaLoader.prepend(Hyrax::SimpleSchemaLoaderDecorator) end - config.after_initialize do + config.to_prepare do HykuKnapsack::Engine.root.glob("app/**/*_decorator*.rb").sort.each do |c| Rails.configuration.cache_classes ? require(c) : load(c) end @@ -53,7 +56,9 @@ def self.load_translations! HykuKnapsack::Engine.root.glob("lib/**/*_decorator*.rb").sort.each do |c| Rails.configuration.cache_classes ? require(c) : load(c) end + end + config.after_initialize do Hyrax::DerivativeService.services = [ IiifPrint::PluggableDerivativeService ] diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index 4323be0..7dce724 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -1,22 +1,22 @@ # frozen_string_literal: true + # This file is copied to spec/ when you run 'rails generate rspec:install' require "spec_helper" require File.expand_path("hyku_specs/rails_helper.rb", __dir__) ENV["RAILS_ENV"] ||= "test" # require File.expand_path('../config/environment', __dir__) -require Rails.root.join("config", "environment") +require File.expand_path("../hyrax-webapp/config/environment", __dir__) # Prevent database truncation if the environment is production abort("The Rails environment is running in production mode!") if Rails.env.production? require "rspec/rails" # Add additional requires below this line. Rails is not loaded until this point! require "factory_bot_rails" +FactoryBot.definition_file_paths = [File.expand_path("spec/factories", HykuKnapsack::Engine.root)] +FactoryBot.find_definitions -if defined?(HykuAddons) - FactoryBot.definition_file_paths = [File.expand_path("spec/factories", HykuAddons::Engine.root)] - FactoryBot.find_definitions -end - +require 'capybara/rails' +require 'dry-validation' # Requires supporting ruby files with custom matchers and macros, etc, in # spec/support/ and its subdirectories. Files matching `spec/**/*_spec.rb` are # run as spec files by default. This means that files in spec/support that end @@ -31,7 +31,7 @@ # require only the support files necessary. # # Require supporting ruby files from spec/support/ and subdirectories. Note: engine, not Rails.root context. -Dir[File.join(File.dirname(__FILE__), "support/**/*.rb")].each { |f| require f } +Dir[HykuKnapsack::Engine.root.join('spec', 'support', '**', '*.rb')].each { |f| require f } RSpec.configure do |config| # Remove this line if you're not using ActiveRecord or ActiveRecord fixtures @@ -41,6 +41,12 @@ # config.include Rails.application.routes.url_helpers # TODO is this needed? config.include HykuKnapsack::Engine.routes.url_helpers + config.include Capybara::DSL + config.include Fixtures::FixtureFileUpload - # End override + # To run specs locally without the spec/hyku_specs/ directory do: `bundle exec rspec --tag ~hyku` + config.define_derived_metadata(file_path: %r{spec/hyku_specs/}) do |metadata| + metadata[:hyku] = true + end + ## End override end