kettle-jem 7.1.39 → 7.1.41
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 +117 -1
- data/README.md +43 -44
- data/lib/kettle/jem/templates/.duel.rb.example +25 -0
- data/lib/kettle/jem/templates/.github/FUNDING.yml.example +0 -1
- data/lib/kettle/jem/templates/.github/FUNDING.yml.no-osc.example +0 -1
- data/lib/kettle/jem/templates/.github/workflows/auto-assign.yml.example +1 -1
- data/lib/kettle/jem/templates/.github/workflows/coverage.yml.example +1 -0
- data/lib/kettle/jem/templates/.github/workflows/perf.yml.example +186 -0
- data/lib/kettle/jem/templates/.github/workflows/truffleruby-22.3.yml.example +3 -19
- data/lib/kettle/jem/templates/.structuredmerge/kettle-jem.yml.example +33 -2
- data/lib/kettle/jem/templates/AGENTS.md.example +1 -0
- data/lib/kettle/jem/templates/CHANGELOG.transfer.md +6 -1
- data/lib/kettle/jem/templates/CONTRIBUTING.md.example +1 -0
- data/lib/kettle/jem/templates/README.md.example +17 -40
- data/lib/kettle/jem/templates/Rakefile.example +1 -0
- data/lib/kettle/jem/templates/gem.gemspec.example +10 -6
- data/lib/kettle/jem/templates/gemfiles/modular/cgi/vHEAD.gemfile.example +1 -1
- data/lib/kettle/jem/templates/gemfiles/modular/coverage.gemfile.example +1 -1
- data/lib/kettle/jem/templates/gemfiles/modular/debug.gemfile.example +1 -1
- data/lib/kettle/jem/templates/gemfiles/modular/documentation.gemfile.example +1 -1
- data/lib/kettle/jem/templates/gemfiles/modular/duel.gemfile.example +18 -0
- data/lib/kettle/jem/templates/gemfiles/modular/optional.gemfile.example +2 -2
- data/lib/kettle/jem/templates/gemfiles/modular/recording/r3/recording.gemfile.example +2 -2
- data/lib/kettle/jem/templates/gemfiles/modular/recording/r4/recording.gemfile.example +2 -2
- data/lib/kettle/jem/templates/gemfiles/modular/stringio/r2/v3.0.gemfile.example +1 -1
- data/lib/kettle/jem/templates/gemfiles/modular/stringio/r2.4/v0.0.2.gemfile.example +1 -1
- data/lib/kettle/jem/templates/gemfiles/modular/stringio/r3/v3.0.gemfile.example +1 -1
- data/lib/kettle/jem/templates/gemfiles/modular/stringio/r4/v3.0.gemfile.example +1 -1
- data/lib/kettle/jem/templates/gemfiles/modular/style.gemfile.example +1 -1
- data/lib/kettle/jem/templates/gemfiles/modular/templating.gemfile.example +1 -1
- data/lib/kettle/jem/templates/gemfiles/modular/webrick/vHEAD.gemfile.example +1 -1
- data/lib/kettle/jem/templates/mise.toml.example +1 -0
- data/lib/kettle/jem/templates/mise.toml.no-osc.example +1 -0
- data/lib/kettle/jem/templates/shim/Gemfile.example +1 -1
- data/lib/kettle/jem/templates/shim/gem.gemspec.example +2 -2
- data/lib/kettle/jem/version.rb +1 -1
- data/lib/kettle/jem.rb +527 -140
- data.tar.gz.sig +0 -0
- metadata +40 -16
- metadata.gz.sig +0 -0
|
@@ -22,7 +22,8 @@ Available fields are `profile`, `topology`, `ruby.min`, `engine.jruby`,
|
|
|
22
22
|
`feature.rubyforum`, `feature.rubyforum_project_tag`,
|
|
23
23
|
`feature.corporate_sponsors`, `feature.organization_logo`,
|
|
24
24
|
`feature.structuredmerge_driver`, `feature.dedicated_version_gem`,
|
|
25
|
-
`workflow.dep_heads`, `workflow.jruby_94`,
|
|
25
|
+
`workflow.dep_heads`, `workflow.jruby_94`, `workflow.duel`, and
|
|
26
|
+
`version_gem.mode`. Boolean
|
|
26
27
|
fields accept `true` or `false`; `ruby.min` accepts normal version comparisons;
|
|
27
28
|
the other fields accept `=` or `!=`.
|
|
28
29
|
|
|
@@ -46,6 +47,10 @@ the other fields accept `=` or `!=`.
|
|
|
46
47
|
`engines:` and has no template-managed modular home (e.g. `sqlite3` on
|
|
47
48
|
`jruby`). Review each entry and pick a resolution per the project's own
|
|
48
49
|
engine support needs.
|
|
50
|
+
- kettle-jem-template-20261025-001 [if workflow.duel=true] - Duel performance regression guards: the
|
|
51
|
+
Perf workflow compares each pull request, each push to main, and, on a
|
|
52
|
+
schedule, the last release, and `rake duel` compares local changes, with
|
|
53
|
+
the benchmarks in `duel/`.
|
|
49
54
|
|
|
50
55
|
## Changed
|
|
51
56
|
|
|
@@ -95,6 +95,7 @@ Coverage (kettle-soup-cover / SimpleCov)
|
|
|
95
95
|
- K_SOUP_COV_MIN_LINE: Minimum line coverage threshold (integer, e.g., 100)
|
|
96
96
|
- K_SOUP_COV_MIN_BRANCH: Minimum branch coverage threshold (integer, e.g., 100)
|
|
97
97
|
- K_SOUP_COV_MIN_HARD: Fail the run if thresholds are not met (true/false)
|
|
98
|
+
- K_SOUP_COV_MIN_STRICT: Require 100% line, branch, and method coverage (true/false)
|
|
98
99
|
- K_SOUP_COV_MULTI_FORMATTERS: Enable multiple formatters at once (true/false)
|
|
99
100
|
- K_SOUP_COV_OPEN_BIN: Path to browser opener for HTML (empty disables auto-open)
|
|
100
101
|
- MAX_ROWS: Limit console output rows for simplecov-console (e.g., 1)
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
# {KJ|PROJECT_EMOJI} {KJ|README:TITLE}
|
|
6
6
|
|
|
7
|
-
[![Version][👽versioni]][👽version] [![Ruby Users Forum][✉️ruby-forum-top-img]][✉️ruby-forum] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] {KJ|README:LICENSE_BADGE} [![Total downloads][👽dl-ranki]][👽dl-rank] [![CodeCov Test Coverage][🏀codecovi]][🏀codecov] [![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls] [![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov] [![QLTY Maintainability][🏀qlty-mnti]][🏀qlty-mnt] [![CI Heads][🚎3-hd-wfi]][🚎3-hd-wf] [![CI Runtime Dependencies @ HEAD][🚎12-crh-wfi]][🚎12-crh-wf] [![CI Current][🚎11-c-wfi]][🚎11-c-wf] [![CI Truffle Ruby][🚎9-t-wfi]][🚎9-t-wf] [![CI JRuby][🚎10-j-wfi]][🚎10-j-wf] [![Deps Locked][🚎13-🔒️-wfi]][🚎13-🔒️-wf] [![Deps Unlocked][🚎14-🔓️-wfi]][🚎14-🔓️-wf] [![CI Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf] [![CI Style][🚎5-st-wfi]][🚎5-st-wf] {KJ|README:LICENSE_EYE_WORKFLOW_BADGE} {KJ|README:FOSSA_BADGE}
|
|
7
|
+
[![Version][👽versioni]][👽version] [![Ruby Users Forum][✉️ruby-forum-top-img]][✉️ruby-forum] [![GitHub tag (latest SemVer)][⛳️tag-img]][⛳️tag] {KJ|README:LICENSE_BADGE} [![Total downloads][👽dl-ranki]][👽dl-rank] [![CodeCov Test Coverage][🏀codecovi]][🏀codecov] [![Coveralls Test Coverage][🏀coveralls-img]][🏀coveralls] [![QLTY Test Coverage][🏀qlty-covi]][🏀qlty-cov] [![QLTY Maintainability][🏀qlty-mnti]][🏀qlty-mnt] [![CI Heads][🚎3-hd-wfi]][🚎3-hd-wf] [![CI Runtime Dependencies @ HEAD][🚎12-crh-wfi]][🚎12-crh-wf] [![CI Current][🚎11-c-wfi]][🚎11-c-wf] [![CI Truffle Ruby][🚎9-t-wfi]][🚎9-t-wf] [![CI JRuby][🚎10-j-wfi]][🚎10-j-wf] [![Deps Locked][🚎13-🔒️-wfi]][🚎13-🔒️-wf] [![Deps Unlocked][🚎14-🔓️-wfi]][🚎14-🔓️-wf] [![CI Test Coverage][🚎2-cov-wfi]][🚎2-cov-wf] [![CI Style][🚎5-st-wfi]][🚎5-st-wf] {KJ|README:LICENSE_EYE_WORKFLOW_BADGE} {KJ|README:FOSSA_BADGE} {KJ|README:DUEL_BADGE}
|
|
8
8
|
|
|
9
9
|
`if ci_badges.map(&:color).detect { it != "green"}` ☝️ [let me know on Discord][✉️discord-invite] or [RubyForum][✉️ruby-forum], as I may have missed the notification.
|
|
10
10
|
|
|
@@ -50,11 +50,12 @@ I've summarized my thoughts in [this blog post](https://dev.to/galtzo/hostile-ta
|
|
|
50
50
|
|
|
51
51
|
### Compatibility
|
|
52
52
|
|
|
53
|
-
|
|
53
|
+
The gem's declared runtime compatibility floor is MRI Ruby {KJ|MIN_RUBY}+, with concordant releases of JRuby and TruffleRuby.
|
|
54
54
|
CI workflows and Appraisals are generated for MRI Ruby {KJ|MIN_TEST_RUBY}+.
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
55
|
+
The current MRI CI lane runs on {KJ|README:CURRENT_MRI_PLATFORMS}.
|
|
56
|
+
The test floor is configured by `ruby.test_minimum` in `.kettle-jem.yml`.
|
|
57
|
+
When it is higher than the runtime floor, older runtime-compatible Rubies are
|
|
58
|
+
not covered by the generated CI or Appraisal matrix.
|
|
58
59
|
|
|
59
60
|
<a href="https://github.com/kettle-dev"><img alt="kettle-dev Logo by Aboling0, CC BY-SA 4.0" src="https://logos.galtzo.com/assets/images/kettle-dev/avatar-128px.svg" width="14%" align="right"/></a>
|
|
60
61
|
|
|
@@ -64,10 +65,6 @@ The _amazing_ test matrix is powered by the kettle-dev stack.
|
|
|
64
65
|
|
|
65
66
|
{KJ|README:FAMILY_INTRO_BACKEND_MATRIX}
|
|
66
67
|
|
|
67
|
-
### Runtime and Platform Support
|
|
68
|
-
|
|
69
|
-
{KJ|README:PLATFORM_SUPPORT_TABLE}
|
|
70
|
-
|
|
71
68
|
### Federated DVCS
|
|
72
69
|
|
|
73
70
|
<details markdown="1">
|
|
@@ -83,31 +80,12 @@ The _amazing_ test matrix is powered by the kettle-dev stack.
|
|
|
83
80
|
|
|
84
81
|
### Enterprise Support
|
|
85
82
|
|
|
86
|
-
|
|
87
|
-
[](https://tidelift.com/subscription/pkg/rubygems-{KJ|GEM_NAME}?utm_source=rubygems-{KJ|GEM_NAME}&utm_medium=referral&utm_campaign=readme)
|
|
88
|
-
<!-- KJ:FUNDING_TIDELIFT:END -->
|
|
89
|
-
|
|
90
|
-
Available as part of the Tidelift Subscription.
|
|
91
|
-
|
|
92
|
-
<details markdown="1">
|
|
93
|
-
<summary>Need enterprise-level guarantees?</summary>
|
|
94
|
-
|
|
95
|
-
The maintainers of this and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source packages you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact packages you use.
|
|
96
|
-
|
|
97
|
-
[![Get help from me on Tidelift][🏙️entsup-tidelift-img]][🏙️entsup-tidelift]
|
|
83
|
+
For enterprise support from the maintainer, use [Upwork][👨🏼🏫expsup-upwork] or [CodeMentor][👨🏼🏫expsup-codementor].
|
|
98
84
|
|
|
99
|
-
|
|
100
|
-
- 💡Tidelift is part of [Sonar][🏙️entsup-tidelift-sonar]
|
|
101
|
-
- 💡Tidelift pays maintainers to maintain the software you depend on!<br/>📊`@`Pointy Haired Boss: An [enterprise support][🏙️entsup-tidelift] subscription is "[never gonna let you down][🧮kloc]", and *supports* open source maintainers
|
|
102
|
-
|
|
103
|
-
Alternatively:
|
|
85
|
+
Other support channels:
|
|
104
86
|
|
|
105
87
|
- [![Ruby Users Forum][✉️ruby-forum-img]][✉️ruby-forum]
|
|
106
88
|
- [![Live Chat on Discord][✉️discord-invite-img-ftb]][✉️discord-invite]
|
|
107
|
-
- [![Get help from me on Upwork][👨🏼🏫expsup-upwork-img]][👨🏼🏫expsup-upwork]
|
|
108
|
-
- [![Get help from me on Codementor][👨🏼🏫expsup-codementor-img]][👨🏼🏫expsup-codementor]
|
|
109
|
-
|
|
110
|
-
</details>
|
|
111
89
|
|
|
112
90
|
## ✨ Installation
|
|
113
91
|
|
|
@@ -143,21 +121,22 @@ Currently, [Open Collective][🖇osc] is our preferred funding platform.
|
|
|
143
121
|
Currently, [GitHub Sponsors][🖇sponsor], and [Liberapay][⛳liberapay] are our preferred funding platforms.
|
|
144
122
|
<!-- KJ:NO_OPEN_COLLECTIVE:END -->
|
|
145
123
|
|
|
124
|
+
### Corporate Sponsorship
|
|
125
|
+
|
|
126
|
+
{KJ|README:CORPORATE_SPONSORS_DETAIL}
|
|
127
|
+
|
|
146
128
|
**If you're working in a company that's making significant use of {KJ|GH_ORG} tools we'd
|
|
147
129
|
appreciate it if you suggest to your company to become a {KJ|GH_ORG} sponsor.**
|
|
148
130
|
|
|
131
|
+
### Individual Support
|
|
132
|
+
|
|
149
133
|
You can support the development of {KJ|GH_ORG} tools via
|
|
150
134
|
[GitHub Sponsors][🖇sponsor],
|
|
151
135
|
[Liberapay][⛳liberapay],
|
|
152
|
-
[PayPal][🖇paypal],
|
|
153
136
|
<!-- KJ:OPEN_COLLECTIVE:START -->
|
|
154
|
-
[Open Collective][🖇osc]
|
|
137
|
+
[Open Collective][🖇osc],
|
|
155
138
|
<!-- KJ:OPEN_COLLECTIVE:END -->
|
|
156
|
-
and [
|
|
157
|
-
|
|
158
|
-
| 📍 NOTE |
|
|
159
|
-
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
160
|
-
| If doing a sponsorship in the form of donation is problematic for your company <br/> from an accounting standpoint, we'd recommend the use of Tidelift, <br/> where you can get a support-like subscription instead. |
|
|
139
|
+
and [PayPal][🖇paypal].
|
|
161
140
|
|
|
162
141
|
<!-- KJ:OPEN_COLLECTIVE:START -->
|
|
163
142
|
### Open Collective for Individuals
|
|
@@ -386,9 +365,6 @@ Thanks for RTFM. ☺️
|
|
|
386
365
|
[👨🏼🏫expsup-upwork-img]: https://img.shields.io/badge/UpWork-13544E?style=for-the-badge&logo=Upwork&logoColor=white
|
|
387
366
|
[👨🏼🏫expsup-codementor]: https://www.codementor.io/peterboling?utm_source=github&utm_medium=button&utm_term=peterboling&utm_campaign=github
|
|
388
367
|
[👨🏼🏫expsup-codementor-img]: https://img.shields.io/badge/CodeMentor-Get_Help-1abc9c?style=for-the-badge&logo=CodeMentor&logoColor=white
|
|
389
|
-
[🏙️entsup-tidelift]: https://tidelift.com/subscription/pkg/rubygems-{KJ|GEM_NAME}?utm_source=rubygems-{KJ|GEM_NAME}&utm_medium=referral&utm_campaign=readme
|
|
390
|
-
[🏙️entsup-tidelift-img]: https://img.shields.io/badge/Tidelift_and_Sonar-Enterprise_Support-FD3456?style=for-the-badge&logo=sonar&logoColor=white
|
|
391
|
-
[🏙️entsup-tidelift-sonar]: https://blog.tidelift.com/tidelift-joins-sonar
|
|
392
368
|
[💁🏼♂️peterboling]: http://www.peterboling.com
|
|
393
369
|
[🚂railsbling]: http://www.railsbling.com
|
|
394
370
|
[📜src-gl-img]: https://img.shields.io/badge/GitLab-FBA326?style=for-the-badge&logo=Gitlab&logoColor=orange
|
|
@@ -535,6 +511,7 @@ Thanks for RTFM. ☺️
|
|
|
535
511
|
[🔐security-img]: https://img.shields.io/badge/security-policy-259D6C.svg?style=flat
|
|
536
512
|
{KJ|README:LICENSE_REFS}
|
|
537
513
|
{KJ|README:FOSSA_REFS}
|
|
514
|
+
{KJ|README:DUEL_REFS}
|
|
538
515
|
[📄ilo-declaration]: https://www.ilo.org/declaration/lang--en/index.htm
|
|
539
516
|
[📄ilo-declaration-img]: https://img.shields.io/badge/ILO_Fundamental_Principles-✓-259D6C.svg?style=flat
|
|
540
517
|
[🚎yard-current]: http://rubydoc.info/gems/{KJ|GEM_NAME}
|
|
@@ -13,8 +13,12 @@ gem_version =
|
|
|
13
13
|
# See: https://github.com/panorama-ed/memo_wise/pull/397
|
|
14
14
|
Module.new.tap { |mod| Kernel.load("#{__dir__}/lib/{KJ|GEM_NAME_PATH}/version.rb", mod) }::{KJ|NAMESPACE}::Version::VERSION
|
|
15
15
|
else
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
# Ruby < 3.1: Kernel.load(path, module) is unavailable, but Module#module_eval with file
|
|
17
|
+
# metadata works on Ruby 2.2+. Anonymous loading matters beyond coverage: evaluating this
|
|
18
|
+
# gemspec (e.g. by bundler/setup in a subprocess) must not define top-level constants,
|
|
19
|
+
# which isolated-loading specs assert on.
|
|
20
|
+
version_path = "#{__dir__}/lib/{KJ|GEM_NAME_PATH}/version.rb"
|
|
21
|
+
Module.new.tap { |mod| mod.module_eval(File.read(version_path), version_path, 1) }::{KJ|NAMESPACE}::Version::VERSION
|
|
18
22
|
end
|
|
19
23
|
|
|
20
24
|
Gem::Specification.new do |spec|
|
|
@@ -102,7 +106,7 @@ Gem::Specification.new do |spec|
|
|
|
102
106
|
spec.require_paths = ["lib"]
|
|
103
107
|
|
|
104
108
|
# Utilities
|
|
105
|
-
spec.add_dependency("version_gem", "~> 1.1", ">= 1.1.
|
|
109
|
+
spec.add_dependency("version_gem", "~> 1.1", ">= 1.1.17") # ruby >= 2.2.0
|
|
106
110
|
|
|
107
111
|
# NOTE: It is preferable to list development dependencies in the gemspec due to increased
|
|
108
112
|
# visibility and discoverability.
|
|
@@ -118,7 +122,7 @@ Gem::Specification.new do |spec|
|
|
|
118
122
|
# and preferably a modular one (see gemfiles/modular/*.gemfile).
|
|
119
123
|
|
|
120
124
|
# Dev, Test, & Release Tasks
|
|
121
|
-
spec.add_development_dependency("kettle-dev", "~> 3.1", ">= 3.1.
|
|
125
|
+
spec.add_development_dependency("kettle-dev", "~> 3.1", ">= 3.1.26") # ruby >= {KJ|MIN_TEST_RUBY}
|
|
122
126
|
|
|
123
127
|
# Security
|
|
124
128
|
spec.add_development_dependency("bundler-audit", "~> 0.9.3") # ruby >= 2.0.0
|
|
@@ -131,9 +135,9 @@ Gem::Specification.new do |spec|
|
|
|
131
135
|
|
|
132
136
|
# Testing
|
|
133
137
|
# Loads version files in anonymous namespaces for coverage without constant redefinition warnings.
|
|
134
|
-
spec.add_development_dependency("anonymous_loader", "~> 0.1", ">= 0.1.
|
|
138
|
+
spec.add_development_dependency("anonymous_loader", "~> 0.1", ">= 0.1.5") # ruby >= 2.2.0
|
|
135
139
|
spec.add_development_dependency("appraisal2", "~> 3.2", ">= 3.2.6") # ruby >= 1.8.7, for testing against multiple versions of dependencies
|
|
136
|
-
spec.add_development_dependency("kettle-test", "~> 2.0", ">= 2.0.
|
|
140
|
+
spec.add_development_dependency("kettle-test", "~> 2.0", ">= 2.0.29") # ruby >= {KJ|MIN_TEST_RUBY}
|
|
137
141
|
spec.add_development_dependency("turbo_tests2", "~> 4.0", ">= 4.0.0") # ruby >= 2.4.0, default kettle-test runner
|
|
138
142
|
|
|
139
143
|
# Releasing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
gem "cgi", ">= 0.5"
|
|
1
|
+
gem "cgi", ">= 0.5.2"
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
if ENV.fetch("KETTLE_DEV_DEV", "false").casecmp("false").zero?
|
|
8
8
|
# Coverage (remote/released)
|
|
9
9
|
platform :mri do
|
|
10
|
-
gem "kettle-soup-cover", "~> 3.0", ">= 3.0.
|
|
10
|
+
gem "kettle-soup-cover", "~> 3.0", ">= 3.0.16", require: false
|
|
11
11
|
end
|
|
12
12
|
else
|
|
13
13
|
eval_gemfile "coverage_local.gemfile"
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
platform :mri do
|
|
14
14
|
# Debugging - Ensure ENV["DEBUG"] == "true" to use debuggers within spec suite
|
|
15
15
|
# Use binding.break, binding.b, or debugger in code
|
|
16
|
-
gem "debug", ">= 1.1" # ruby >= 2.7
|
|
16
|
+
gem "debug", ">= 1.11.1" # ruby >= 2.7
|
|
17
17
|
|
|
18
18
|
# Dev Console - Binding.pry - Irb replacement
|
|
19
19
|
# gem "pry", "~> 0.14" # ruby >= 2.0
|
|
@@ -12,7 +12,7 @@ gem "kramdown-parser-gfm", "~> 1.1", require: false # Ruby >= 2.3
|
|
|
12
12
|
gem "yaml-converter", "~> 0.2", ">= 0.2.7", require: false # Ruby >= 3.2
|
|
13
13
|
gem "yard", "~> 0.9", ">= 0.9.45", require: false
|
|
14
14
|
gem "yard-junk", "~> 0.1", ">= 0.1.0", require: false # Ruby >= 3.1
|
|
15
|
-
gem "yard-lint", "~> 1.
|
|
15
|
+
gem "yard-lint", "~> 1.13", ">= 1.13.0", require: false # Ruby >= 3.3
|
|
16
16
|
gem "yard-relative_markdown_links", "~> 0.6", require: false
|
|
17
17
|
|
|
18
18
|
if ENV.fetch("GALTZO_FLOSS_DEV", "false").casecmp("false").zero?
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# To retain during kettle-jem templating:
|
|
4
|
+
# {KJ|FREEZE_TOKEN}:freeze
|
|
5
|
+
# # ... your code
|
|
6
|
+
# {KJ|FREEZE_TOKEN}:unfreeze
|
|
7
|
+
#
|
|
8
|
+
|
|
9
|
+
# Performance regression guards (see .duel.rb and duel/)
|
|
10
|
+
# Duel requires Ruby 3.4 or later, so older Rubies install neither gem.
|
|
11
|
+
if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.4")
|
|
12
|
+
gem "duel", "~> 0.1", ">= 0.1.1" # ruby >= 3.4
|
|
13
|
+
|
|
14
|
+
# For profiles of regressions (StackProf runs on CRuby only)
|
|
15
|
+
platform :mri do
|
|
16
|
+
gem "stackprof", "~> 0.2", ">= 0.2.28"
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
# Optional dependencies are not depended on directly, but may be used if present.
|
|
10
10
|
|
|
11
11
|
# Required for curated binstubs generated by kettle-jem install
|
|
12
|
-
gem "rbs", ">=
|
|
12
|
+
gem "rbs", ">= 4.2.0", require: false # ruby >= 3.1
|
|
13
13
|
|
|
14
14
|
# Required for kettle-pre-release
|
|
15
15
|
# URL parsing with Unicode support (falls back to URI if not available)
|
|
16
|
-
gem "addressable", ">= 2.
|
|
16
|
+
gem "addressable", ">= 2.9.1", "< 3" # ruby >= 2.2
|
|
@@ -27,7 +27,7 @@ platform :mri do
|
|
|
27
27
|
ref: "3539ba858d379740d638566faee9e56b2b854145"
|
|
28
28
|
declared_gems = instance_variable_get(:@dependencies).to_a.map(&:name)
|
|
29
29
|
gem "rubocop-lts", {KJ|RUBOCOP_LTS_CONSTRAINT} unless declared_gems.include?("rubocop-lts")
|
|
30
|
-
gem "rubocop-lts-rspec", "~> 1.0", ">= 1.0.
|
|
30
|
+
gem "rubocop-lts-rspec", "~> 1.0", ">= 1.0.8" unless declared_gems.include?("rubocop-lts-rspec")
|
|
31
31
|
gem "{KJ|RUBOCOP_RUBY_GEM}", {KJ|RUBOCOP_RUBY_CONSTRAINT} unless declared_gems.include?("{KJ|RUBOCOP_RUBY_GEM}")
|
|
32
32
|
else
|
|
33
33
|
eval_gemfile("style_local.gemfile")
|
|
@@ -24,7 +24,7 @@ end
|
|
|
24
24
|
|
|
25
25
|
if kettle_remote
|
|
26
26
|
# Template/plugin checks for released installs.
|
|
27
|
-
gem "kettle-drift", "~> 1.0", ">= 1.0.
|
|
27
|
+
gem "kettle-drift", "~> 1.0", ">= 1.0.19", require: false
|
|
28
28
|
end
|
|
29
29
|
|
|
30
30
|
# Set STRUCTUREDMERGE_DEV=/path/to/structuredmerge/ruby/gems for local development with path-based dependencies.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
gem "webrick", ">= 1.9"
|
|
1
|
+
gem "webrick", ">= 1.9.2"
|
|
@@ -12,6 +12,7 @@ K_SOUP_COV_DO = "true"
|
|
|
12
12
|
K_SOUP_COV_FORMATTERS = "html,xml,rcov,lcov,json,tty"
|
|
13
13
|
K_SOUP_COV_MIN_BRANCH = "76"
|
|
14
14
|
K_SOUP_COV_MIN_HARD = "true"
|
|
15
|
+
K_SOUP_COV_MIN_STRICT = "false"
|
|
15
16
|
K_SOUP_COV_MIN_LINE = "92"
|
|
16
17
|
K_SOUP_COV_MULTI_FORMATTERS = "true"
|
|
17
18
|
K_SOUP_COV_OPEN_BIN = ""
|
|
@@ -12,6 +12,7 @@ K_SOUP_COV_DO = "true"
|
|
|
12
12
|
K_SOUP_COV_FORMATTERS = "html,xml,rcov,lcov,json,tty"
|
|
13
13
|
K_SOUP_COV_MIN_BRANCH = "76"
|
|
14
14
|
K_SOUP_COV_MIN_HARD = "true"
|
|
15
|
+
K_SOUP_COV_MIN_STRICT = "false"
|
|
15
16
|
K_SOUP_COV_MIN_LINE = "92"
|
|
16
17
|
K_SOUP_COV_MULTI_FORMATTERS = "true"
|
|
17
18
|
K_SOUP_COV_OPEN_BIN = ""
|
|
@@ -6,7 +6,7 @@ shimmed_gem_path = ENV["KETTLE_JEM_SHIMMED_GEM_PATH"].to_s
|
|
|
6
6
|
gem "{KJ|SHIMMED_GEM_NAME}", path: shimmed_gem_path unless shimmed_gem_path.empty?
|
|
7
7
|
|
|
8
8
|
# Local workspace dependency wiring for templating_local.gemfile overrides.
|
|
9
|
-
gem "nomono", "~> 1.1", ">= 1.1.
|
|
9
|
+
gem "nomono", "~> 1.1", ">= 1.1.17", require: false # ruby >= 3.2.0
|
|
10
10
|
|
|
11
11
|
# Templating and the StructuredMerge family share this modular Gemfile.
|
|
12
12
|
# kettle-jem needs StructuredMerge to template, and kettle-changelog needs it at
|
|
@@ -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.1", ">= 3.1.
|
|
33
|
+
spec.add_development_dependency("kettle-dev", "~> 3.1", ">= 3.1.26") # 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.29") # 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.41"
|
|
9
9
|
end
|
|
10
10
|
# Current gem version exposed at the traditional constant location.
|
|
11
11
|
VERSION = Version::VERSION # Traditional Constant Location
|