diff --git a/.github/workflows/dep-heads.yml b/.github/workflows/dep-heads.yml index 95d84ce..a118148 100644 --- a/.github/workflows/dep-heads.yml +++ b/.github/workflows/dep-heads.yml @@ -102,7 +102,7 @@ jobs: run: bundle exec ${{ matrix.exec_cmd }} truffleruby: - if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'truffleruby/') || startsWith(github.head_ref, 'feature/release'))" + if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'truffleruby/') || startsWith(github.head_ref, 'feature/release') || startsWith(github.event.pull_request.title, 'Release '))" name: Specs truffleruby@dep-heads runs-on: ubuntu-latest continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }} @@ -175,7 +175,7 @@ jobs: run: bundle exec ${{ matrix.exec_cmd }} jruby: - if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'jruby/') || startsWith(github.head_ref, 'feature/release'))" + if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'jruby/') || startsWith(github.head_ref, 'feature/release') || startsWith(github.event.pull_request.title, 'Release '))" name: Specs jruby@dep-heads runs-on: ubuntu-latest continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }} diff --git a/.github/workflows/heads.yml b/.github/workflows/heads.yml index 706f890..74044fd 100644 --- a/.github/workflows/heads.yml +++ b/.github/workflows/heads.yml @@ -92,7 +92,7 @@ jobs: run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }} truffleruby: - if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'truffleruby/') || startsWith(github.head_ref, 'feature/release'))" + if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'truffleruby/') || startsWith(github.head_ref, 'feature/release') || startsWith(github.event.pull_request.title, 'Release '))" name: Specs truffleruby-head@head runs-on: ubuntu-latest continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }} @@ -152,7 +152,7 @@ jobs: run: bundle exec appraisal ${{ matrix.appraisal }} bundle exec ${{ matrix.exec_cmd }} jruby: - if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'jruby/') || startsWith(github.head_ref, 'feature/release'))" + if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'jruby/') || startsWith(github.head_ref, 'feature/release') || startsWith(github.event.pull_request.title, 'Release '))" name: Specs jruby-head@head runs-on: ubuntu-latest continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }} diff --git a/.github/workflows/jruby-10.0.yml b/.github/workflows/jruby-10.0.yml index a91a9c2..ab8e646 100644 --- a/.github/workflows/jruby-10.0.yml +++ b/.github/workflows/jruby-10.0.yml @@ -27,7 +27,7 @@ concurrency: jobs: test: - if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'jruby/') || startsWith(github.head_ref, 'feature/release'))" + if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'jruby/') || startsWith(github.head_ref, 'feature/release') || startsWith(github.event.pull_request.title, 'Release '))" name: Specs ${{ matrix.ruby }}@${{ matrix.appraisal }} runs-on: ubuntu-latest continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }} diff --git a/.github/workflows/jruby-9.4.yml b/.github/workflows/jruby-9.4.yml index 6db1744..fcea280 100644 --- a/.github/workflows/jruby-9.4.yml +++ b/.github/workflows/jruby-9.4.yml @@ -27,7 +27,7 @@ concurrency: jobs: test: - if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'jruby/') || startsWith(github.head_ref, 'feature/release'))" + if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'jruby/') || startsWith(github.head_ref, 'feature/release') || startsWith(github.event.pull_request.title, 'Release '))" name: Specs ${{ matrix.ruby }}@${{ matrix.appraisal }} runs-on: ubuntu-22.04 continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }} diff --git a/.github/workflows/jruby.yml b/.github/workflows/jruby.yml index a02e0ce..c1bc93a 100644 --- a/.github/workflows/jruby.yml +++ b/.github/workflows/jruby.yml @@ -27,7 +27,7 @@ concurrency: jobs: test: - if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'jruby/') || startsWith(github.head_ref, 'feature/release'))" + if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'jruby/') || startsWith(github.head_ref, 'feature/release') || startsWith(github.event.pull_request.title, 'Release '))" name: Specs ${{ matrix.ruby }}@${{ matrix.appraisal }} runs-on: ubuntu-latest continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }} diff --git a/.github/workflows/truffle.yml b/.github/workflows/truffle.yml index 10b7d94..348aa67 100644 --- a/.github/workflows/truffle.yml +++ b/.github/workflows/truffle.yml @@ -27,7 +27,7 @@ concurrency: jobs: test: - if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'truffleruby/') || startsWith(github.head_ref, 'feature/release'))" + if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'truffleruby/') || startsWith(github.head_ref, 'feature/release') || startsWith(github.event.pull_request.title, 'Release '))" name: Specs ${{ matrix.ruby }}@${{ matrix.appraisal }} runs-on: ubuntu-latest continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }} diff --git a/.github/workflows/truffleruby-23.1.yml b/.github/workflows/truffleruby-23.1.yml index 46ffac2..ee0e4e6 100644 --- a/.github/workflows/truffleruby-23.1.yml +++ b/.github/workflows/truffleruby-23.1.yml @@ -27,7 +27,7 @@ concurrency: jobs: test: - if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'truffleruby/') || startsWith(github.head_ref, 'feature/release'))" + if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'truffleruby/') || startsWith(github.head_ref, 'feature/release') || startsWith(github.event.pull_request.title, 'Release '))" name: Specs ${{ matrix.ruby }}@${{ matrix.appraisal }} runs-on: ubuntu-22.04 continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }} diff --git a/.github/workflows/truffleruby-24.2.yml b/.github/workflows/truffleruby-24.2.yml index 6303c02..5a2c5b1 100644 --- a/.github/workflows/truffleruby-24.2.yml +++ b/.github/workflows/truffleruby-24.2.yml @@ -27,7 +27,7 @@ concurrency: jobs: test: - if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'truffleruby/') || startsWith(github.head_ref, 'feature/release'))" + if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'truffleruby/') || startsWith(github.head_ref, 'feature/release') || startsWith(github.event.pull_request.title, 'Release '))" name: Specs ${{ matrix.ruby }}@${{ matrix.appraisal }} runs-on: ubuntu-22.04 continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }} diff --git a/.github/workflows/truffleruby-25.0.yml b/.github/workflows/truffleruby-25.0.yml index 3540cf0..d614247 100644 --- a/.github/workflows/truffleruby-25.0.yml +++ b/.github/workflows/truffleruby-25.0.yml @@ -27,7 +27,7 @@ concurrency: jobs: test: - if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'truffleruby/') || startsWith(github.head_ref, 'feature/release'))" + if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'truffleruby/') || startsWith(github.head_ref, 'feature/release') || startsWith(github.event.pull_request.title, 'Release '))" name: Specs ${{ matrix.ruby }}@${{ matrix.appraisal }} runs-on: ubuntu-22.04 continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }} diff --git a/.github/workflows/truffleruby-33.0.yml b/.github/workflows/truffleruby-33.0.yml index e384539..0154809 100644 --- a/.github/workflows/truffleruby-33.0.yml +++ b/.github/workflows/truffleruby-33.0.yml @@ -27,7 +27,7 @@ concurrency: jobs: test: - if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'truffleruby/') || startsWith(github.head_ref, 'feature/release'))" + if: "(github.event_name != 'push' || (!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]'))) && (github.event_name != 'pull_request' || startsWith(github.head_ref, 'engines/') || startsWith(github.head_ref, 'truffleruby/') || startsWith(github.head_ref, 'feature/release') || startsWith(github.event.pull_request.title, 'Release '))" name: Specs ${{ matrix.ruby }}@${{ matrix.appraisal }} runs-on: ubuntu-22.04 continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }} diff --git a/Appraisal.root.gemfile b/Appraisal.root.gemfile index fa38c44..8297512 100644 --- a/Appraisal.root.gemfile +++ b/Appraisal.root.gemfile @@ -15,6 +15,19 @@ source "https://gem.coop" gemspec +# TruffleRuby ships older json default gems; keep the root bundle on those versions. +if respond_to?(:generator_only) + generator_only do + eval_gemfile "gemfiles/modular/json/truffleruby_22_3.gemfile" + eval_gemfile "gemfiles/modular/json/truffleruby_23_0.gemfile" + eval_gemfile "gemfiles/modular/json/truffleruby_23_1.gemfile" + end +else + eval_gemfile "gemfiles/modular/json/truffleruby_22_3.gemfile" + eval_gemfile "gemfiles/modular/json/truffleruby_23_0.gemfile" + eval_gemfile "gemfiles/modular/json/truffleruby_23_1.gemfile" +end + if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.2") if respond_to?(:generator_only) generator_only do diff --git a/Appraisals b/Appraisals index f80c80a..d41d8cc 100644 --- a/Appraisals +++ b/Appraisals @@ -81,12 +81,14 @@ end appraise "ruby-3-1" do eval_gemfile "modular/x_std_libs/r3.1/libs.gemfile" + eval_gemfile "modular/json/v2.gemfile" end appraise "ruby-3-2" do eval_gemfile "modular/json/truffleruby_23_1.gemfile" eval_gemfile "modular/x_std_libs/r3/libs.gemfile" - gem "json", "< 2.19" + eval_gemfile "modular/activesupport/truffleruby_23_1.gemfile" + eval_gemfile "modular/minitest/truffleruby_23_1.gemfile" end appraise "ruby-3-3" do diff --git a/Gemfile b/Gemfile index 3aa102c..3894712 100644 --- a/Gemfile +++ b/Gemfile @@ -8,7 +8,6 @@ source "https://gem.coop" -git_source(:github) { |repo_name| "git@github.com:#{repo_name}.git" } git_source(:codeberg) { |repo_name| "https://codeberg.org/#{repo_name}" } git_source(:gitlab) { |repo_name| "https://gitlab.com/#{repo_name}" } diff --git a/Gemfile.lock b/Gemfile.lock index 060e339..0fcde97 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,5 +1,5 @@ GIT - remote: git@github.com:pboling/rubocop-packaging.git + remote: https://github.com/pboling/rubocop-packaging.git revision: 3539ba858d379740d638566faee9e56b2b854145 ref: 3539ba858d379740d638566faee9e56b2b854145 specs: @@ -13,27 +13,6 @@ PATH debug_logging (4.1.4) version_gem (~> 1.1, >= 1.1.15) -PATH - remote: /var/home/pboling/src/my/galtzo-floss/yard-fence - specs: - yard-fence (0.9.9) - rdoc (>= 6.11, < 8) - version_gem (~> 1.1, >= 1.1.15) - yard (~> 0.9, >= 0.9.37) - -PATH - remote: /var/home/pboling/src/my/galtzo-floss/yard-timekeeper - specs: - yard-timekeeper (0.2.7) - version_gem (~> 1.1, >= 1.1.15) - -PATH - remote: /var/home/pboling/src/my/galtzo-floss/yard-yaml - specs: - yard-yaml (0.2.6) - version_gem (~> 1.1, >= 1.1.15) - yaml-converter (~> 0.2) - GEM remote: https://gem.coop/ specs: @@ -494,7 +473,7 @@ GEM silent_stream (1.0.12) logger (~> 1.2) version_gem (>= 1.1.8, < 3) - simplecov (1.2.0) + simplecov (1.3.0) simplecov-cobertura (4.0.0) rexml simplecov (~> 1.0) @@ -506,7 +485,7 @@ GEM simplecov (>= 0.4.1) simplecov_lcov_formatter (0.9.0) simplecov (>= 0.18) - sorbet-runtime (0.6.13497) + sorbet-runtime (0.6.13499) standard (1.56.0) language_server-protocol (~> 3.17.0.2) lint_roller (~> 1.0) @@ -559,13 +538,13 @@ GEM parslet (~> 2.0) tree_sitter_language_pack (>= 1.16.2, < 2.0) version_gem (~> 1.1, >= 1.1.15) - tree_sitter_language_pack (1.18.0-aarch64-linux) + tree_sitter_language_pack (1.19.0-aarch64-linux) sorbet-runtime (~> 0.5) - tree_sitter_language_pack (1.18.0-arm64-darwin) + tree_sitter_language_pack (1.19.0-arm64-darwin) sorbet-runtime (~> 0.5) - tree_sitter_language_pack (1.18.0-x86_64-darwin) + tree_sitter_language_pack (1.19.0-x86_64-darwin) sorbet-runtime (~> 0.5) - tree_sitter_language_pack (1.18.0-x86_64-linux) + tree_sitter_language_pack (1.19.0-x86_64-linux) sorbet-runtime (~> 0.5) tsort (0.2.0) tty-cursor (0.7.1) @@ -595,6 +574,10 @@ GEM tree_haver (= 7.1.9) version_gem (~> 1.1, >= 1.1.15) yard (0.9.45) + yard-fence (0.9.9) + rdoc (>= 6.11, < 8) + version_gem (~> 1.1, >= 1.1.15) + yard (~> 0.9, >= 0.9.37) yard-junk (0.1.0) benchmark ostruct @@ -605,6 +588,11 @@ GEM zeitwerk (~> 2.6) yard-relative_markdown_links (0.6.0) nokogiri (>= 1.14.3, < 2) + yard-timekeeper (0.2.7) + version_gem (~> 1.1, >= 1.1.15) + yard-yaml (0.2.6) + version_gem (~> 1.1, >= 1.1.15) + yaml-converter (~> 0.2) zeitwerk (2.8.3) zlib (3.2.3) @@ -661,12 +649,12 @@ DEPENDENCIES webrick (~> 1.9) yaml-converter (~> 0.2, >= 0.2.5) yard (~> 0.9, >= 0.9.45) - yard-fence! + yard-fence (~> 0.9, >= 0.9.8) yard-junk (~> 0.1, >= 0.1.0) yard-lint (~> 1.11, >= 1.11.0) yard-relative_markdown_links (~> 0.6) - yard-timekeeper! - yard-yaml! + yard-timekeeper (~> 0.2, >= 0.2.6) + yard-yaml (~> 0.2, >= 0.2.5) CHECKSUMS activesupport (8.1.3.1) sha256=85458765f25ea48b9019c46b6bb3fa5683197bf4280d9f06710a6e8d7a831376 @@ -821,12 +809,12 @@ CHECKSUMS securerandom (0.4.1) sha256=cc5193d414a4341b6e225f0cb4446aceca8e50d5e1888743fac16987638ea0b1 service_actor (3.9.4) sha256=e63b523630b9a7e62959b2a90113b08d2565b5de9c148557b281ef847c9539ce silent_stream (1.0.12) sha256=377c43aa10033fe90c33b39ea8cd97d79f2d1c4856df598efc56f3091f3ae782 - simplecov (1.2.0) sha256=ea6acd05eece5a41990e2a5171c57d15700d329326c7666c85ee8c6a0dd0977e + simplecov (1.3.0) sha256=d9886307863c1ead47657dcbed869bfffd82318808b09014d8f0ff77dcfe7492 simplecov-cobertura (4.0.0) sha256=e4fb3159b1ecea545b44f5452a8611305323e78ad23eae8aed35924d072e01ea simplecov-console (0.9.5) sha256=b1108bcfff5f210143e2b8301698c367b01586f20d25a73e95475a5df6fc6ff6 simplecov-rcov (0.3.7) sha256=372f50bf6df6b6350b7d0c840f2f8bdabe021861a43c26877b747c9ac96139fc simplecov_lcov_formatter (0.9.0) sha256=4c1839bb31dcf7a8f7a6474c94ed228aa03b994e9dd5e1965e58b4121b049bed - sorbet-runtime (0.6.13497) sha256=d62db88a296352254418e40768d89da1316a4463e7cd7bc0660181970cf01d71 + sorbet-runtime (0.6.13499) sha256=8c58d7df13178c614733c0d4c05fd8e2f01ef09192e5cb4217082dcbbbd20fbc standard (1.56.0) sha256=ae2af4d9669589162ac69ed5ef59dcf9f346d4afc81f7e62b84339310dfcb787 standard-custom (1.0.2) sha256=424adc84179a074f1a2a309bb9cf7cd6bfdb2b6541f20c6bf9436c0ba22a652b standard-performance (1.9.0) sha256=49483d31be448292951d80e5e67cdcb576c2502103c7b40aec6f1b6e9c88e3f2 @@ -844,10 +832,10 @@ CHECKSUMS toml-merge (7.1.9) sha256=a085b6d3e0f5ceed49ad2711f643c640a65cfbedca590dafdef7ce6e33fec71a toml-rb (4.2.1) sha256=e6c40e27905e86a7d38cc252eb4bc12d72c61576c826a358390c30f5de0b9dbb tree_haver (7.1.9) sha256=d7420e0f8f21368e1362da63bfe105897e7e56bdf741ba292adef7a6c3ea0a75 - tree_sitter_language_pack (1.18.0-aarch64-linux) sha256=67b8c09a3ed344f82bbcf726dcb6741f0f82b9f4fb240e629e3176cffeaa9f62 - tree_sitter_language_pack (1.18.0-arm64-darwin) sha256=12801c12b9fa46233d7c9880e80718245e41b76dbe4c06996c37ae0c55d56b9c - tree_sitter_language_pack (1.18.0-x86_64-darwin) sha256=3b8c879c68c9ad0f36f779f3df2b1298bcaa6d1051bc99588e142f97a7d4a199 - tree_sitter_language_pack (1.18.0-x86_64-linux) sha256=7b3b3c7ad0a78f5876669d1b46ca6d8bcbc287beff876f7c6dafd7a3538a1f58 + tree_sitter_language_pack (1.19.0-aarch64-linux) sha256=32a592f47d9a2f4e73c613b86db8e462d79992e007421518dd701759bd7aef77 + tree_sitter_language_pack (1.19.0-arm64-darwin) sha256=3be14a05364ee468a7e7ea768752df02772626ae5d84e7c195ca4c89b2e1d5f2 + tree_sitter_language_pack (1.19.0-x86_64-darwin) sha256=d78efb753baad0c37b795dde6fec2ae028db81a7df78561e8fb894a4b8ff6b45 + tree_sitter_language_pack (1.19.0-x86_64-linux) sha256=9374c75f41d5ab59dba93b5f312f392b68c0e7638ca510d88cdf802a3265a08a tsort (0.2.0) sha256=9650a793f6859a43b6641671278f79cfead60ac714148aabe4e3f0060480089f tty-cursor (0.7.1) sha256=79534185e6a777888d88628b14b6a1fdf5154a603f285f80b1753e1908e0bf48 tty-progressbar (0.18.3) sha256=6cbb4260e55e74a9180d502143eb6a467d2c8e51bf5f3c9509fb5cacc3d4a5f6 @@ -861,12 +849,12 @@ CHECKSUMS yaml-converter (0.2.6) sha256=f270e8bcf19a20830056c77acf3bf942545e445455f20825af6a6884384611e9 yaml-merge (7.1.9) sha256=fab35e05ea9905494ff754363ab8173c7528e6b4e0c364ecba11cb1cf974fe25 yard (0.9.45) sha256=52e211493f7cb8a3ebf7e104a25a1e73937a3103092545d34cb88fafebb3dc51 - yard-fence (0.9.9) + yard-fence (0.9.9) sha256=62c4d419e0da092a67b4d0f7115e54df44662bae6e705f3bcafb8f1cc33195b2 yard-junk (0.1.0) sha256=e85fe2ec1afa47313decd333447b53458cb1ed49b510b70015fdc3041a94bcdd yard-lint (1.11.0) sha256=98331ffbc7e0b9bbf1872dfba8c628531876cf5011b5f8f0ec2e129083ff8a52 yard-relative_markdown_links (0.6.0) sha256=3e5ffa85cbad9bac70bee5421774b190fb25d3bdf489323a5b3534f647d1a70e - yard-timekeeper (0.2.7) - yard-yaml (0.2.6) + yard-timekeeper (0.2.7) sha256=a97a8cf15cd97ad0121189b05084233fd859894446457269522cd7b551e9383e + yard-yaml (0.2.6) sha256=4d4ecb669655403766c1167e4bdaab0a3921a66f263f1fb0ace9d6ea4699cb1c zeitwerk (2.8.3) sha256=2c85125a8467ce069e20123d1e709a08955c9d29c118c25b46b7b7fafdbb92e5 zlib (3.2.3) sha256=5bd316698b32f31a64ab910a8b6c282442ca1626a81bbd6a1674e8522e319c20 diff --git a/gemfiles/modular/activesupport/truffleruby_23_1.gemfile b/gemfiles/modular/activesupport/truffleruby_23_1.gemfile new file mode 100644 index 0000000..22ec0e0 --- /dev/null +++ b/gemfiles/modular/activesupport/truffleruby_23_1.gemfile @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +if RUBY_ENGINE == "truffleruby" && RUBY_ENGINE_VERSION.start_with?("23.1") + # ActiveSupport >= 7.2 calls Array#to_set while loading, before `set` is required, + # which TruffleRuby 23.1 does not autoload. + gem "activesupport", "< 7.2" +end diff --git a/gemfiles/modular/json/v2.gemfile b/gemfiles/modular/json/v2.gemfile new file mode 100644 index 0000000..1598128 --- /dev/null +++ b/gemfiles/modular/json/v2.gemfile @@ -0,0 +1,7 @@ +# frozen_string_literal: true + +# json 3.0 removed the `quirks_mode:` keyword that ActiveSupport < 8.1 still passes to +# JSON.generate, so appraisals that resolve ActiveSupport < 8.1 must stay on json 2.x. +# Engine-specific json pins (modular/json/truffleruby_*.gemfile) win when evaluated first. +declared_gems = instance_variable_get(:@dependencies).to_a.map(&:name) +gem "json", "< 3" unless declared_gems.include?("json") diff --git a/gemfiles/modular/minitest/truffleruby_23_1.gemfile b/gemfiles/modular/minitest/truffleruby_23_1.gemfile new file mode 100644 index 0000000..7b1d6a4 --- /dev/null +++ b/gemfiles/modular/minitest/truffleruby_23_1.gemfile @@ -0,0 +1,6 @@ +# frozen_string_literal: true + +if RUBY_ENGINE == "truffleruby" && RUBY_ENGINE_VERSION.start_with?("23.1") + # minitest >= 5.26.2 uses endless method definitions that TruffleRuby 23.1 cannot parse. + gem "minitest", "< 5.26.2" +end diff --git a/gemfiles/ruby_3_1.gemfile b/gemfiles/ruby_3_1.gemfile index cfb0b98..3e7b5f5 100644 --- a/gemfiles/ruby_3_1.gemfile +++ b/gemfiles/ruby_3_1.gemfile @@ -5,3 +5,5 @@ source "https://gem.coop" gemspec path: "../" eval_gemfile("modular/x_std_libs/r3.1/libs.gemfile") + +eval_gemfile("modular/json/v2.gemfile") diff --git a/gemfiles/ruby_3_2.gemfile b/gemfiles/ruby_3_2.gemfile index c4ed9e2..e7b480b 100644 --- a/gemfiles/ruby_3_2.gemfile +++ b/gemfiles/ruby_3_2.gemfile @@ -2,10 +2,12 @@ source "https://gem.coop" -gem "json", "< 2.19" - gemspec path: "../" eval_gemfile("modular/json/truffleruby_23_1.gemfile") eval_gemfile("modular/x_std_libs/r3/libs.gemfile") + +eval_gemfile("modular/activesupport/truffleruby_23_1.gemfile") + +eval_gemfile("modular/minitest/truffleruby_23_1.gemfile") diff --git a/lib/debug_logging/log_subscriber.rb b/lib/debug_logging/log_subscriber.rb index 0e3136b..afa3c16 100644 --- a/lib/debug_logging/log_subscriber.rb +++ b/lib/debug_logging/log_subscriber.rb @@ -1,6 +1,8 @@ require "active_support/notifications" require "active_support/isolated_execution_state" require "active_support/core_ext/hash/except" +# ActiveSupport 7.1+ components expect the framework (e.g. ActiveSupport.deprecator) to be loaded first. +require "active_support" require "active_support/log_subscriber" module DebugLogging