kettle-jem 7.1.22 → 7.1.23
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 +25 -1
- data/README.md +1 -1
- data/lib/kettle/jem/tasks/self_test_task.rb +2 -2
- data/lib/kettle/jem/templates/gem.gemspec.example +1 -1
- data/lib/kettle/jem/templates/shim/gem.gemspec.example +1 -1
- data/lib/kettle/jem/version.rb +1 -1
- data/lib/kettle/jem.rb +21 -7
- data.tar.gz.sig +0 -0
- metadata +24 -4
- 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: 8b44bfaa2d3dc87b533330ef926a348487a57912fcd4f5c3c75f2f39b5f3d6f0
|
|
4
|
+
data.tar.gz: a42faa5fb58ce8fc630dacebbd9c7cabd75641791236fb405a4471accf7e0b7b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0f692b668c282c7657c5af5bfb3de195d996d2f9eda582b8bb55ee39ed9d31a863b66fd17b82b75925ed949092336d5e74a66539a7d4a9efd91974b0ec4c5bb3
|
|
7
|
+
data.tar.gz: 0f7d11313e632476917ee8b3a4afd492998d82f9bd8c8535a6e195cb5185c8caa167f5fd2ac295cb0e0f28a4d7e86443b47e054faba8488825213185d6206377
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -30,6 +30,28 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
30
30
|
|
|
31
31
|
### Security
|
|
32
32
|
|
|
33
|
+
## [7.1.23] - 2026-09-07
|
|
34
|
+
|
|
35
|
+
- TAG: [v7.1.23][7.1.23t]
|
|
36
|
+
- COVERAGE: 93.66% -- 11251/12013 lines in 16 files
|
|
37
|
+
- BRANCH COVERAGE: 77.07% -- 4789/6214 branches in 16 files
|
|
38
|
+
- 18.13% documented
|
|
39
|
+
|
|
40
|
+
### Changed
|
|
41
|
+
|
|
42
|
+
- [kc] kettle-jem-deps-floor: Update kettle-jem template dependency floors:
|
|
43
|
+
- kettle-dev (>= 3.0.32 -> >= 3.0.33)
|
|
44
|
+
|
|
45
|
+
### Fixed
|
|
46
|
+
|
|
47
|
+
- Externalize active template tooling from gemspecs, remove legacy gem-release declarations from managed Gemfiles and gemspecs, and enforce self-test divergence thresholds inclusively.
|
|
48
|
+
|
|
49
|
+
- Load Bundler before JSON in maintenance executables so Ruby 4 default JSON activation cannot conflict with the project bundle.
|
|
50
|
+
|
|
51
|
+
- Declare JSON v2 as a Kettle Jem development dependency for repository-local maintenance executables.
|
|
52
|
+
|
|
53
|
+
- Keep managed dependency reconciliation specs aligned with their declared requirements.
|
|
54
|
+
|
|
33
55
|
## [7.1.22] - 2026-09-07
|
|
34
56
|
|
|
35
57
|
- TAG: [v7.1.22][7.1.22t]
|
|
@@ -1928,7 +1950,9 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
1928
1950
|
- Released kettle-jem as part of the initial StructuredMerge Ruby 7.0.0 gem set.
|
|
1929
1951
|
- Included packaged templates and parser-backed merge support for Ruby gem templating.
|
|
1930
1952
|
|
|
1931
|
-
[Unreleased]: https://github.com/structuredmerge/structuredmerge-ruby/compare/v7.1.
|
|
1953
|
+
[Unreleased]: https://github.com/structuredmerge/structuredmerge-ruby/compare/v7.1.23...HEAD
|
|
1954
|
+
[7.1.23]: https://github.com/structuredmerge/structuredmerge-ruby/compare/v7.1.22...v7.1.23
|
|
1955
|
+
[7.1.23t]: https://github.com/structuredmerge/structuredmerge-ruby/releases/tag/v7.1.23
|
|
1932
1956
|
[7.1.22]: https://github.com/structuredmerge/structuredmerge-ruby/compare/v7.1.21...v7.1.22
|
|
1933
1957
|
[7.1.22t]: https://github.com/structuredmerge/structuredmerge-ruby/releases/tag/v7.1.22
|
|
1934
1958
|
[7.1.21]: https://github.com/structuredmerge/structuredmerge-ruby/compare/v7.1.20...v7.1.21
|
data/README.md
CHANGED
|
@@ -899,7 +899,7 @@ Thanks for RTFM. ☺️
|
|
|
899
899
|
[📌gitmoji]: https://gitmoji.dev
|
|
900
900
|
[📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
|
|
901
901
|
[🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
|
902
|
-
[🧮kloc-img]: https://img.shields.io/badge/KLOC-12.
|
|
902
|
+
[🧮kloc-img]: https://img.shields.io/badge/KLOC-12.013-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
|
|
903
903
|
[🔐security]: https://github.com/structuredmerge/structuredmerge-ruby/blob/main/SECURITY.md
|
|
904
904
|
[🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
|
|
905
905
|
[📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|
|
@@ -79,8 +79,8 @@ module Kettle
|
|
|
79
79
|
min_divergence_threshold: threshold,
|
|
80
80
|
drift: drift
|
|
81
81
|
}
|
|
82
|
-
if threshold && divergence
|
|
83
|
-
raise Kettle::Jem::Error, "selftest divergence #{divergence}% exceeds threshold #{threshold}%"
|
|
82
|
+
if threshold && divergence >= threshold
|
|
83
|
+
raise Kettle::Jem::Error, "selftest divergence #{divergence}% reaches or exceeds threshold #{threshold}%"
|
|
84
84
|
end
|
|
85
85
|
result
|
|
86
86
|
end
|
|
@@ -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.0", ">= 3.0.
|
|
121
|
+
spec.add_development_dependency("kettle-dev", "~> 3.0", ">= 3.0.33") # 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
|
|
@@ -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.0", ">= 3.0.
|
|
33
|
+
spec.add_development_dependency("kettle-dev", "~> 3.0", ">= 3.0.33") # 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.23"
|
|
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
|
@@ -57,7 +57,7 @@ module Kettle
|
|
|
57
57
|
# set in place before Bundler is allowed to evaluate that destination.
|
|
58
58
|
TEMPLATE_MANAGED_DEPENDENCIES = [
|
|
59
59
|
{name: "nomono", requirements: ["~> 1.1", ">= 1.1.5"], bootstrap: true},
|
|
60
|
-
{name: "kettle-dev", requirements: ["~> 3.0", ">= 3.0.
|
|
60
|
+
{name: "kettle-dev", requirements: ["~> 3.0", ">= 3.0.33"], bootstrap: true},
|
|
61
61
|
{
|
|
62
62
|
name: "kettle-changelog",
|
|
63
63
|
requirements: ["~> 1.0", ">= 1.0.7"],
|
|
@@ -89,7 +89,13 @@ module Kettle
|
|
|
89
89
|
].freeze
|
|
90
90
|
DEFAULT_ENGINES = %w[ruby jruby truffleruby].freeze
|
|
91
91
|
DEFAULT_OPENCOLLECTIVE_ORG = "galtzo-floss"
|
|
92
|
-
|
|
92
|
+
# These tools remain active, but their dependency ownership belongs to the
|
|
93
|
+
# generated modular Gemfiles rather than a destination gemspec.
|
|
94
|
+
EXTERNALIZED_GEMSPEC_DEVELOPMENT_DEPENDENCIES = %w[kettle-drift kettle-soup-cover rubocop-rspec yard-junk].freeze
|
|
95
|
+
# These legacy release tools must not be retained in any managed dependency
|
|
96
|
+
# declaration. Kettle Dev owns release workflows.
|
|
97
|
+
PROHIBITED_GEMSPEC_DEPENDENCIES = %w[gem-release].freeze
|
|
98
|
+
PROHIBITED_GEMFILE_DEPENDENCIES = PROHIBITED_GEMSPEC_DEPENDENCIES.freeze
|
|
93
99
|
FILE_DELETION_PRIMITIVES = %w[
|
|
94
100
|
supplied_obsolete_file_deletion
|
|
95
101
|
supplied_opt_in_workflow_deletion
|
|
@@ -5444,6 +5450,7 @@ module Kettle
|
|
|
5444
5450
|
updated = reconcile_template_managed_dependencies(
|
|
5445
5451
|
ensure_trailing_newline(content.to_s.empty? ? %(source "https://gem.coop"\n) : content.to_s).dup
|
|
5446
5452
|
)
|
|
5453
|
+
updated = remove_gemfile_dependency_blocks(updated, PROHIBITED_GEMFILE_DEPENDENCIES)
|
|
5447
5454
|
monorepo_root_gemfile_dependency_lines.each do |line|
|
|
5448
5455
|
next if gemfile_declares_gem?(updated, line.fetch(:name))
|
|
5449
5456
|
|
|
@@ -5457,7 +5464,7 @@ module Kettle
|
|
|
5457
5464
|
[
|
|
5458
5465
|
{name: "appraisal2", source: %(gem "appraisal2", "~> 3.2", ">= 3.2.3"\n)},
|
|
5459
5466
|
{name: "bundler-audit", source: %(gem "bundler-audit", "~> 0.9.3"\n)},
|
|
5460
|
-
{name: "kettle-dev", source: %(gem "kettle-dev", "~> 3.0", ">= 3.0.
|
|
5467
|
+
{name: "kettle-dev", source: %(gem "kettle-dev", "~> 3.0", ">= 3.0.33"\n)},
|
|
5461
5468
|
{name: "kettle-drift", source: %(gem "kettle-drift", "~> 1.0", ">= 1.0.13"\n)},
|
|
5462
5469
|
{name: "kettle-family", source: %(gem "kettle-family", "~> 1.2", ">= 1.2.95"\n)},
|
|
5463
5470
|
{name: PACKAGE_NAME, source: kettle_jem_dependency_source},
|
|
@@ -9375,7 +9382,7 @@ module Kettle
|
|
|
9375
9382
|
|
|
9376
9383
|
def merge_gemfile_template_policy(content, facts:, template_content: nil, preserve_self_word_entries: false)
|
|
9377
9384
|
package_name = facts.dig(:package, :name).to_s if facts
|
|
9378
|
-
removable_gems = ["appraisal"]
|
|
9385
|
+
removable_gems = ["appraisal", *PROHIBITED_GEMFILE_DEPENDENCIES]
|
|
9379
9386
|
removable_gems << package_name unless package_name.to_s.empty?
|
|
9380
9387
|
removable_gems.concat(package_runtime_dependency_names(facts))
|
|
9381
9388
|
removable_gems << "version_gem" unless version_gem_enabled?(facts)
|
|
@@ -10686,6 +10693,11 @@ module Kettle
|
|
|
10686
10693
|
template_declares_version_gem: gemspec_dependency_names(template_content).include?("version_gem")
|
|
10687
10694
|
)
|
|
10688
10695
|
merged = remove_gemspec_version_gem_dependency_when_non_default_entrypoint(merged, facts, receiver: template_receiver)
|
|
10696
|
+
merged = remove_gemspec_dependency_lines(
|
|
10697
|
+
merged,
|
|
10698
|
+
receiver: template_receiver,
|
|
10699
|
+
names: PROHIBITED_GEMSPEC_DEPENDENCIES
|
|
10700
|
+
)
|
|
10689
10701
|
# Yard owns the documentation dependency graph. A direct gemspec rdoc
|
|
10690
10702
|
# development dependency creates an unnecessary second owner and can
|
|
10691
10703
|
# conflict with the documentation modular Gemfile.
|
|
@@ -11823,7 +11835,7 @@ module Kettle
|
|
|
11823
11835
|
enforce_gemspec_dependency_minimum_requirements(normalized, receiver: template_receiver)
|
|
11824
11836
|
end
|
|
11825
11837
|
destination_dependencies = destination_dependencies.reject do |key, _source|
|
|
11826
|
-
|
|
11838
|
+
excluded_gemspec_dependency_key?(key)
|
|
11827
11839
|
end
|
|
11828
11840
|
return template_content if destination_dependencies.empty?
|
|
11829
11841
|
|
|
@@ -12223,9 +12235,11 @@ module Kettle
|
|
|
12223
12235
|
[record.fetch(:kind), record.fetch(:name)]
|
|
12224
12236
|
end
|
|
12225
12237
|
|
|
12226
|
-
def
|
|
12238
|
+
def excluded_gemspec_dependency_key?(key)
|
|
12239
|
+
return true if PROHIBITED_GEMSPEC_DEPENDENCIES.include?(key.last)
|
|
12240
|
+
|
|
12227
12241
|
key.first == "add_development_dependency" &&
|
|
12228
|
-
|
|
12242
|
+
EXTERNALIZED_GEMSPEC_DEVELOPMENT_DEPENDENCIES.include?(key.last)
|
|
12229
12243
|
end
|
|
12230
12244
|
|
|
12231
12245
|
def gemspec_dependency_source_newer?(candidate_source, current_source, receiver:)
|
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.23
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter H. Boling
|
|
@@ -593,6 +593,26 @@ dependencies:
|
|
|
593
593
|
- - "~>"
|
|
594
594
|
- !ruby/object:Gem::Version
|
|
595
595
|
version: 0.9.3
|
|
596
|
+
- !ruby/object:Gem::Dependency
|
|
597
|
+
name: json
|
|
598
|
+
requirement: !ruby/object:Gem::Requirement
|
|
599
|
+
requirements:
|
|
600
|
+
- - "~>"
|
|
601
|
+
- !ruby/object:Gem::Version
|
|
602
|
+
version: '2.0'
|
|
603
|
+
- - ">="
|
|
604
|
+
- !ruby/object:Gem::Version
|
|
605
|
+
version: 2.21.2
|
|
606
|
+
type: :development
|
|
607
|
+
prerelease: false
|
|
608
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
609
|
+
requirements:
|
|
610
|
+
- - "~>"
|
|
611
|
+
- !ruby/object:Gem::Version
|
|
612
|
+
version: '2.0'
|
|
613
|
+
- - ">="
|
|
614
|
+
- !ruby/object:Gem::Version
|
|
615
|
+
version: 2.21.2
|
|
596
616
|
- !ruby/object:Gem::Dependency
|
|
597
617
|
name: rake
|
|
598
618
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -976,10 +996,10 @@ licenses:
|
|
|
976
996
|
- PolyForm-Small-Business-1.0.0
|
|
977
997
|
metadata:
|
|
978
998
|
homepage_uri: https://structuredmerge.org
|
|
979
|
-
source_code_uri: https://github.com/structuredmerge/structuredmerge-ruby/tree/v7.1.
|
|
980
|
-
changelog_uri: https://github.com/structuredmerge/structuredmerge-ruby/blob/v7.1.
|
|
999
|
+
source_code_uri: https://github.com/structuredmerge/structuredmerge-ruby/tree/v7.1.23
|
|
1000
|
+
changelog_uri: https://github.com/structuredmerge/structuredmerge-ruby/blob/v7.1.23/CHANGELOG.md
|
|
981
1001
|
bug_tracker_uri: https://github.com/structuredmerge/structuredmerge-ruby/issues
|
|
982
|
-
documentation_uri: https://www.rubydoc.info/gems/kettle-jem/7.1.
|
|
1002
|
+
documentation_uri: https://www.rubydoc.info/gems/kettle-jem/7.1.23
|
|
983
1003
|
funding_uri: https://github.com/sponsors/pboling
|
|
984
1004
|
wiki_uri: https://github.com/structuredmerge/structuredmerge-ruby/wiki
|
|
985
1005
|
news_uri: https://www.railsbling.com/tags/kettle-jem
|
metadata.gz.sig
CHANGED
|
Binary file
|