kettle-jem 7.1.36 → 7.1.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +50 -1
- data/README.md +1 -1
- data/lib/kettle/jem/templates/.github/workflows/dep-heads.yml.example +8 -3
- data/lib/kettle/jem/templates/.github/workflows/truffle.yml.example +5 -7
- data/lib/kettle/jem/templates/.github/workflows/truffleruby-22.3.yml.example +5 -7
- data/lib/kettle/jem/templates/.github/workflows/truffleruby-23.1.yml.example +5 -7
- data/lib/kettle/jem/templates/.github/workflows/truffleruby-24.2.yml.example +5 -7
- data/lib/kettle/jem/templates/.github/workflows/truffleruby-25.0.yml.example +5 -7
- data/lib/kettle/jem/templates/.github/workflows/truffleruby-33.0.yml.example +5 -7
- data/lib/kettle/jem/templates/gem.gemspec.example +2 -2
- data/lib/kettle/jem/templates/gemfiles/modular/style.gemfile.example +1 -1
- data/lib/kettle/jem/templates/gemfiles/modular/templating_local.gemfile.example +1 -0
- data/lib/kettle/jem/templates/shim/gem.gemspec.example +1 -1
- data/lib/kettle/jem/version.rb +1 -1
- data/lib/kettle/jem.rb +51 -16
- data.tar.gz.sig +0 -0
- metadata +6 -6
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 06b59163766aa288749c2703d202e0cd7ac981fe317e47ace013da21867a38e2
|
|
4
|
+
data.tar.gz: e116a15d61f5a0750607536368eb33d1f4137b4c914531ad7afb1c0472b186e4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7a983493832010208927020c9455f9168f5a842f6612d5466e0774515d9d8d0215baad2f9b3f7f491d24ad65dcb847f9709ddc37dabab0e0080fe5f058755851
|
|
7
|
+
data.tar.gz: 42c2d0fd3a395a329db512bbe507ae0608139f6196d0ff551a0773aa6b283f0939263d1688c837e4202e244dad4d10b7a4b2eb9369637837d5f2b9f4c4d410af
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -30,6 +30,51 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
30
30
|
|
|
31
31
|
### Security
|
|
32
32
|
|
|
33
|
+
## [7.1.38] - 2026-10-21
|
|
34
|
+
|
|
35
|
+
- TAG: [v7.1.38][7.1.38t]
|
|
36
|
+
- COVERAGE: 93.45% -- 11396/12195 lines in 17 files
|
|
37
|
+
- BRANCH COVERAGE: 77.08% -- 4909/6369 branches in 17 files
|
|
38
|
+
- 19.89% documented
|
|
39
|
+
|
|
40
|
+
### Changed
|
|
41
|
+
|
|
42
|
+
- [kc] kettle-jem-deps-floor: Update kettle-jem template dependency floors:
|
|
43
|
+
- kettle-family (>= 1.3.28 -> >= 1.3.29)
|
|
44
|
+
|
|
45
|
+
## [7.1.37] - 2026-10-21
|
|
46
|
+
|
|
47
|
+
- TAG: [v7.1.37][7.1.37t]
|
|
48
|
+
- COVERAGE: 93.45% -- 11396/12195 lines in 17 files
|
|
49
|
+
- BRANCH COVERAGE: 77.08% -- 4909/6369 branches in 17 files
|
|
50
|
+
- 19.89% documented
|
|
51
|
+
|
|
52
|
+
### Changed
|
|
53
|
+
|
|
54
|
+
- [kc] kettle-jem/prepare: updated 6 project files:
|
|
55
|
+
- dependencies (6)
|
|
56
|
+
|
|
57
|
+
- [kc] kettle-jem/template: updated 4 project files:
|
|
58
|
+
- code and tests (1)
|
|
59
|
+
- dependencies (2)
|
|
60
|
+
- other (1)
|
|
61
|
+
|
|
62
|
+
- [kc] kettle-jem-deps-floor: Update kettle-jem template dependency floors:
|
|
63
|
+
- appraisal2 (>= 3.2.5 -> >= 3.2.6)
|
|
64
|
+
- appraisal2-rubocop (>= 1.0.4 -> >= 1.0.5)
|
|
65
|
+
- kettle-dev (>= 3.1.19 -> >= 3.1.20)
|
|
66
|
+
- kettle-family (>= 1.3.25 -> >= 1.3.28)
|
|
67
|
+
|
|
68
|
+
### Fixed
|
|
69
|
+
|
|
70
|
+
- VersionGem bootstrap: emit a compact `%w[version.rb version_gem.rb]` paths loader in the managed version coverage example so generated specs satisfy the default `RSpec/ExampleLength` (Max: 5), and rewrite both previously emitted multi-line array forms (with or without trailing comma) to the compact form on templating.
|
|
71
|
+
|
|
72
|
+
- Stop materializing exact sibling version pins (= x.y.z) into generated Gemfile and modular *_local.gemfile nomono requirement hashes. The destination's own gemspec already enforces those constraints dynamically via the gemspec directive, so the literal copies only went stale on family version bumps and broke bundle resolution (prepare_lockfiles) before templating could refresh them. Flexible constraints (floors) are still materialized.
|
|
73
|
+
|
|
74
|
+
- Include ast-crispr-toml in generated local StructuredMerge Gemfiles so Kettle-family and sibling TOML versions resolve from the same checkout.
|
|
75
|
+
|
|
76
|
+
- Bound JRuby dep-heads bundle and native-extension build concurrency to prevent memory exhaustion on constrained runners
|
|
77
|
+
|
|
33
78
|
## [7.1.36] - 2026-10-20
|
|
34
79
|
|
|
35
80
|
- TAG: [v7.1.36][7.1.36t]
|
|
@@ -2370,7 +2415,11 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
2370
2415
|
- Released kettle-jem as part of the initial StructuredMerge Ruby 7.0.0 gem set.
|
|
2371
2416
|
- Included packaged templates and parser-backed merge support for Ruby gem templating.
|
|
2372
2417
|
|
|
2373
|
-
[Unreleased]: https://github.com/structuredmerge/structuredmerge-ruby/compare/v7.1.
|
|
2418
|
+
[Unreleased]: https://github.com/structuredmerge/structuredmerge-ruby/compare/v7.1.38...HEAD
|
|
2419
|
+
[7.1.38]: https://github.com/structuredmerge/structuredmerge-ruby/compare/v7.1.37...v7.1.38
|
|
2420
|
+
[7.1.38t]: https://github.com/structuredmerge/structuredmerge-ruby/releases/tag/v7.1.38
|
|
2421
|
+
[7.1.37]: https://github.com/structuredmerge/structuredmerge-ruby/compare/v7.1.36...v7.1.37
|
|
2422
|
+
[7.1.37t]: https://github.com/structuredmerge/structuredmerge-ruby/releases/tag/v7.1.37
|
|
2374
2423
|
[7.1.36]: https://github.com/structuredmerge/structuredmerge-ruby/compare/v7.1.35...v7.1.36
|
|
2375
2424
|
[7.1.36t]: https://github.com/structuredmerge/structuredmerge-ruby/releases/tag/v7.1.36
|
|
2376
2425
|
[7.1.35]: https://github.com/structuredmerge/structuredmerge-ruby/compare/v7.1.34...v7.1.35
|
data/README.md
CHANGED
|
@@ -923,7 +923,7 @@ Thanks for RTFM. ☺️
|
|
|
923
923
|
[📌gitmoji]: https://gitmoji.dev
|
|
924
924
|
[📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
|
|
925
925
|
[🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
|
926
|
-
[🧮kloc-img]: https://img.shields.io/badge/KLOC-12.
|
|
926
|
+
[🧮kloc-img]: https://img.shields.io/badge/KLOC-12.195-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
|
|
927
927
|
[🔐security]: https://github.com/structuredmerge/structuredmerge-ruby/blob/main/SECURITY.md
|
|
928
928
|
[🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
|
|
929
929
|
[📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|
|
@@ -88,7 +88,7 @@ jobs:
|
|
|
88
88
|
|
|
89
89
|
- name: Bundle install
|
|
90
90
|
if: ${{ !env.ACT && matrix.ruby == 'jruby' }}
|
|
91
|
-
run: bundle install --jobs
|
|
91
|
+
run: bundle install --jobs 1
|
|
92
92
|
|
|
93
93
|
- name: Restore RSpec status log
|
|
94
94
|
if: "${{!env.ACT}}"
|
|
@@ -161,7 +161,7 @@ jobs:
|
|
|
161
161
|
|
|
162
162
|
- name: Bundle install
|
|
163
163
|
if: ${{ !env.ACT && matrix.ruby == 'jruby' }}
|
|
164
|
-
run: bundle install --jobs
|
|
164
|
+
run: bundle install --jobs 1
|
|
165
165
|
|
|
166
166
|
- name: Restore RSpec status log
|
|
167
167
|
if: "${{!env.ACT}}"
|
|
@@ -184,6 +184,11 @@ jobs:
|
|
|
184
184
|
continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }}
|
|
185
185
|
env:
|
|
186
186
|
BUNDLE_GEMFILE: ${{ github.workspace }}/${{ matrix.bundle_gemfile || 'Appraisal.root.gemfile' }}
|
|
187
|
+
# Keep JVM and native-extension build memory bounded on the constrained runner.
|
|
188
|
+
JRUBY_OPTS: "-J-Xmx1280m"
|
|
189
|
+
BUNDLE_JOBS: "1"
|
|
190
|
+
CARGO_BUILD_JOBS: "1"
|
|
191
|
+
TURBO_TESTS2_MAX_PROCESSES: 2
|
|
187
192
|
strategy:
|
|
188
193
|
fail-fast: true
|
|
189
194
|
matrix:
|
|
@@ -235,7 +240,7 @@ jobs:
|
|
|
235
240
|
|
|
236
241
|
- name: Bundle install
|
|
237
242
|
if: ${{ !env.ACT && matrix.ruby == 'jruby' }}
|
|
238
|
-
run: bundle install --jobs
|
|
243
|
+
run: bundle install --jobs 1
|
|
239
244
|
|
|
240
245
|
- name: Restore RSpec status log
|
|
241
246
|
if: "${{!env.ACT}}"
|
|
@@ -5,14 +5,12 @@ permissions:
|
|
|
5
5
|
|
|
6
6
|
env:
|
|
7
7
|
K_SOUP_COV_DO: false
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
11
|
-
# engine; serial-only lanes waste CI time and trip the stall watchdog on
|
|
12
|
-
# legitimately long tests.
|
|
8
|
+
# Cap worker concurrency to bound memory use on this JVM runtime.
|
|
9
|
+
# Previous worker failures were caused by memory exhaustion, not parallelism;
|
|
10
|
+
# retain two workers rather than disabling parallel execution.
|
|
13
11
|
TURBO_TESTS2_MAX_PROCESSES: 2
|
|
14
|
-
#
|
|
15
|
-
#
|
|
12
|
+
# Allow longer silent test windows before the worker watchdog fires.
|
|
13
|
+
# TruffleRuby can need more time than the default 900s threshold.
|
|
16
14
|
TURBO_TESTS2_WATCHDOG_SECONDS: 1500
|
|
17
15
|
|
|
18
16
|
on:
|
|
@@ -5,14 +5,12 @@ permissions:
|
|
|
5
5
|
|
|
6
6
|
env:
|
|
7
7
|
K_SOUP_COV_DO: false
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
11
|
-
# engine; serial-only lanes waste CI time and trip the stall watchdog on
|
|
12
|
-
# legitimately long tests.
|
|
8
|
+
# Cap worker concurrency to bound memory use on this JVM runtime.
|
|
9
|
+
# Previous worker failures were caused by memory exhaustion, not parallelism;
|
|
10
|
+
# retain two workers rather than disabling parallel execution.
|
|
13
11
|
TURBO_TESTS2_MAX_PROCESSES: 2
|
|
14
|
-
#
|
|
15
|
-
#
|
|
12
|
+
# Allow longer silent test windows before the worker watchdog fires.
|
|
13
|
+
# TruffleRuby can need more time than the default 900s threshold.
|
|
16
14
|
TURBO_TESTS2_WATCHDOG_SECONDS: 1500
|
|
17
15
|
|
|
18
16
|
on:
|
|
@@ -5,14 +5,12 @@ permissions:
|
|
|
5
5
|
|
|
6
6
|
env:
|
|
7
7
|
K_SOUP_COV_DO: false
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
11
|
-
# engine; serial-only lanes waste CI time and trip the stall watchdog on
|
|
12
|
-
# legitimately long tests.
|
|
8
|
+
# Cap worker concurrency to bound memory use on this JVM runtime.
|
|
9
|
+
# Previous worker failures were caused by memory exhaustion, not parallelism;
|
|
10
|
+
# retain two workers rather than disabling parallel execution.
|
|
13
11
|
TURBO_TESTS2_MAX_PROCESSES: 2
|
|
14
|
-
#
|
|
15
|
-
#
|
|
12
|
+
# Allow longer silent test windows before the worker watchdog fires.
|
|
13
|
+
# TruffleRuby can need more time than the default 900s threshold.
|
|
16
14
|
TURBO_TESTS2_WATCHDOG_SECONDS: 1500
|
|
17
15
|
|
|
18
16
|
on:
|
|
@@ -5,14 +5,12 @@ permissions:
|
|
|
5
5
|
|
|
6
6
|
env:
|
|
7
7
|
K_SOUP_COV_DO: false
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
11
|
-
# engine; serial-only lanes waste CI time and trip the stall watchdog on
|
|
12
|
-
# legitimately long tests.
|
|
8
|
+
# Cap worker concurrency to bound memory use on this JVM runtime.
|
|
9
|
+
# Previous worker failures were caused by memory exhaustion, not parallelism;
|
|
10
|
+
# retain two workers rather than disabling parallel execution.
|
|
13
11
|
TURBO_TESTS2_MAX_PROCESSES: 2
|
|
14
|
-
#
|
|
15
|
-
#
|
|
12
|
+
# Allow longer silent test windows before the worker watchdog fires.
|
|
13
|
+
# TruffleRuby can need more time than the default 900s threshold.
|
|
16
14
|
TURBO_TESTS2_WATCHDOG_SECONDS: 1500
|
|
17
15
|
|
|
18
16
|
on:
|
|
@@ -5,14 +5,12 @@ permissions:
|
|
|
5
5
|
|
|
6
6
|
env:
|
|
7
7
|
K_SOUP_COV_DO: false
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
11
|
-
# engine; serial-only lanes waste CI time and trip the stall watchdog on
|
|
12
|
-
# legitimately long tests.
|
|
8
|
+
# Cap worker concurrency to bound memory use on this JVM runtime.
|
|
9
|
+
# Previous worker failures were caused by memory exhaustion, not parallelism;
|
|
10
|
+
# retain two workers rather than disabling parallel execution.
|
|
13
11
|
TURBO_TESTS2_MAX_PROCESSES: 2
|
|
14
|
-
#
|
|
15
|
-
#
|
|
12
|
+
# Allow longer silent test windows before the worker watchdog fires.
|
|
13
|
+
# TruffleRuby can need more time than the default 900s threshold.
|
|
16
14
|
TURBO_TESTS2_WATCHDOG_SECONDS: 1500
|
|
17
15
|
|
|
18
16
|
on:
|
|
@@ -5,14 +5,12 @@ permissions:
|
|
|
5
5
|
|
|
6
6
|
env:
|
|
7
7
|
K_SOUP_COV_DO: false
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
11
|
-
# engine; serial-only lanes waste CI time and trip the stall watchdog on
|
|
12
|
-
# legitimately long tests.
|
|
8
|
+
# Cap worker concurrency to bound memory use on this JVM runtime.
|
|
9
|
+
# Previous worker failures were caused by memory exhaustion, not parallelism;
|
|
10
|
+
# retain two workers rather than disabling parallel execution.
|
|
13
11
|
TURBO_TESTS2_MAX_PROCESSES: 2
|
|
14
|
-
#
|
|
15
|
-
#
|
|
12
|
+
# Allow longer silent test windows before the worker watchdog fires.
|
|
13
|
+
# TruffleRuby can need more time than the default 900s threshold.
|
|
16
14
|
TURBO_TESTS2_WATCHDOG_SECONDS: 1500
|
|
17
15
|
|
|
18
16
|
on:
|
|
@@ -118,7 +118,7 @@ Gem::Specification.new do |spec|
|
|
|
118
118
|
# and preferably a modular one (see gemfiles/modular/*.gemfile).
|
|
119
119
|
|
|
120
120
|
# Dev, Test, & Release Tasks
|
|
121
|
-
spec.add_development_dependency("kettle-dev", "~> 3.1", ">= 3.1.
|
|
121
|
+
spec.add_development_dependency("kettle-dev", "~> 3.1", ">= 3.1.20") # ruby >= {KJ|MIN_TEST_RUBY}
|
|
122
122
|
|
|
123
123
|
# Security
|
|
124
124
|
spec.add_development_dependency("bundler-audit", "~> 0.9.3") # ruby >= 2.0.0
|
|
@@ -132,7 +132,7 @@ Gem::Specification.new do |spec|
|
|
|
132
132
|
# Testing
|
|
133
133
|
# Loads version files in anonymous namespaces for coverage without constant redefinition warnings.
|
|
134
134
|
spec.add_development_dependency("anonymous_loader", "~> 0.1", ">= 0.1.3") # ruby >= 2.2.0
|
|
135
|
-
spec.add_development_dependency("appraisal2", "~> 3.2", ">= 3.2.
|
|
135
|
+
spec.add_development_dependency("appraisal2", "~> 3.2", ">= 3.2.6") # ruby >= 1.8.7, for testing against multiple versions of dependencies
|
|
136
136
|
spec.add_development_dependency("kettle-test", "~> 2.0", ">= 2.0.27") # ruby >= {KJ|MIN_TEST_RUBY}
|
|
137
137
|
spec.add_development_dependency("turbo_tests2", "~> 4.0", ">= 4.0.0") # ruby >= 2.4.0, default kettle-test runner
|
|
138
138
|
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
gem "reek", "~> 6.6", ">= 6.6.0"
|
|
13
13
|
|
|
14
14
|
platform :mri do
|
|
15
|
-
gem "appraisal2-rubocop", "~> 1.0", ">= 1.0.
|
|
15
|
+
gem "appraisal2-rubocop", "~> 1.0", ">= 1.0.5", require: false
|
|
16
16
|
gem "rubocop-gradual", "~> 0.4", ">= 0.4.0"
|
|
17
17
|
# rubocop-minitest floor held at 0.40: 0.41.0 requires rubocop >= 1.89.0,
|
|
18
18
|
# but standard (~> 1.56) caps rubocop at ~> 1.88.0, making the pair
|
|
@@ -30,7 +30,7 @@ Gem::Specification.new do |spec|
|
|
|
30
30
|
spec.add_dependency "{KJ|SHIMMED_GEM_NAME}"
|
|
31
31
|
|
|
32
32
|
# Dev, Test, & Release Tasks
|
|
33
|
-
spec.add_development_dependency("kettle-dev", "~> 3.1", ">= 3.1.
|
|
33
|
+
spec.add_development_dependency("kettle-dev", "~> 3.1", ">= 3.1.20") # ruby >= {KJ|MIN_TEST_RUBY}
|
|
34
34
|
|
|
35
35
|
# Tasks
|
|
36
36
|
spec.add_development_dependency "rake", "~> 13.0"
|
data/lib/kettle/jem/version.rb
CHANGED
|
@@ -5,7 +5,7 @@ module Kettle
|
|
|
5
5
|
# Version namespace for this gem.
|
|
6
6
|
module Version
|
|
7
7
|
# Current gem version.
|
|
8
|
-
VERSION = "7.1.
|
|
8
|
+
VERSION = "7.1.38"
|
|
9
9
|
end
|
|
10
10
|
# Current gem version exposed at the traditional constant location.
|
|
11
11
|
VERSION = Version::VERSION # Traditional Constant Location
|
data/lib/kettle/jem.rb
CHANGED
|
@@ -63,7 +63,7 @@ module Kettle
|
|
|
63
63
|
TEMPLATE_MANAGED_DEPENDENCIES = [
|
|
64
64
|
{name: PACKAGE_NAME, requirements: ["~> 7.1", ">= 7.1.28"], bootstrap: false},
|
|
65
65
|
{name: "nomono", requirements: ["~> 1.1", ">= 1.1.14"], bootstrap: true},
|
|
66
|
-
{name: "kettle-dev", requirements: ["~> 3.1", ">= 3.1.
|
|
66
|
+
{name: "kettle-dev", requirements: ["~> 3.1", ">= 3.1.20"], bootstrap: true},
|
|
67
67
|
{
|
|
68
68
|
name: "kettle-changelog",
|
|
69
69
|
requirements: ["~> 1.0", ">= 1.0.13"],
|
|
@@ -5118,11 +5118,11 @@ module Kettle
|
|
|
5118
5118
|
|
|
5119
5119
|
def monorepo_root_gemfile_dependency_lines
|
|
5120
5120
|
[
|
|
5121
|
-
{name: "appraisal2", source: %(gem "appraisal2", "~> 3.2", ">= 3.2.
|
|
5121
|
+
{name: "appraisal2", source: %(gem "appraisal2", "~> 3.2", ">= 3.2.6"\n)},
|
|
5122
5122
|
{name: "bundler-audit", source: %(gem "bundler-audit", "~> 0.9.3"\n)},
|
|
5123
|
-
{name: "kettle-dev", source: %(gem "kettle-dev", "~> 3.1", ">= 3.1.
|
|
5123
|
+
{name: "kettle-dev", source: %(gem "kettle-dev", "~> 3.1", ">= 3.1.20"\n)},
|
|
5124
5124
|
{name: "kettle-drift", source: %(gem "kettle-drift", "~> 1.0", ">= 1.0.17"\n)},
|
|
5125
|
-
{name: "kettle-family", source: %(gem "kettle-family", "~> 1.3", ">= 1.3.
|
|
5125
|
+
{name: "kettle-family", source: %(gem "kettle-family", "~> 1.3", ">= 1.3.29"\n)},
|
|
5126
5126
|
{name: PACKAGE_NAME, source: kettle_jem_dependency_source},
|
|
5127
5127
|
{name: "kettle-test", source: %(gem "kettle-test", "~> 2.0", ">= 2.0.27"\n)},
|
|
5128
5128
|
{name: "rake", source: %(gem "rake", "~> 13.0"\n)},
|
|
@@ -15687,13 +15687,21 @@ module Kettle
|
|
|
15687
15687
|
|
|
15688
15688
|
# Reuse the dependency objects in project facts. Never infer a requirement
|
|
15689
15689
|
# from a sibling's current version or scrape a rendered modular Gemfile.
|
|
15690
|
+
# Exact pins (= x.y.z) are intentionally dropped: the destination's own
|
|
15691
|
+
# gemspec declares them dynamically (e.g. "= #{spec.version}"), so the
|
|
15692
|
+
# `gemspec` directive in the main Gemfile enforces them on every Bundler
|
|
15693
|
+
# run. A materialized literal copy goes stale on the next family version
|
|
15694
|
+
# bump and breaks bundle resolution (prepare_lockfiles) before templating
|
|
15695
|
+
# can refresh it. Flexible constraints (floors) are kept: they survive
|
|
15696
|
+
# bumps and feed local_gem_satisfies?-style gates.
|
|
15690
15697
|
def gemspec_local_gem_requirements(gemspec_metadata)
|
|
15691
15698
|
%i[runtime_dependencies development_dependencies].each_with_object({}) do |kind, requirements|
|
|
15692
15699
|
Array(gemspec_metadata[kind] || gemspec_metadata[kind.to_s]).each do |dependency|
|
|
15693
15700
|
next unless dependency.respond_to?(:name) && dependency.respond_to?(:requirements_list)
|
|
15694
15701
|
|
|
15695
15702
|
name = dependency.name.to_s
|
|
15696
|
-
|
|
15703
|
+
flexible = (Array(requirements[name]) + dependency.requirements_list).uniq.reject { |req| req.to_s.start_with?("=") }
|
|
15704
|
+
requirements[name] = flexible unless flexible.empty?
|
|
15697
15705
|
end
|
|
15698
15706
|
end.sort.to_h
|
|
15699
15707
|
end
|
|
@@ -15945,7 +15953,7 @@ module Kettle
|
|
|
15945
15953
|
def main_gemfile_kettle_family_gem(package_name)
|
|
15946
15954
|
return "" if package_name.to_s == "kettle-family"
|
|
15947
15955
|
|
|
15948
|
-
%(gem "kettle-family", "~> 1.3", ">= 1.3.
|
|
15956
|
+
%(gem "kettle-family", "~> 1.3", ">= 1.3.29"\n)
|
|
15949
15957
|
end
|
|
15950
15958
|
|
|
15951
15959
|
def main_gemfile_nomono_bootstrap(package_name)
|
|
@@ -16406,28 +16414,51 @@ module Kettle
|
|
|
16406
16414
|
version_path = version_spec_relative_version_path(version_spec_path, entrypoint_require)
|
|
16407
16415
|
version_gem_path = version_spec_relative_version_gem_path(version_spec_path, entrypoint_require)
|
|
16408
16416
|
path_loader = if include_version_gem_path
|
|
16417
|
+
# Compact form: the whole example must stay within the default
|
|
16418
|
+
# RSpec/ExampleLength Max of 5 counted lines, because destination
|
|
16419
|
+
# dogfood configs (e.g. rubocop-lts-rspec) lint specs with shipped
|
|
16420
|
+
# configs that do not disable that cop.
|
|
16409
16421
|
<<~RUBY.chomp
|
|
16422
|
+
dir = File.expand_path("#{File.dirname(version_path)}", __dir__)
|
|
16423
|
+
paths = %w[version.rb version_gem.rb].map { |file| File.join(dir, file) }.select { |path| File.file?(path) }
|
|
16424
|
+
anonymous_namespace = AnonymousLoader.load(files: paths)
|
|
16425
|
+
RUBY
|
|
16426
|
+
else
|
|
16427
|
+
<<~RUBY.chomp
|
|
16428
|
+
path = File.expand_path("#{version_path}", __dir__)
|
|
16429
|
+
anonymous_namespace = AnonymousLoader.load(files: path)
|
|
16430
|
+
RUBY
|
|
16431
|
+
end
|
|
16432
|
+
# Older emitted forms, rewritten on templating. The multi-line array was
|
|
16433
|
+
# emitted both without and with a trailing comma (some destinations
|
|
16434
|
+
# autocorrected to consistent_comma style); most specific first.
|
|
16435
|
+
legacy_path_loaders = [
|
|
16436
|
+
<<~RUBY.chomp,
|
|
16437
|
+
paths = [
|
|
16438
|
+
File.expand_path("#{version_path}", __dir__),
|
|
16439
|
+
File.expand_path("#{version_gem_path}", __dir__),
|
|
16440
|
+
].select { |path| File.file?(path) }
|
|
16441
|
+
anonymous_namespace = AnonymousLoader.load(files: paths)
|
|
16442
|
+
RUBY
|
|
16443
|
+
<<~RUBY.chomp,
|
|
16410
16444
|
paths = [
|
|
16411
16445
|
File.expand_path("#{version_path}", __dir__),
|
|
16412
16446
|
File.expand_path("#{version_gem_path}", __dir__)
|
|
16413
16447
|
].select { |path| File.file?(path) }
|
|
16414
16448
|
anonymous_namespace = AnonymousLoader.load(files: paths)
|
|
16415
16449
|
RUBY
|
|
16416
|
-
else
|
|
16417
16450
|
<<~RUBY.chomp
|
|
16418
16451
|
path = File.expand_path("#{version_path}", __dir__)
|
|
16419
16452
|
anonymous_namespace = AnonymousLoader.load(files: path)
|
|
16420
16453
|
RUBY
|
|
16421
|
-
|
|
16422
|
-
|
|
16423
|
-
|
|
16424
|
-
|
|
16425
|
-
|
|
16426
|
-
indented_path_loader = path_loader.lines.map { |line| " #{line}" }.join
|
|
16427
|
-
indented_legacy_path_loader = legacy_path_loader.lines.map { |line| " #{line}" }.join
|
|
16428
|
-
return content.sub(indented_legacy_path_loader, indented_path_loader) if content.include?(indented_legacy_path_loader)
|
|
16454
|
+
]
|
|
16455
|
+
indented_path_loader = indent_spec_lines(path_loader)
|
|
16456
|
+
legacy_path_loaders.each do |legacy_path_loader|
|
|
16457
|
+
indented_legacy_path_loader = indent_spec_lines(legacy_path_loader)
|
|
16458
|
+
return content.sub(indented_legacy_path_loader, indented_path_loader) if content.include?(indented_legacy_path_loader)
|
|
16429
16459
|
|
|
16430
|
-
|
|
16460
|
+
return content.sub(legacy_path_loader, path_loader) if content.include?(legacy_path_loader)
|
|
16461
|
+
end
|
|
16431
16462
|
|
|
16432
16463
|
return content if version_spec_anonymous_loader_call?(content)
|
|
16433
16464
|
|
|
@@ -16467,6 +16498,10 @@ module Kettle
|
|
|
16467
16498
|
"#{"../" * spec_depth}lib/#{entrypoint_require}/version_gem.rb"
|
|
16468
16499
|
end
|
|
16469
16500
|
|
|
16501
|
+
def indent_spec_lines(text)
|
|
16502
|
+
text.lines.map { |line| " #{line}" }.join
|
|
16503
|
+
end
|
|
16504
|
+
|
|
16470
16505
|
def legacy_rbs_signature_paths(project_root, entrypoint_require)
|
|
16471
16506
|
legacy_root = File.join(project_root, "sig", entrypoint_require.to_s)
|
|
16472
16507
|
return [] unless Dir.exist?(legacy_root)
|
data.tar.gz.sig
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: kettle-jem
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 7.1.
|
|
4
|
+
version: 7.1.38
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter H. Boling
|
|
@@ -246,7 +246,7 @@ dependencies:
|
|
|
246
246
|
version: '3.1'
|
|
247
247
|
- - ">="
|
|
248
248
|
- !ruby/object:Gem::Version
|
|
249
|
-
version: 3.1.
|
|
249
|
+
version: 3.1.19
|
|
250
250
|
type: :runtime
|
|
251
251
|
prerelease: false
|
|
252
252
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -256,7 +256,7 @@ dependencies:
|
|
|
256
256
|
version: '3.1'
|
|
257
257
|
- - ">="
|
|
258
258
|
- !ruby/object:Gem::Version
|
|
259
|
-
version: 3.1.
|
|
259
|
+
version: 3.1.19
|
|
260
260
|
- !ruby/object:Gem::Dependency
|
|
261
261
|
name: kettle-gha-pins
|
|
262
262
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -997,10 +997,10 @@ licenses:
|
|
|
997
997
|
- PolyForm-Small-Business-1.0.0
|
|
998
998
|
metadata:
|
|
999
999
|
homepage_uri: https://structuredmerge.org
|
|
1000
|
-
source_code_uri: https://github.com/structuredmerge/structuredmerge-ruby/tree/v7.1.
|
|
1001
|
-
changelog_uri: https://github.com/structuredmerge/structuredmerge-ruby/blob/v7.1.
|
|
1000
|
+
source_code_uri: https://github.com/structuredmerge/structuredmerge-ruby/tree/v7.1.38
|
|
1001
|
+
changelog_uri: https://github.com/structuredmerge/structuredmerge-ruby/blob/v7.1.38/CHANGELOG.md
|
|
1002
1002
|
bug_tracker_uri: https://github.com/structuredmerge/structuredmerge-ruby/issues
|
|
1003
|
-
documentation_uri: https://www.rubydoc.info/gems/kettle-jem/7.1.
|
|
1003
|
+
documentation_uri: https://www.rubydoc.info/gems/kettle-jem/7.1.38
|
|
1004
1004
|
funding_uri: https://github.com/sponsors/pboling
|
|
1005
1005
|
wiki_uri: https://github.com/structuredmerge/structuredmerge-ruby/wiki
|
|
1006
1006
|
news_uri: https://www.railsbling.com/tags/kettle-jem
|
metadata.gz.sig
CHANGED
|
Binary file
|