kettle-jem 7.1.4 → 7.1.5
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 +46 -1
- data/README.md +19 -7
- data/lib/kettle/jem/maintenance_changelog.rb +31 -9
- data/lib/kettle/jem/templates/CONTRIBUTING.md.example +9 -0
- data/lib/kettle/jem/templates/README.md.example +5 -1
- data/lib/kettle/jem/templates/gem.gemspec.example +4 -4
- data/lib/kettle/jem/templates/gemfiles/modular/templating.gemfile.example +9 -8
- data/lib/kettle/jem/templates/readme/partials/configuration.md.example +13 -0
- data/lib/kettle/jem/templates/shim/gem.gemspec.example +2 -2
- data/lib/kettle/jem/version.rb +1 -1
- data/lib/kettle/jem.rb +170 -23
- data.tar.gz.sig +0 -0
- metadata +46 -46
- 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: 0f18b366b9ef0f969ab98c5990293f6596943008b812a420ac196d55d6513199
|
|
4
|
+
data.tar.gz: a81bf6fa14c21c3f7c17f696d2255f15e2f58c707b257eec15d53a2e70438221
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 88e5217d202612e369beca997b822afa503b2e0abec7e89dd31b37441a5369894d4885b5ed5f89f202e71bc3b163a25b5a4f8859304826e6e0c3425f92cbb9b0
|
|
7
|
+
data.tar.gz: 56feac9cce546576e41e83a0313cd916f8eb5942ac6307b5f49ac9575461a6a5c99f5b0ab13578463e76f5a2bd70e05649ba01da97f84e0e46b5da3466abbd9e
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -30,6 +30,49 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
30
30
|
|
|
31
31
|
### Security
|
|
32
32
|
|
|
33
|
+
## [7.1.5] - 2026-08-24
|
|
34
|
+
|
|
35
|
+
- TAG: [v7.1.5][7.1.5t]
|
|
36
|
+
- COVERAGE: 93.60% -- 10814/11554 lines in 16 files
|
|
37
|
+
- BRANCH COVERAGE: 77.21% -- 4627/5993 branches in 16 files
|
|
38
|
+
- 17.97% documented
|
|
39
|
+
|
|
40
|
+
### Changed
|
|
41
|
+
|
|
42
|
+
- Template maintenance summaries now use keyed, cumulative [kc] entries with nested file-type counts, so repeated template runs update one changelog entry.
|
|
43
|
+
|
|
44
|
+
- [kc] kettle-jem/funding-platforms: Configure GitHub funding platforms independently, remove disabled destination-only FUNDING.yml entries, and keep README/FUNDING.md badges aligned with the configured policy.
|
|
45
|
+
|
|
46
|
+
- [kc] kettle-jem-deps-floor: Update kettle-jem template dependency floors:
|
|
47
|
+
- kettle-dev (>= 3.0.8 -> >= 3.0.10)
|
|
48
|
+
|
|
49
|
+
- [kc] kettle-jem-workflow-pins: Update pinned GitHub Actions in kettle-jem templates:
|
|
50
|
+
- github/codeql-action/analyze v4.37.6 (5595ccaf912efad79be6eef63a5619ff05969be3) -> v4.37.8 (db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28)
|
|
51
|
+
- github/codeql-action/autobuild v4.37.6 (5595ccaf912efad79be6eef63a5619ff05969be3) -> v4.37.8 (db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28)
|
|
52
|
+
- github/codeql-action/init v4.37.6 (5595ccaf912efad79be6eef63a5619ff05969be3) -> v4.37.8 (db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28)
|
|
53
|
+
|
|
54
|
+
- [kc] kettle-jem/prepare: updated 9 project files:
|
|
55
|
+
- code and tests (1)
|
|
56
|
+
- dependencies (8)
|
|
57
|
+
|
|
58
|
+
- [kc] kettle-jem/template: updated 4 project files:
|
|
59
|
+
- code and tests (1)
|
|
60
|
+
- dependencies (1)
|
|
61
|
+
- documentation (1)
|
|
62
|
+
- other (1)
|
|
63
|
+
|
|
64
|
+
- Document the disposable BUNDLE_LOCKFILE workaround in generated CONTRIBUTING.md release guidance.
|
|
65
|
+
|
|
66
|
+
- Make the repository-local kettle-jem-deps-floor executable bootstrap the consistent StructuredMerge development bundle before loading parser dependencies.
|
|
67
|
+
|
|
68
|
+
### Fixed
|
|
69
|
+
|
|
70
|
+
- Use Markdown-safe compound keys for automated kettle-jem template changelog entries so release reference validation does not treat their labels as undefined links.
|
|
71
|
+
|
|
72
|
+
- Use a dependency-specific switch when omitting kettle-changelog from release Bundler resolution.
|
|
73
|
+
|
|
74
|
+
- Avoid duplicate tree_sitter_language_pack declarations when templating with a local TSLP override.
|
|
75
|
+
|
|
33
76
|
## [7.1.4] - 2026-08-12
|
|
34
77
|
|
|
35
78
|
- TAG: [v7.1.4][7.1.4t]
|
|
@@ -1524,7 +1567,9 @@ Please file a bug if you notice a violation of semantic versioning.
|
|
|
1524
1567
|
- Released kettle-jem as part of the initial StructuredMerge Ruby 7.0.0 gem set.
|
|
1525
1568
|
- Included packaged templates and parser-backed merge support for Ruby gem templating.
|
|
1526
1569
|
|
|
1527
|
-
[Unreleased]: https://github.com/structuredmerge/structuredmerge-ruby/compare/v7.1.
|
|
1570
|
+
[Unreleased]: https://github.com/structuredmerge/structuredmerge-ruby/compare/v7.1.5...HEAD
|
|
1571
|
+
[7.1.5]: https://github.com/structuredmerge/structuredmerge-ruby/compare/v7.1.4...v7.1.5
|
|
1572
|
+
[7.1.5t]: https://github.com/structuredmerge/structuredmerge-ruby/releases/tag/v7.1.5
|
|
1528
1573
|
[7.1.4]: https://github.com/structuredmerge/structuredmerge-ruby/compare/v7.1.3...v7.1.4
|
|
1529
1574
|
[7.1.4t]: https://github.com/structuredmerge/structuredmerge-ruby/releases/tag/v7.1.4
|
|
1530
1575
|
[7.1.3]: https://github.com/structuredmerge/structuredmerge-ruby/compare/v7.1.2...v7.1.3
|
data/README.md
CHANGED
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
`if ci_badges.map(&:color).all? { it == "green"}` 👇️ send money so I can do more of this. FLOSS maintenance is now my full-time job.
|
|
12
12
|
|
|
13
|
-
[![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal] [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate at ko-fi.com][🖇kofi-img]][🖇kofi]
|
|
13
|
+
[![OpenCollective Backers][🖇osc-backers-i]][🖇osc-backers] [![OpenCollective Sponsors][🖇osc-sponsors-i]][🖇osc-sponsors] [![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor] [![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay] [![Donate on PayPal][🖇paypal-img]][🖇paypal] [![Buy me a coffee][🖇buyme-small-img]][🖇buyme] [![Donate at ko-fi.com][🖇kofi-img]][🖇kofi]
|
|
14
14
|
|
|
15
15
|
<details markdown="1">
|
|
16
16
|
<summary>👣 How will this project approach the September 2025 hostile takeover of RubyGems? 🚑️</summary>
|
|
@@ -111,7 +111,9 @@ Merge analysis must enter parsing through `tree_haver`. Parser-specific gems reg
|
|
|
111
111
|
|
|
112
112
|
</details>
|
|
113
113
|
|
|
114
|
-
### Enterprise Support
|
|
114
|
+
### Enterprise Support
|
|
115
|
+
|
|
116
|
+
[](https://tidelift.com/subscription/pkg/rubygems-kettle-jem?utm_source=rubygems-kettle-jem&utm_medium=referral&utm_campaign=readme)
|
|
115
117
|
|
|
116
118
|
Available as part of the Tidelift Subscription.
|
|
117
119
|
|
|
@@ -553,8 +555,7 @@ See [SECURITY.md][🔐security].
|
|
|
553
555
|
## 🤝 Contributing
|
|
554
556
|
|
|
555
557
|
If you need some ideas of where to help, you could work on adding more code coverage,
|
|
556
|
-
|
|
557
|
-
or use the gem and think about how it could be better.
|
|
558
|
+
check [issues][🤝gh-issues] or [PRs][🤝gh-pulls], or use the gem and think about how it could be better.
|
|
558
559
|
|
|
559
560
|
We [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog] so if you make changes, remember to update it.
|
|
560
561
|
|
|
@@ -644,7 +645,7 @@ To join the community or get help, use the RubyForum or Discord.
|
|
|
644
645
|
|
|
645
646
|
To say "thanks!" ☝️ Join the community or 👇️ send money.
|
|
646
647
|
|
|
647
|
-
[![Sponsor me on GitHub Sponsors][🖇sponsor-bottom-img]][🖇sponsor] 💌 [![Sponsor me on Liberapay][⛳liberapay-bottom-img]][⛳liberapay] 💌 [![Donate on PayPal][🖇paypal-bottom-img]][🖇paypal]
|
|
648
|
+
[![Sponsor kettle-dev/kettle-jem on Open Source Collective][🖇osc-all-bottom-img]][🖇osc] 💌 [![Sponsor me on GitHub Sponsors][🖇sponsor-bottom-img]][🖇sponsor] 💌 [![Sponsor me on Liberapay][⛳liberapay-bottom-img]][⛳liberapay] 💌 [![Donate on PayPal][🖇paypal-bottom-img]][🖇paypal]
|
|
648
649
|
|
|
649
650
|
### Please give the project a star ⭐ ♥.
|
|
650
651
|
|
|
@@ -655,6 +656,17 @@ Thanks for RTFM. ☺️
|
|
|
655
656
|
[⛳liberapay-img]: https://img.shields.io/liberapay/goal/pboling.svg?logo=liberapay&color=a51611&style=flat
|
|
656
657
|
[⛳liberapay-bottom-img]: https://img.shields.io/liberapay/goal/pboling.svg?style=for-the-badge&logo=liberapay&color=a51611
|
|
657
658
|
[⛳liberapay]: https://liberapay.com/pboling/donate
|
|
659
|
+
[🖇osc-all-img]: https://img.shields.io/opencollective/all/kettle-dev
|
|
660
|
+
[🖇osc-sponsors-img]: https://img.shields.io/opencollective/sponsors/kettle-dev
|
|
661
|
+
[🖇osc-backers-img]: https://img.shields.io/opencollective/backers/kettle-dev
|
|
662
|
+
[🖇osc-backers]: https://opencollective.com/kettle-dev#backer
|
|
663
|
+
[🖇osc-backers-i]: https://opencollective.com/kettle-dev/backers/badge.svg?style=flat
|
|
664
|
+
[🖇osc-sponsors]: https://opencollective.com/kettle-dev#sponsor
|
|
665
|
+
[🖇osc-sponsors-i]: https://opencollective.com/kettle-dev/sponsors/badge.svg?style=flat
|
|
666
|
+
[🖇osc-all-bottom-img]: https://img.shields.io/opencollective/all/kettle-dev?style=for-the-badge
|
|
667
|
+
[🖇osc-sponsors-bottom-img]: https://img.shields.io/opencollective/sponsors/kettle-dev?style=for-the-badge
|
|
668
|
+
[🖇osc-backers-bottom-img]: https://img.shields.io/opencollective/backers/kettle-dev?style=for-the-badge
|
|
669
|
+
[🖇osc]: https://opencollective.com/kettle-dev
|
|
658
670
|
[🖇sponsor-img]: https://img.shields.io/badge/Sponsor_Me!-pboling.svg?style=social&logo=github
|
|
659
671
|
[🖇sponsor-bottom-img]: https://img.shields.io/badge/Sponsor_Me!-pboling-blue?style=for-the-badge&logo=github
|
|
660
672
|
[🖇sponsor]: https://github.com/sponsors/pboling
|
|
@@ -760,7 +772,7 @@ Thanks for RTFM. ☺️
|
|
|
760
772
|
[📌gitmoji]: https://gitmoji.dev
|
|
761
773
|
[📌gitmoji-img]: https://img.shields.io/badge/gitmoji_commits-%20%F0%9F%98%9C%20%F0%9F%98%8D-34495e.svg?style=flat-square
|
|
762
774
|
[🧮kloc]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
|
763
|
-
[🧮kloc-img]: https://img.shields.io/badge/KLOC-11.
|
|
775
|
+
[🧮kloc-img]: https://img.shields.io/badge/KLOC-11.554-FFDD67.svg?style=for-the-badge&logo=YouTube&logoColor=blue
|
|
764
776
|
[🔐security]: https://github.com/structuredmerge/structuredmerge-ruby/blob/main/SECURITY.md
|
|
765
777
|
[🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
|
|
766
778
|
[📄copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|
|
@@ -790,5 +802,5 @@ Thanks for RTFM. ☺️
|
|
|
790
802
|
| Homepage | https://github.com/structuredmerge/structuredmerge-ruby |
|
|
791
803
|
| Source | https://github.com/structuredmerge/structuredmerge-ruby |
|
|
792
804
|
| License | `AGPL-3.0-only` OR `PolyForm-Small-Business-1.0.0` |
|
|
793
|
-
| Funding | https://github.com/sponsors/pboling, https://ko-fi.com/pboling, https://liberapay.com/pboling/donate, https://thanks.dev/u/gh/pboling, https://tidelift.com/funding/github/rubygems/kettle-jem, https://www.buymeacoffee.com/pboling |
|
|
805
|
+
| Funding | https://github.com/sponsors/pboling, https://ko-fi.com/pboling, https://liberapay.com/pboling/donate, https://opencollective.com/kettle-dev, https://thanks.dev/u/gh/pboling, https://tidelift.com/funding/github/rubygems/kettle-jem, https://www.buymeacoffee.com/pboling |
|
|
794
806
|
<!-- kettle-jem:metadata:end -->
|
|
@@ -23,6 +23,10 @@ module Kettle
|
|
|
23
23
|
configuration: ->(path) { path.start_with?(".structuredmerge/") || path == "mise.toml" || path == ".gitignore" },
|
|
24
24
|
code_and_tests: ->(path) { path.start_with?("lib/", "spec/", "test/", "bin/") || path == "Rakefile" }
|
|
25
25
|
}.freeze
|
|
26
|
+
TEMPLATE_CHANGELOG_KEYS = {
|
|
27
|
+
"Apply kettle-jem templates" => "kettle-jem/template",
|
|
28
|
+
"Prepare project for kettle-jem templates" => "kettle-jem/prepare"
|
|
29
|
+
}.freeze
|
|
26
30
|
BUNDLER_ENVIRONMENT = %w[
|
|
27
31
|
BUNDLE_BIN_PATH
|
|
28
32
|
BUNDLE_FROZEN
|
|
@@ -91,9 +95,10 @@ module Kettle
|
|
|
91
95
|
return report.merge(changelog: {status: "skipped", reason: "no_template_changes", changed_files: []})
|
|
92
96
|
end
|
|
93
97
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
98
|
+
key = TEMPLATE_CHANGELOG_KEYS.fetch(label, "kettle-jem/template")
|
|
99
|
+
entry = ->(matches) { template_run_entry(changed_files, matches) }
|
|
100
|
+
result = upsert_unreleased_entry(project_root: project_root, section: "Changed", key: key, entry: entry)
|
|
101
|
+
changelog = result.merge(changed_files: changed_files, entry: result.fetch(:entry))
|
|
97
102
|
changed_files_with_changelog = if result.fetch(:status) == "updated"
|
|
98
103
|
(Array(report.fetch(:changed_files, [])) + ["CHANGELOG.md"]).uniq.sort
|
|
99
104
|
else
|
|
@@ -108,12 +113,29 @@ module Kettle
|
|
|
108
113
|
end
|
|
109
114
|
end
|
|
110
115
|
|
|
111
|
-
def template_run_entry(
|
|
112
|
-
counts =
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
116
|
+
def template_run_entry(changed_files, matches)
|
|
117
|
+
counts = template_entry_counts(matches)
|
|
118
|
+
changed_files.group_by { |path| template_change_category(path) }.each do |category, paths|
|
|
119
|
+
counts[category] = counts.fetch(category, 0) + paths.length
|
|
120
|
+
end
|
|
121
|
+
total = counts.values.sum
|
|
122
|
+
details = counts.sort_by { |category, _count| category.to_s }.map do |category, count|
|
|
123
|
+
" - #{category.to_s.tr("_", " ")} (#{count})"
|
|
124
|
+
end
|
|
125
|
+
["updated #{total} project file#{"s" unless total == 1}:", *details].join("\n")
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
def template_entry_counts(matches)
|
|
129
|
+
source = Array(matches).first.to_h.fetch(:source, "")
|
|
130
|
+
source.lines.filter_map do |line|
|
|
131
|
+
match = line.match(/\A\s{2,}- (.+?) \((\d+)\)\s*\z/)
|
|
132
|
+
next unless match
|
|
133
|
+
|
|
134
|
+
category = match[1].tr(" ", "_").to_sym
|
|
135
|
+
next unless TEMPLATE_CHANGE_CATEGORIES.key?(category) || category == :other
|
|
136
|
+
|
|
137
|
+
[category, match[2].to_i]
|
|
138
|
+
end.to_h
|
|
117
139
|
end
|
|
118
140
|
|
|
119
141
|
def template_change_category(path)
|
|
@@ -266,6 +266,15 @@ NOTE: To build without signing the gem set `SKIP_GEM_SIGNING` to any value in th
|
|
|
266
266
|
14. Run `bundle exec rake release` which will create a git tag for the version,
|
|
267
267
|
push git commits and tags, and push the `.gem` file to the gem host configured in the gemspec.
|
|
268
268
|
|
|
269
|
+
The automated `kettle-release` flow runs the build and release tasks with a
|
|
270
|
+
temporary `BUNDLE_LOCKFILE`. Bundler can rewrite a tracked lockfile while
|
|
271
|
+
reconciling the host platform even after the release lockfile has been
|
|
272
|
+
normalized with `bundle lock --add-platform`; that rewrite trips the clean-tree
|
|
273
|
+
guard in `bundler/gem_tasks`. The disposable lockfile preserves the committed
|
|
274
|
+
release inputs while allowing Bundler's runtime reconciliation. Do not replace
|
|
275
|
+
this with `BUNDLE_FROZEN=true`: frozen mode fails when Bundler needs that
|
|
276
|
+
reconciliation.
|
|
277
|
+
|
|
269
278
|
[📜src-gl]: {KJ|README:GL_PACKAGE_SOURCE_URL}
|
|
270
279
|
[📜src-cb]: {KJ|README:CB_PACKAGE_SOURCE_URL}
|
|
271
280
|
[📜src-gh]: {KJ|README:GH_PACKAGE_SOURCE_URL}
|
|
@@ -77,7 +77,11 @@ The _amazing_ test matrix is powered by the kettle-dev stack.
|
|
|
77
77
|
|
|
78
78
|
</details>
|
|
79
79
|
|
|
80
|
-
### Enterprise Support
|
|
80
|
+
### Enterprise Support
|
|
81
|
+
|
|
82
|
+
<!-- KJ:FUNDING_TIDELIFT:START -->
|
|
83
|
+
[](https://tidelift.com/subscription/pkg/rubygems-{KJ|GEM_NAME}?utm_source=rubygems-{KJ|GEM_NAME}&utm_medium=referral&utm_campaign=readme)
|
|
84
|
+
<!-- KJ:FUNDING_TIDELIFT:END -->
|
|
81
85
|
|
|
82
86
|
Available as part of the Tidelift Subscription.
|
|
83
87
|
|
|
@@ -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.10") # 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
|
|
@@ -133,8 +133,8 @@ Gem::Specification.new do |spec|
|
|
|
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
135
|
spec.add_development_dependency("appraisal2", "~> 3.2", ">= 3.2.2") # ruby >= 1.8.7, for testing against multiple versions of dependencies
|
|
136
|
-
spec.add_development_dependency("kettle-test", "~> 2.0", ">= 2.0.
|
|
137
|
-
spec.add_development_dependency("turbo_tests2", "~> 3.2", ">= 3.2.
|
|
136
|
+
spec.add_development_dependency("kettle-test", "~> 2.0", ">= 2.0.20") # ruby >= {KJ|MIN_TEST_RUBY}
|
|
137
|
+
spec.add_development_dependency("turbo_tests2", "~> 3.2", ">= 3.2.6") # ruby >= 2.4.0, default kettle-test runner
|
|
138
138
|
|
|
139
139
|
# Releasing
|
|
140
140
|
spec.add_development_dependency("ruby-progressbar", "~> 1.13") # ruby >= 0
|
|
@@ -150,7 +150,7 @@ Gem::Specification.new do |spec|
|
|
|
150
150
|
# This means we have no choice but to use the erb that shipped with Ruby 2.3
|
|
151
151
|
# /opt/hostedtoolcache/Ruby/2.3.8/x64/lib/ruby/gems/2.3.0/gems/erb-2.2.2/lib/erb.rb:670:in `prepare_trim_mode': undefined method `match?' for "-":String (NoMethodError)
|
|
152
152
|
# spec.add_development_dependency("erb", ">= 2.2") # ruby >= 2.3.0, not SemVer, old rubies get dropped in a patch.
|
|
153
|
-
spec.add_development_dependency("gitmoji-regex", "~> 2.0", ">= 2.0.
|
|
153
|
+
spec.add_development_dependency("gitmoji-regex", "~> 2.0", ">= 2.0.12") # ruby >= 2.4
|
|
154
154
|
|
|
155
155
|
# HTTP recording for deterministic specs
|
|
156
156
|
# In Ruby 3.5 (HEAD) the CGI library has been pared down, so we also need to depend on gem "cgi" for ruby@head
|
|
@@ -5,14 +5,15 @@ kettle_remote = ENV.fetch("KETTLE_DEV_DEV", "false").casecmp("false").zero?
|
|
|
5
5
|
|
|
6
6
|
tslp_dev = ENV.fetch("TSLP_DEV", nil).to_s
|
|
7
7
|
tslp_dev = nil if tslp_dev.empty? || %w[false 0 no off].include?(tslp_dev.downcase)
|
|
8
|
-
if tslp_dev.to_s.empty?
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
else
|
|
14
|
-
|
|
15
|
-
|
|
8
|
+
if structuredmerge_remote || !tslp_dev.to_s.empty?
|
|
9
|
+
# Keep one Bundler declaration so the local debugging override cannot be
|
|
10
|
+
# mistaken for a second dependency declaration.
|
|
11
|
+
tslp_requirements = if tslp_dev.to_s.empty?
|
|
12
|
+
["~> 1.15", ">= 1.15.7"]
|
|
13
|
+
else
|
|
14
|
+
[{ path: tslp_dev }]
|
|
15
|
+
end
|
|
16
|
+
gem "tree_sitter_language_pack", *tslp_requirements
|
|
16
17
|
end
|
|
17
18
|
|
|
18
19
|
if structuredmerge_remote
|
|
@@ -29,6 +29,19 @@ defaults:
|
|
|
29
29
|
preference: template
|
|
30
30
|
add_template_only_nodes: true
|
|
31
31
|
freeze_token: kettle-jem
|
|
32
|
+
funding:
|
|
33
|
+
buy_me_a_coffee: true
|
|
34
|
+
community_bridge: true
|
|
35
|
+
github: true
|
|
36
|
+
issuehunt: false
|
|
37
|
+
ko_fi: true
|
|
38
|
+
liberapay: true
|
|
39
|
+
open_collective: "example-org"
|
|
40
|
+
patreon: false
|
|
41
|
+
paypal: true
|
|
42
|
+
polar: false
|
|
43
|
+
thanks_dev: true
|
|
44
|
+
tidelift: true
|
|
32
45
|
patterns:
|
|
33
46
|
- path: "certs/**"
|
|
34
47
|
strategy: raw_copy
|
|
@@ -30,13 +30,13 @@ 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.10") # ruby >= {KJ|MIN_TEST_RUBY}
|
|
34
34
|
|
|
35
35
|
# Tasks
|
|
36
36
|
spec.add_development_dependency "rake", "~> 13.0"
|
|
37
37
|
|
|
38
38
|
# Testing
|
|
39
|
-
spec.add_development_dependency("kettle-test", "~> 2.0", ">= 2.0.
|
|
39
|
+
spec.add_development_dependency("kettle-test", "~> 2.0", ">= 2.0.20") # ruby >= {KJ|MIN_TEST_RUBY}
|
|
40
40
|
spec.add_development_dependency "rspec", "~> 3.12"
|
|
41
41
|
|
|
42
42
|
# Releasing
|
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.5"
|
|
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
|
@@ -1407,6 +1407,63 @@ module Kettle
|
|
|
1407
1407
|
"🖇osc-sponsors-img",
|
|
1408
1408
|
"🖇osc-sponsors-bottom-img"
|
|
1409
1409
|
].freeze
|
|
1410
|
+
FUNDING_YML_PLATFORMS = %w[
|
|
1411
|
+
buy_me_a_coffee
|
|
1412
|
+
community_bridge
|
|
1413
|
+
github
|
|
1414
|
+
issuehunt
|
|
1415
|
+
ko_fi
|
|
1416
|
+
liberapay
|
|
1417
|
+
open_collective
|
|
1418
|
+
patreon
|
|
1419
|
+
polar
|
|
1420
|
+
thanks_dev
|
|
1421
|
+
tidelift
|
|
1422
|
+
].freeze
|
|
1423
|
+
FUNDING_README_PLATFORMS = (FUNDING_YML_PLATFORMS + ["paypal"]).freeze
|
|
1424
|
+
FUNDING_DEFAULT_DISABLED_PLATFORMS = %w[issuehunt patreon polar].freeze
|
|
1425
|
+
README_FUNDING_BADGE_POLICIES = {
|
|
1426
|
+
"github" => {
|
|
1427
|
+
badges: [
|
|
1428
|
+
"[![Sponsor Me on Github][🖇sponsor-img]][🖇sponsor]",
|
|
1429
|
+
"[![Sponsor me on GitHub Sponsors][🖇sponsor-bottom-img]][🖇sponsor]"
|
|
1430
|
+
],
|
|
1431
|
+
labels: ["🖇sponsor", "🖇sponsor-img", "🖇sponsor-bottom-img"]
|
|
1432
|
+
},
|
|
1433
|
+
"liberapay" => {
|
|
1434
|
+
badges: [
|
|
1435
|
+
"[![Liberapay Goal Progress][⛳liberapay-img]][⛳liberapay]",
|
|
1436
|
+
"[![Sponsor me on Liberapay][⛳liberapay-bottom-img]][⛳liberapay]"
|
|
1437
|
+
],
|
|
1438
|
+
labels: ["⛳liberapay", "⛳liberapay-img", "⛳liberapay-bottom-img"]
|
|
1439
|
+
},
|
|
1440
|
+
"paypal" => {
|
|
1441
|
+
badges: [
|
|
1442
|
+
"[![Donate on PayPal][🖇paypal-img]][🖇paypal]",
|
|
1443
|
+
"[![Donate on PayPal][🖇paypal-bottom-img]][🖇paypal]"
|
|
1444
|
+
],
|
|
1445
|
+
labels: ["🖇paypal", "🖇paypal-img", "🖇paypal-bottom-img"]
|
|
1446
|
+
},
|
|
1447
|
+
"buy_me_a_coffee" => {
|
|
1448
|
+
badges: [
|
|
1449
|
+
"[![Buy me a coffee][🖇buyme-small-img]][🖇buyme]"
|
|
1450
|
+
],
|
|
1451
|
+
labels: ["🖇buyme", "🖇buyme-small-img", "🖇buyme-img"]
|
|
1452
|
+
},
|
|
1453
|
+
"ko_fi" => {
|
|
1454
|
+
badges: [
|
|
1455
|
+
"[![Donate at ko-fi.com][🖇kofi-img]][🖇kofi]",
|
|
1456
|
+
"[![Donate to my FLOSS efforts at ko-fi.com][🖇kofi-img]][🖇kofi]"
|
|
1457
|
+
],
|
|
1458
|
+
labels: ["🖇kofi", "🖇kofi-img"]
|
|
1459
|
+
},
|
|
1460
|
+
"tidelift" => {
|
|
1461
|
+
badges: [
|
|
1462
|
+
"[![Get help from me on Tidelift][🏙️entsup-tidelift-img]][🏙️entsup-tidelift]"
|
|
1463
|
+
],
|
|
1464
|
+
labels: ["🏙️entsup-tidelift", "🏙️entsup-tidelift-img"]
|
|
1465
|
+
}
|
|
1466
|
+
}.freeze
|
|
1410
1467
|
README_INTEGRATIONS = %w[codecov coveralls qlty codeql skywalking-eyes].freeze
|
|
1411
1468
|
README_STAR_HISTORY_MIN_STARS = 150
|
|
1412
1469
|
README_DISCOVERED_INTEGRATIONS = (README_INTEGRATIONS - [SKYWALKING_EYES_INTEGRATION]).freeze
|
|
@@ -3161,6 +3218,7 @@ module Kettle
|
|
|
3161
3218
|
facts[:ruby_style] = ruby_style_facts(project_root)
|
|
3162
3219
|
opencollective_policy = opencollective_policy(kettle_config, env)
|
|
3163
3220
|
opencollective_disabled = opencollective_policy.fetch(:disabled)
|
|
3221
|
+
funding_platforms = funding_platform_policies(kettle_config, env)
|
|
3164
3222
|
detected_open_collective_org = opencollective_org(project_root, kettle_config, env, opencollective_disabled: opencollective_disabled)
|
|
3165
3223
|
detected_open_collective_org ||= fallback_opencollective_org unless opencollective_disabled
|
|
3166
3224
|
funding = compact_hash(
|
|
@@ -3168,9 +3226,11 @@ module Kettle
|
|
|
3168
3226
|
project_root,
|
|
3169
3227
|
package_name,
|
|
3170
3228
|
opencollective_disabled: opencollective_disabled,
|
|
3171
|
-
open_collective_org: detected_open_collective_org && detected_open_collective_org.fetch(:org)
|
|
3229
|
+
open_collective_org: detected_open_collective_org && detected_open_collective_org.fetch(:org),
|
|
3230
|
+
enabled_platforms: funding_platforms
|
|
3172
3231
|
),
|
|
3173
|
-
platform_tokens: funding_platform_token_facts(kettle_config, env)
|
|
3232
|
+
platform_tokens: funding_platform_token_facts(kettle_config, env),
|
|
3233
|
+
platforms: funding_platforms
|
|
3174
3234
|
)
|
|
3175
3235
|
funding[:open_collective_disabled] = true if opencollective_disabled
|
|
3176
3236
|
funding[:open_collective_disabled_source] = opencollective_policy[:source] if opencollective_disabled
|
|
@@ -3410,6 +3470,7 @@ module Kettle
|
|
|
3410
3470
|
facts[:social] = social unless social.empty?
|
|
3411
3471
|
opencollective_policy = opencollective_policy(kettle_config, env)
|
|
3412
3472
|
opencollective_disabled = opencollective_policy.fetch(:disabled)
|
|
3473
|
+
funding_platforms = funding_platform_policies(kettle_config, env)
|
|
3413
3474
|
open_collective_org = opencollective_org(project_root, kettle_config, env, opencollective_disabled: opencollective_disabled)
|
|
3414
3475
|
open_collective_org ||= fallback_opencollective_org unless opencollective_disabled
|
|
3415
3476
|
funding = compact_hash(
|
|
@@ -3418,8 +3479,10 @@ module Kettle
|
|
|
3418
3479
|
name,
|
|
3419
3480
|
funding_uri: metadata_value(gemspec_metadata, :funding_uri),
|
|
3420
3481
|
opencollective_disabled: opencollective_disabled,
|
|
3421
|
-
open_collective_org: open_collective_org && open_collective_org.fetch(:org)
|
|
3422
|
-
|
|
3482
|
+
open_collective_org: open_collective_org && open_collective_org.fetch(:org),
|
|
3483
|
+
enabled_platforms: funding_platforms
|
|
3484
|
+
),
|
|
3485
|
+
platforms: funding_platforms
|
|
3423
3486
|
)
|
|
3424
3487
|
funding_tokens = funding_platform_token_facts(kettle_config, env)
|
|
3425
3488
|
funding[:platform_tokens] = funding_tokens unless funding_tokens.empty?
|
|
@@ -5320,15 +5383,15 @@ module Kettle
|
|
|
5320
5383
|
[
|
|
5321
5384
|
{name: "appraisal2", source: %(gem "appraisal2", "~> 3.2", ">= 3.2.2"\n)},
|
|
5322
5385
|
{name: "bundler-audit", source: %(gem "bundler-audit", "~> 0.9.3"\n)},
|
|
5323
|
-
{name: "kettle-dev", source: %(gem "kettle-dev", "~> 3.0", ">= 3.0.
|
|
5386
|
+
{name: "kettle-dev", source: %(gem "kettle-dev", "~> 3.0", ">= 3.0.10"\n)},
|
|
5324
5387
|
{name: "kettle-drift", source: %(gem "kettle-drift", "~> 1.0", ">= 1.0.12"\n)},
|
|
5325
|
-
{name: "kettle-family", source: %(gem "kettle-family", "~> 1.2", ">= 1.2.
|
|
5326
|
-
{name: "kettle-jem", source: %(gem "kettle-jem", "~> 7.1", ">= 7.1.
|
|
5327
|
-
{name: "kettle-test", source: %(gem "kettle-test", "~> 2.0", ">= 2.0.
|
|
5388
|
+
{name: "kettle-family", source: %(gem "kettle-family", "~> 1.2", ">= 1.2.58"\n)},
|
|
5389
|
+
{name: "kettle-jem", source: %(gem "kettle-jem", "~> 7.1", ">= 7.1.4"\n)},
|
|
5390
|
+
{name: "kettle-test", source: %(gem "kettle-test", "~> 2.0", ">= 2.0.20"\n)},
|
|
5328
5391
|
{name: "rake", source: %(gem "rake", "~> 13.0"\n)},
|
|
5329
5392
|
{name: "rspec", source: %(gem "rspec", "~> 3.0"\n)},
|
|
5330
5393
|
{name: "stone_checksums", source: %(gem "stone_checksums", "~> 1.0", ">= 1.0.8"\n)},
|
|
5331
|
-
{name: "turbo_tests2", source: %(gem "turbo_tests2", "~> 3.2", ">= 3.2.
|
|
5394
|
+
{name: "turbo_tests2", source: %(gem "turbo_tests2", "~> 3.2", ">= 3.2.6"\n)}
|
|
5332
5395
|
].freeze
|
|
5333
5396
|
end
|
|
5334
5397
|
|
|
@@ -7018,6 +7081,8 @@ module Kettle
|
|
|
7018
7081
|
merged = preserve_mise_project_settings(recipe, merged, original, project_root: project_root, facts: facts) if template_file_type(recipe) == :toml
|
|
7019
7082
|
return finalize_template_source_content(recipe, sync_kettle_config_env_overrides(merged, env)) if recipe.fetch(:target_path) == KETTLE_CONFIG_PATH
|
|
7020
7083
|
|
|
7084
|
+
merged = postprocess_funding_markdown_content(merged, facts) if recipe.fetch(:target_path) == "FUNDING.md"
|
|
7085
|
+
|
|
7021
7086
|
if github_workflow_template_recipe?(recipe)
|
|
7022
7087
|
merged = preserve_github_workflow_project_settings(recipe, merged, original, project_root: project_root)
|
|
7023
7088
|
merged = finalize_github_workflow_template(merged, facts)
|
|
@@ -7030,6 +7095,7 @@ module Kettle
|
|
|
7030
7095
|
accepted = finalize_accepted_template_source(recipe, resolved, original, facts: facts, project_root: project_root)
|
|
7031
7096
|
accepted = preserve_github_workflow_project_settings(recipe, accepted, original, project_root: project_root) if github_workflow_template_recipe?(recipe)
|
|
7032
7097
|
accepted = sync_kettle_config_env_overrides(accepted, env) if recipe.fetch(:target_path) == KETTLE_CONFIG_PATH
|
|
7098
|
+
accepted = postprocess_funding_markdown_content(accepted, facts) if recipe.fetch(:target_path) == "FUNDING.md"
|
|
7033
7099
|
if github_workflow_template_recipe?(recipe)
|
|
7034
7100
|
accepted = finalize_github_workflow_template(accepted, facts)
|
|
7035
7101
|
accepted = preserve_newer_github_workflow_action_pins(accepted, original)
|
|
@@ -7047,6 +7113,7 @@ module Kettle
|
|
|
7047
7113
|
end
|
|
7048
7114
|
|
|
7049
7115
|
resolved = finalize_github_workflow_template(resolved, facts) if github_workflow_template_recipe?(recipe)
|
|
7116
|
+
resolved = postprocess_funding_markdown_content(resolved, facts) if recipe.fetch(:target_path) == "FUNDING.md"
|
|
7050
7117
|
if recipe.fetch(:target_path) == "README.md"
|
|
7051
7118
|
return postprocess_readme_content(
|
|
7052
7119
|
resolved,
|
|
@@ -7366,6 +7433,11 @@ module Kettle
|
|
|
7366
7433
|
open_collective_enabled = !facts.dig(:funding, :open_collective_disabled)
|
|
7367
7434
|
processed = apply_markdown_conditional_block(content, "OPEN_COLLECTIVE", keep: open_collective_enabled)
|
|
7368
7435
|
processed = apply_markdown_conditional_block(processed, "NO_OPEN_COLLECTIVE", keep: !open_collective_enabled)
|
|
7436
|
+
processed = apply_markdown_conditional_block(
|
|
7437
|
+
processed,
|
|
7438
|
+
"FUNDING_TIDELIFT",
|
|
7439
|
+
keep: funding_platform_enabled?(facts.dig(:funding, :platforms), "tidelift")
|
|
7440
|
+
)
|
|
7369
7441
|
star_history_enabled = facts.dig(:repository, :star_history, :enabled) == true
|
|
7370
7442
|
return processed if star_history_enabled
|
|
7371
7443
|
|
|
@@ -7378,6 +7450,28 @@ module Kettle
|
|
|
7378
7450
|
)
|
|
7379
7451
|
end
|
|
7380
7452
|
|
|
7453
|
+
def postprocess_funding_markdown_content(content, facts)
|
|
7454
|
+
open_collective_enabled = !facts.dig(:funding, :open_collective_disabled)
|
|
7455
|
+
processed = apply_markdown_conditional_block(content, "OPEN_COLLECTIVE", keep: open_collective_enabled)
|
|
7456
|
+
processed = apply_markdown_conditional_block(processed, "NO_OPEN_COLLECTIVE", keep: !open_collective_enabled)
|
|
7457
|
+
funding_platforms = facts.dig(:funding, :platforms)
|
|
7458
|
+
if facts.dig(:funding, :open_collective_disabled)
|
|
7459
|
+
processed = remove_readme_badge_and_refs(
|
|
7460
|
+
processed,
|
|
7461
|
+
README_OPEN_COLLECTIVE_FUNDING_BADGES,
|
|
7462
|
+
README_OPEN_COLLECTIVE_LINK_LABELS
|
|
7463
|
+
)
|
|
7464
|
+
end
|
|
7465
|
+
README_FUNDING_BADGE_POLICIES.each do |platform, policy|
|
|
7466
|
+
next if funding_platform_enabled?(funding_platforms, platform)
|
|
7467
|
+
|
|
7468
|
+
processed = policy.fetch(:badges).reduce(processed) do |badge_content, badge|
|
|
7469
|
+
remove_readme_badge_and_refs(badge_content, badge, policy.fetch(:labels))
|
|
7470
|
+
end
|
|
7471
|
+
end
|
|
7472
|
+
processed
|
|
7473
|
+
end
|
|
7474
|
+
|
|
7381
7475
|
def apply_readme_badge_policy(content, facts)
|
|
7382
7476
|
processed = with_readme_timing("badge_policy.codetriage") do
|
|
7383
7477
|
remove_readme_badge_and_refs(content, README_CODETRIAGE_BADGE, README_CODETRIAGE_LINK_LABELS)
|
|
@@ -7405,6 +7499,16 @@ module Kettle
|
|
|
7405
7499
|
)
|
|
7406
7500
|
end
|
|
7407
7501
|
end
|
|
7502
|
+
funding_platforms = facts.dig(:funding, :platforms)
|
|
7503
|
+
README_FUNDING_BADGE_POLICIES.each do |platform, policy|
|
|
7504
|
+
next if funding_platform_enabled?(funding_platforms, platform)
|
|
7505
|
+
|
|
7506
|
+
processed = with_readme_timing("badge_policy.#{platform}") do
|
|
7507
|
+
policy.fetch(:badges).reduce(processed) do |badge_content, badge|
|
|
7508
|
+
remove_readme_badge_and_refs(badge_content, badge, policy.fetch(:labels))
|
|
7509
|
+
end
|
|
7510
|
+
end
|
|
7511
|
+
end
|
|
7408
7512
|
Array(facts.dig(:readme_style, :disabled_integrations)).each do |integration|
|
|
7409
7513
|
patterns = README_INTEGRATION_BADGE_PATTERNS.fetch(integration.to_s, [])
|
|
7410
7514
|
labels = README_INTEGRATION_LINK_LABELS.fetch(integration.to_s, [])
|
|
@@ -13101,24 +13205,38 @@ module Kettle
|
|
|
13101
13205
|
engines.map { |engine| engine.to_s.strip.downcase }.reject(&:empty?).uniq
|
|
13102
13206
|
end
|
|
13103
13207
|
|
|
13104
|
-
def funding_urls(project_root, package_name, funding_uri: nil, opencollective_disabled: false, open_collective_org: nil)
|
|
13208
|
+
def funding_urls(project_root, package_name, funding_uri: nil, opencollective_disabled: false, open_collective_org: nil, enabled_platforms: nil)
|
|
13105
13209
|
urls = [funding_uri]
|
|
13106
13210
|
path = File.join(project_root, ".github", "FUNDING.yml")
|
|
13107
|
-
|
|
13108
|
-
|
|
13109
|
-
|
|
13211
|
+
if File.exist?(path)
|
|
13212
|
+
urls.concat(
|
|
13213
|
+
github_funding_urls(
|
|
13214
|
+
path,
|
|
13215
|
+
opencollective_disabled: opencollective_disabled,
|
|
13216
|
+
enabled_platforms: enabled_platforms
|
|
13217
|
+
)
|
|
13218
|
+
)
|
|
13219
|
+
end
|
|
13220
|
+
if !opencollective_disabled && funding_platform_enabled?(enabled_platforms, "open_collective")
|
|
13221
|
+
urls << github_funding_platform_urls("open_collective", [open_collective_org]).first
|
|
13222
|
+
end
|
|
13223
|
+
if funding_platform_enabled?(enabled_platforms, "tidelift")
|
|
13224
|
+
urls << github_funding_platform_urls("tidelift", ["rubygems/#{package_name}"]).first
|
|
13225
|
+
end
|
|
13110
13226
|
|
|
13111
13227
|
urls.compact.uniq.sort
|
|
13112
13228
|
end
|
|
13113
13229
|
|
|
13114
|
-
def github_funding_urls(path, opencollective_disabled: false)
|
|
13230
|
+
def github_funding_urls(path, opencollective_disabled: false, enabled_platforms: nil)
|
|
13115
13231
|
funding = YAML.safe_load_file(path, permitted_classes: [], aliases: false) || {}
|
|
13116
13232
|
return [] unless funding.is_a?(Hash)
|
|
13117
13233
|
|
|
13118
13234
|
funding.flat_map do |platform, value|
|
|
13119
|
-
|
|
13235
|
+
normalized_platform = platform.to_s
|
|
13236
|
+
next [] if opencollective_disabled && normalized_platform == "open_collective"
|
|
13237
|
+
next [] unless funding_platform_enabled?(enabled_platforms, normalized_platform)
|
|
13120
13238
|
|
|
13121
|
-
github_funding_platform_urls(
|
|
13239
|
+
github_funding_platform_urls(normalized_platform, Array(value).compact)
|
|
13122
13240
|
end
|
|
13123
13241
|
end
|
|
13124
13242
|
|
|
@@ -13743,6 +13861,27 @@ module Kettle
|
|
|
13743
13861
|
opencollective_policy(config, env).fetch(:disabled)
|
|
13744
13862
|
end
|
|
13745
13863
|
|
|
13864
|
+
def funding_platform_policies(config, env)
|
|
13865
|
+
funding = config["funding"]
|
|
13866
|
+
configured = funding.is_a?(Hash) ? funding : {}
|
|
13867
|
+
FUNDING_README_PLATFORMS.to_h do |platform|
|
|
13868
|
+
value = if platform == "open_collective"
|
|
13869
|
+
!opencollective_policy(config, env).fetch(:disabled)
|
|
13870
|
+
elsif configured.key?(platform)
|
|
13871
|
+
!falsey_config?(configured.fetch(platform))
|
|
13872
|
+
else
|
|
13873
|
+
!FUNDING_DEFAULT_DISABLED_PLATFORMS.include?(platform)
|
|
13874
|
+
end
|
|
13875
|
+
[platform, value]
|
|
13876
|
+
end
|
|
13877
|
+
end
|
|
13878
|
+
|
|
13879
|
+
def funding_platform_enabled?(enabled_platforms, platform)
|
|
13880
|
+
return true unless enabled_platforms.is_a?(Hash)
|
|
13881
|
+
|
|
13882
|
+
enabled_platforms.fetch(platform.to_s, true) == true
|
|
13883
|
+
end
|
|
13884
|
+
|
|
13746
13885
|
def opencollective_policy(config, env)
|
|
13747
13886
|
funding = config["funding"]
|
|
13748
13887
|
if funding.is_a?(Hash) && funding.key?("open_collective")
|
|
@@ -13922,7 +14061,9 @@ module Kettle
|
|
|
13922
14061
|
return "" if package_name == "kettle-changelog"
|
|
13923
14062
|
|
|
13924
14063
|
<<~RUBY.chomp
|
|
13925
|
-
|
|
14064
|
+
# Release lockfile/build commands set this dependency-specific switch so
|
|
14065
|
+
# the development tool cannot pull unpublished family gems into resolution.
|
|
14066
|
+
kettle_changelog_skip = ENV.fetch("KETTLE_DEV_SKIP_CHANGELOG_DEPENDENCY", "false").downcase
|
|
13926
14067
|
kettle_changelog_skip = %w[true 1 yes on].include?(kettle_changelog_skip)
|
|
13927
14068
|
kettle_changelog_local = ENV.fetch("KETTLE_DEV_DEV", "false").downcase
|
|
13928
14069
|
kettle_changelog_local = !%w[false 0 no off].include?(kettle_changelog_local)
|
|
@@ -14896,7 +15037,7 @@ module Kettle
|
|
|
14896
15037
|
def main_gemfile_kettle_family_gem(package_name)
|
|
14897
15038
|
return "" if package_name.to_s == "kettle-family"
|
|
14898
15039
|
|
|
14899
|
-
%(gem "kettle-family", "~> 1.2", ">= 1.2.
|
|
15040
|
+
%(gem "kettle-family", "~> 1.2", ">= 1.2.58"\n)
|
|
14900
15041
|
end
|
|
14901
15042
|
|
|
14902
15043
|
def main_gemfile_nomono_bootstrap(package_name)
|
|
@@ -18523,9 +18664,15 @@ module Kettle
|
|
|
18523
18664
|
|
|
18524
18665
|
def synchronize_github_funding_yml(content, facts)
|
|
18525
18666
|
output = content.to_s
|
|
18526
|
-
|
|
18667
|
+
enabled_platforms = facts.fetch(:funding, {}).fetch(:platforms, {})
|
|
18668
|
+
enabled_platforms = enabled_platforms.merge("open_collective" => false) if facts.fetch(:funding, {})[:open_collective_disabled]
|
|
18669
|
+
FUNDING_YML_PLATFORMS.each do |platform|
|
|
18670
|
+
next if funding_platform_enabled?(enabled_platforms, platform)
|
|
18671
|
+
|
|
18672
|
+
output = remove_top_level_yaml_key_lines(output, platform)
|
|
18673
|
+
end
|
|
18527
18674
|
tidelift_value = "rubygems/#{facts.fetch(:package).fetch(:name)}"
|
|
18528
|
-
|
|
18675
|
+
if funding_platform_enabled?(enabled_platforms, "tidelift") && !yaml_top_level_key_lines(output).key?("tidelift")
|
|
18529
18676
|
lines = output.lines
|
|
18530
18677
|
lines << "\n" unless lines.empty? || lines.last.to_s.strip.empty?
|
|
18531
18678
|
lines << "tidelift: #{tidelift_value}\n"
|
|
@@ -19407,9 +19554,9 @@ module Kettle
|
|
|
19407
19554
|
"actions/upload-artifact" => "actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1",
|
|
19408
19555
|
"amancevice/setup-code-climate" => "amancevice/setup-code-climate@0daf2985a225e8ac15975b4d233010e94d65b76a # v2",
|
|
19409
19556
|
"actions/dependency-review-action" => "actions/dependency-review-action@a1d282b36b6f3519aa1f3fc636f609c47dddb294 # v5.0.0",
|
|
19410
|
-
"github/codeql-action/init" => "github/codeql-action/init@
|
|
19411
|
-
"github/codeql-action/autobuild" => "github/codeql-action/autobuild@
|
|
19412
|
-
"github/codeql-action/analyze" => "github/codeql-action/analyze@
|
|
19557
|
+
"github/codeql-action/init" => "github/codeql-action/init@db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28 # v4.37.8",
|
|
19558
|
+
"github/codeql-action/autobuild" => "github/codeql-action/autobuild@db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28 # v4.37.8",
|
|
19559
|
+
"github/codeql-action/analyze" => "github/codeql-action/analyze@db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28 # v4.37.8",
|
|
19413
19560
|
"pozil/auto-assign-issue" => "pozil/auto-assign-issue@af6beea6bdf1e8eb373f061c5bc168681fc6d011 # v4.0.1",
|
|
19414
19561
|
"apache/skywalking-eyes/dependency" => "apache/skywalking-eyes/dependency@61275cc80d0798a405cb070f7d3a8aaf7cf2c2c1 # v0.8.0",
|
|
19415
19562
|
"sarisia/actions-status-discord" => "sarisia/actions-status-discord@eb045afee445dc055c18d3d90bd0f244fd062708 # v1.16.0"
|
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.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Peter H. Boling
|
|
@@ -66,7 +66,7 @@ dependencies:
|
|
|
66
66
|
version: '7.1'
|
|
67
67
|
- - ">="
|
|
68
68
|
- !ruby/object:Gem::Version
|
|
69
|
-
version: 7.1.
|
|
69
|
+
version: 7.1.4
|
|
70
70
|
type: :runtime
|
|
71
71
|
prerelease: false
|
|
72
72
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -76,7 +76,7 @@ dependencies:
|
|
|
76
76
|
version: '7.1'
|
|
77
77
|
- - ">="
|
|
78
78
|
- !ruby/object:Gem::Version
|
|
79
|
-
version: 7.1.
|
|
79
|
+
version: 7.1.4
|
|
80
80
|
- !ruby/object:Gem::Dependency
|
|
81
81
|
name: ast-crispr-ruby-prism
|
|
82
82
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -86,7 +86,7 @@ dependencies:
|
|
|
86
86
|
version: '7.1'
|
|
87
87
|
- - ">="
|
|
88
88
|
- !ruby/object:Gem::Version
|
|
89
|
-
version: 7.1.
|
|
89
|
+
version: 7.1.4
|
|
90
90
|
type: :runtime
|
|
91
91
|
prerelease: false
|
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -96,7 +96,7 @@ dependencies:
|
|
|
96
96
|
version: '7.1'
|
|
97
97
|
- - ">="
|
|
98
98
|
- !ruby/object:Gem::Version
|
|
99
|
-
version: 7.1.
|
|
99
|
+
version: 7.1.4
|
|
100
100
|
- !ruby/object:Gem::Dependency
|
|
101
101
|
name: ast-merge
|
|
102
102
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -106,7 +106,7 @@ dependencies:
|
|
|
106
106
|
version: '7.1'
|
|
107
107
|
- - ">="
|
|
108
108
|
- !ruby/object:Gem::Version
|
|
109
|
-
version: 7.1.
|
|
109
|
+
version: 7.1.4
|
|
110
110
|
type: :runtime
|
|
111
111
|
prerelease: false
|
|
112
112
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -116,7 +116,7 @@ dependencies:
|
|
|
116
116
|
version: '7.1'
|
|
117
117
|
- - ">="
|
|
118
118
|
- !ruby/object:Gem::Version
|
|
119
|
-
version: 7.1.
|
|
119
|
+
version: 7.1.4
|
|
120
120
|
- !ruby/object:Gem::Dependency
|
|
121
121
|
name: bash-merge
|
|
122
122
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -126,7 +126,7 @@ dependencies:
|
|
|
126
126
|
version: '7.1'
|
|
127
127
|
- - ">="
|
|
128
128
|
- !ruby/object:Gem::Version
|
|
129
|
-
version: 7.1.
|
|
129
|
+
version: 7.1.4
|
|
130
130
|
type: :runtime
|
|
131
131
|
prerelease: false
|
|
132
132
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -136,7 +136,7 @@ dependencies:
|
|
|
136
136
|
version: '7.1'
|
|
137
137
|
- - ">="
|
|
138
138
|
- !ruby/object:Gem::Version
|
|
139
|
-
version: 7.1.
|
|
139
|
+
version: 7.1.4
|
|
140
140
|
- !ruby/object:Gem::Dependency
|
|
141
141
|
name: citrus-toml-merge
|
|
142
142
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -146,7 +146,7 @@ dependencies:
|
|
|
146
146
|
version: '7.1'
|
|
147
147
|
- - ">="
|
|
148
148
|
- !ruby/object:Gem::Version
|
|
149
|
-
version: 7.1.
|
|
149
|
+
version: 7.1.4
|
|
150
150
|
type: :runtime
|
|
151
151
|
prerelease: false
|
|
152
152
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -156,7 +156,7 @@ dependencies:
|
|
|
156
156
|
version: '7.1'
|
|
157
157
|
- - ">="
|
|
158
158
|
- !ruby/object:Gem::Version
|
|
159
|
-
version: 7.1.
|
|
159
|
+
version: 7.1.4
|
|
160
160
|
- !ruby/object:Gem::Dependency
|
|
161
161
|
name: commonmarker-merge
|
|
162
162
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -166,7 +166,7 @@ dependencies:
|
|
|
166
166
|
version: '7.1'
|
|
167
167
|
- - ">="
|
|
168
168
|
- !ruby/object:Gem::Version
|
|
169
|
-
version: 7.1.
|
|
169
|
+
version: 7.1.4
|
|
170
170
|
type: :runtime
|
|
171
171
|
prerelease: false
|
|
172
172
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -176,7 +176,7 @@ dependencies:
|
|
|
176
176
|
version: '7.1'
|
|
177
177
|
- - ">="
|
|
178
178
|
- !ruby/object:Gem::Version
|
|
179
|
-
version: 7.1.
|
|
179
|
+
version: 7.1.4
|
|
180
180
|
- !ruby/object:Gem::Dependency
|
|
181
181
|
name: dotenv-merge
|
|
182
182
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -186,7 +186,7 @@ dependencies:
|
|
|
186
186
|
version: '7.1'
|
|
187
187
|
- - ">="
|
|
188
188
|
- !ruby/object:Gem::Version
|
|
189
|
-
version: 7.1.
|
|
189
|
+
version: 7.1.4
|
|
190
190
|
type: :runtime
|
|
191
191
|
prerelease: false
|
|
192
192
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -196,7 +196,7 @@ dependencies:
|
|
|
196
196
|
version: '7.1'
|
|
197
197
|
- - ">="
|
|
198
198
|
- !ruby/object:Gem::Version
|
|
199
|
-
version: 7.1.
|
|
199
|
+
version: 7.1.4
|
|
200
200
|
- !ruby/object:Gem::Dependency
|
|
201
201
|
name: json-merge
|
|
202
202
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -206,7 +206,7 @@ dependencies:
|
|
|
206
206
|
version: '7.1'
|
|
207
207
|
- - ">="
|
|
208
208
|
- !ruby/object:Gem::Version
|
|
209
|
-
version: 7.1.
|
|
209
|
+
version: 7.1.4
|
|
210
210
|
type: :runtime
|
|
211
211
|
prerelease: false
|
|
212
212
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -216,7 +216,7 @@ dependencies:
|
|
|
216
216
|
version: '7.1'
|
|
217
217
|
- - ">="
|
|
218
218
|
- !ruby/object:Gem::Version
|
|
219
|
-
version: 7.1.
|
|
219
|
+
version: 7.1.4
|
|
220
220
|
- !ruby/object:Gem::Dependency
|
|
221
221
|
name: kettle-changelog
|
|
222
222
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -326,7 +326,7 @@ dependencies:
|
|
|
326
326
|
version: '7.1'
|
|
327
327
|
- - ">="
|
|
328
328
|
- !ruby/object:Gem::Version
|
|
329
|
-
version: 7.1.
|
|
329
|
+
version: 7.1.4
|
|
330
330
|
type: :runtime
|
|
331
331
|
prerelease: false
|
|
332
332
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -336,7 +336,7 @@ dependencies:
|
|
|
336
336
|
version: '7.1'
|
|
337
337
|
- - ">="
|
|
338
338
|
- !ruby/object:Gem::Version
|
|
339
|
-
version: 7.1.
|
|
339
|
+
version: 7.1.4
|
|
340
340
|
- !ruby/object:Gem::Dependency
|
|
341
341
|
name: markdown-merge
|
|
342
342
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -346,7 +346,7 @@ dependencies:
|
|
|
346
346
|
version: '7.1'
|
|
347
347
|
- - ">="
|
|
348
348
|
- !ruby/object:Gem::Version
|
|
349
|
-
version: 7.1.
|
|
349
|
+
version: 7.1.4
|
|
350
350
|
type: :runtime
|
|
351
351
|
prerelease: false
|
|
352
352
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -356,7 +356,7 @@ dependencies:
|
|
|
356
356
|
version: '7.1'
|
|
357
357
|
- - ">="
|
|
358
358
|
- !ruby/object:Gem::Version
|
|
359
|
-
version: 7.1.
|
|
359
|
+
version: 7.1.4
|
|
360
360
|
- !ruby/object:Gem::Dependency
|
|
361
361
|
name: markly-merge
|
|
362
362
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -366,7 +366,7 @@ dependencies:
|
|
|
366
366
|
version: '7.1'
|
|
367
367
|
- - ">="
|
|
368
368
|
- !ruby/object:Gem::Version
|
|
369
|
-
version: 7.1.
|
|
369
|
+
version: 7.1.4
|
|
370
370
|
type: :runtime
|
|
371
371
|
prerelease: false
|
|
372
372
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -376,7 +376,7 @@ dependencies:
|
|
|
376
376
|
version: '7.1'
|
|
377
377
|
- - ">="
|
|
378
378
|
- !ruby/object:Gem::Version
|
|
379
|
-
version: 7.1.
|
|
379
|
+
version: 7.1.4
|
|
380
380
|
- !ruby/object:Gem::Dependency
|
|
381
381
|
name: parslet
|
|
382
382
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -400,7 +400,7 @@ dependencies:
|
|
|
400
400
|
version: '7.1'
|
|
401
401
|
- - ">="
|
|
402
402
|
- !ruby/object:Gem::Version
|
|
403
|
-
version: 7.1.
|
|
403
|
+
version: 7.1.4
|
|
404
404
|
type: :runtime
|
|
405
405
|
prerelease: false
|
|
406
406
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -410,7 +410,7 @@ dependencies:
|
|
|
410
410
|
version: '7.1'
|
|
411
411
|
- - ">="
|
|
412
412
|
- !ruby/object:Gem::Version
|
|
413
|
-
version: 7.1.
|
|
413
|
+
version: 7.1.4
|
|
414
414
|
- !ruby/object:Gem::Dependency
|
|
415
415
|
name: psych-merge
|
|
416
416
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -420,7 +420,7 @@ dependencies:
|
|
|
420
420
|
version: '7.1'
|
|
421
421
|
- - ">="
|
|
422
422
|
- !ruby/object:Gem::Version
|
|
423
|
-
version: 7.1.
|
|
423
|
+
version: 7.1.4
|
|
424
424
|
type: :runtime
|
|
425
425
|
prerelease: false
|
|
426
426
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -430,7 +430,7 @@ dependencies:
|
|
|
430
430
|
version: '7.1'
|
|
431
431
|
- - ">="
|
|
432
432
|
- !ruby/object:Gem::Version
|
|
433
|
-
version: 7.1.
|
|
433
|
+
version: 7.1.4
|
|
434
434
|
- !ruby/object:Gem::Dependency
|
|
435
435
|
name: rbs
|
|
436
436
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -454,7 +454,7 @@ dependencies:
|
|
|
454
454
|
version: '7.1'
|
|
455
455
|
- - ">="
|
|
456
456
|
- !ruby/object:Gem::Version
|
|
457
|
-
version: 7.1.
|
|
457
|
+
version: 7.1.4
|
|
458
458
|
type: :runtime
|
|
459
459
|
prerelease: false
|
|
460
460
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -464,7 +464,7 @@ dependencies:
|
|
|
464
464
|
version: '7.1'
|
|
465
465
|
- - ">="
|
|
466
466
|
- !ruby/object:Gem::Version
|
|
467
|
-
version: 7.1.
|
|
467
|
+
version: 7.1.4
|
|
468
468
|
- !ruby/object:Gem::Dependency
|
|
469
469
|
name: ruby-merge
|
|
470
470
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -474,7 +474,7 @@ dependencies:
|
|
|
474
474
|
version: '7.1'
|
|
475
475
|
- - ">="
|
|
476
476
|
- !ruby/object:Gem::Version
|
|
477
|
-
version: 7.1.
|
|
477
|
+
version: 7.1.4
|
|
478
478
|
type: :runtime
|
|
479
479
|
prerelease: false
|
|
480
480
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -484,7 +484,7 @@ dependencies:
|
|
|
484
484
|
version: '7.1'
|
|
485
485
|
- - ">="
|
|
486
486
|
- !ruby/object:Gem::Version
|
|
487
|
-
version: 7.1.
|
|
487
|
+
version: 7.1.4
|
|
488
488
|
- !ruby/object:Gem::Dependency
|
|
489
489
|
name: token-resolver
|
|
490
490
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -514,7 +514,7 @@ dependencies:
|
|
|
514
514
|
version: '7.1'
|
|
515
515
|
- - ">="
|
|
516
516
|
- !ruby/object:Gem::Version
|
|
517
|
-
version: 7.1.
|
|
517
|
+
version: 7.1.4
|
|
518
518
|
type: :runtime
|
|
519
519
|
prerelease: false
|
|
520
520
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -524,7 +524,7 @@ dependencies:
|
|
|
524
524
|
version: '7.1'
|
|
525
525
|
- - ">="
|
|
526
526
|
- !ruby/object:Gem::Version
|
|
527
|
-
version: 7.1.
|
|
527
|
+
version: 7.1.4
|
|
528
528
|
- !ruby/object:Gem::Dependency
|
|
529
529
|
name: toml-rb
|
|
530
530
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -548,7 +548,7 @@ dependencies:
|
|
|
548
548
|
version: '7.1'
|
|
549
549
|
- - ">="
|
|
550
550
|
- !ruby/object:Gem::Version
|
|
551
|
-
version: 7.1.
|
|
551
|
+
version: 7.1.4
|
|
552
552
|
type: :runtime
|
|
553
553
|
prerelease: false
|
|
554
554
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -558,7 +558,7 @@ dependencies:
|
|
|
558
558
|
version: '7.1'
|
|
559
559
|
- - ">="
|
|
560
560
|
- !ruby/object:Gem::Version
|
|
561
|
-
version: 7.1.
|
|
561
|
+
version: 7.1.4
|
|
562
562
|
- !ruby/object:Gem::Dependency
|
|
563
563
|
name: yaml-merge
|
|
564
564
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -568,7 +568,7 @@ dependencies:
|
|
|
568
568
|
version: '7.1'
|
|
569
569
|
- - ">="
|
|
570
570
|
- !ruby/object:Gem::Version
|
|
571
|
-
version: 7.1.
|
|
571
|
+
version: 7.1.4
|
|
572
572
|
type: :runtime
|
|
573
573
|
prerelease: false
|
|
574
574
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -578,7 +578,7 @@ dependencies:
|
|
|
578
578
|
version: '7.1'
|
|
579
579
|
- - ">="
|
|
580
580
|
- !ruby/object:Gem::Version
|
|
581
|
-
version: 7.1.
|
|
581
|
+
version: 7.1.4
|
|
582
582
|
- !ruby/object:Gem::Dependency
|
|
583
583
|
name: bundler-audit
|
|
584
584
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -676,7 +676,7 @@ dependencies:
|
|
|
676
676
|
version: '2.0'
|
|
677
677
|
- - ">="
|
|
678
678
|
- !ruby/object:Gem::Version
|
|
679
|
-
version: 2.0.
|
|
679
|
+
version: 2.0.20
|
|
680
680
|
type: :development
|
|
681
681
|
prerelease: false
|
|
682
682
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -686,7 +686,7 @@ dependencies:
|
|
|
686
686
|
version: '2.0'
|
|
687
687
|
- - ">="
|
|
688
688
|
- !ruby/object:Gem::Version
|
|
689
|
-
version: 2.0.
|
|
689
|
+
version: 2.0.20
|
|
690
690
|
- !ruby/object:Gem::Dependency
|
|
691
691
|
name: turbo_tests2
|
|
692
692
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -696,7 +696,7 @@ dependencies:
|
|
|
696
696
|
version: '3.2'
|
|
697
697
|
- - ">="
|
|
698
698
|
- !ruby/object:Gem::Version
|
|
699
|
-
version: 3.2.
|
|
699
|
+
version: 3.2.6
|
|
700
700
|
type: :development
|
|
701
701
|
prerelease: false
|
|
702
702
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -706,7 +706,7 @@ dependencies:
|
|
|
706
706
|
version: '3.2'
|
|
707
707
|
- - ">="
|
|
708
708
|
- !ruby/object:Gem::Version
|
|
709
|
-
version: 3.2.
|
|
709
|
+
version: 3.2.6
|
|
710
710
|
- !ruby/object:Gem::Dependency
|
|
711
711
|
name: ruby-progressbar
|
|
712
712
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -750,7 +750,7 @@ dependencies:
|
|
|
750
750
|
version: '2.0'
|
|
751
751
|
- - ">="
|
|
752
752
|
- !ruby/object:Gem::Version
|
|
753
|
-
version: 2.0.
|
|
753
|
+
version: 2.0.12
|
|
754
754
|
type: :development
|
|
755
755
|
prerelease: false
|
|
756
756
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -760,7 +760,7 @@ dependencies:
|
|
|
760
760
|
version: '2.0'
|
|
761
761
|
- - ">="
|
|
762
762
|
- !ruby/object:Gem::Version
|
|
763
|
-
version: 2.0.
|
|
763
|
+
version: 2.0.12
|
|
764
764
|
description: "\U0001F52E Kettle::Jem provides gem scaffolding, templating, and setup
|
|
765
765
|
automation using the *-merge gem family for AST-based file merging and token-resolver
|
|
766
766
|
for template token resolution. Includes MergerConfig presets, YAML recipes, and
|
|
@@ -976,10 +976,10 @@ licenses:
|
|
|
976
976
|
- PolyForm-Small-Business-1.0.0
|
|
977
977
|
metadata:
|
|
978
978
|
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.
|
|
979
|
+
source_code_uri: https://github.com/structuredmerge/structuredmerge-ruby/tree/v7.1.5
|
|
980
|
+
changelog_uri: https://github.com/structuredmerge/structuredmerge-ruby/blob/v7.1.5/CHANGELOG.md
|
|
981
981
|
bug_tracker_uri: https://github.com/structuredmerge/structuredmerge-ruby/issues
|
|
982
|
-
documentation_uri: https://www.rubydoc.info/gems/kettle-jem/7.1.
|
|
982
|
+
documentation_uri: https://www.rubydoc.info/gems/kettle-jem/7.1.5
|
|
983
983
|
funding_uri: https://github.com/sponsors/pboling
|
|
984
984
|
wiki_uri: https://github.com/structuredmerge/structuredmerge-ruby/wiki
|
|
985
985
|
news_uri: https://www.railsbling.com/tags/kettle-jem
|
metadata.gz.sig
CHANGED
|
Binary file
|