kettle-jem 7.0.0 → 7.1.3
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 +1505 -0
- data/LICENSE.md +13 -0
- data/README.md +794 -0
- data/exe/kettle-jem +20 -0
- data/lib/kettle/jem/cli.rb +334 -0
- data/lib/kettle/jem/license_txt_migrator.rb +33 -0
- data/lib/kettle/jem/rakelib/install.rake +10 -0
- data/lib/kettle/jem/rakelib/prepare.rake +10 -0
- data/lib/kettle/jem/rakelib/selftest.rake +10 -0
- data/lib/kettle/jem/rakelib/template.rake +10 -0
- data/lib/kettle/jem/tasks/install_task.rb +2178 -0
- data/lib/kettle/jem/tasks/prepare_task.rb +274 -0
- data/lib/kettle/jem/tasks/self_test_task.rb +256 -0
- data/lib/kettle/jem/tasks/template_task.rb +124 -0
- data/lib/kettle/jem/tasks.rb +6 -0
- data/lib/kettle/jem/templates/.aiignore.example +19 -0
- data/lib/kettle/jem/templates/.config/mise/env.sh +26 -0
- data/lib/kettle/jem/templates/.devcontainer/apt-install/devcontainer-feature.json.example +9 -0
- data/lib/kettle/jem/templates/.devcontainer/apt-install/install.sh.example +19 -0
- data/lib/kettle/jem/templates/.devcontainer/devcontainer.json.example +27 -0
- data/lib/kettle/jem/templates/.devcontainer/scripts/setup-tree-sitter.sh.example +210 -0
- data/lib/kettle/jem/templates/.env.local.example +67 -0
- data/lib/kettle/jem/templates/.envrc.example +4 -0
- data/lib/kettle/jem/templates/.envrc.no-osc.example +4 -0
- data/lib/kettle/jem/templates/.gemrc.example +1 -0
- data/lib/kettle/jem/templates/.git-hooks/commit-msg.example +60 -0
- data/lib/kettle/jem/templates/.git-hooks/commit-subjects-goalie.txt.example +8 -0
- data/lib/kettle/jem/templates/.git-hooks/footer-template.erb.txt.example +16 -0
- data/lib/kettle/jem/templates/.git-hooks/prepare-commit-msg.example +9 -0
- data/lib/kettle/jem/templates/.github/.codecov.yml.example +14 -0
- data/lib/kettle/jem/templates/.github/FUNDING.yml.example +10 -0
- data/lib/kettle/jem/templates/.github/FUNDING.yml.no-osc.example +10 -0
- data/lib/kettle/jem/templates/.github/copilot_instructions.md.example +1 -0
- data/lib/kettle/jem/templates/.github/dependabot.yml.example +13 -0
- data/lib/kettle/jem/templates/.github/workflows/auto-assign.yml.example +21 -0
- data/lib/kettle/jem/templates/.github/workflows/coverage.yml.example +102 -0
- data/lib/kettle/jem/templates/.github/workflows/current.yml.example +86 -0
- data/lib/kettle/jem/templates/.github/workflows/dep-heads.yml.example +249 -0
- data/lib/kettle/jem/templates/.github/workflows/dependency-review.yml.example +22 -0
- data/lib/kettle/jem/templates/.github/workflows/discord-notifier.yml.example +39 -0
- data/lib/kettle/jem/templates/.github/workflows/framework-ci.yml.example +81 -0
- data/lib/kettle/jem/templates/.github/workflows/heads.yml.example +212 -0
- data/lib/kettle/jem/templates/.github/workflows/jruby-10.0.yml.example +91 -0
- data/lib/kettle/jem/templates/.github/workflows/jruby-9.1.yml.example +90 -0
- data/lib/kettle/jem/templates/.github/workflows/jruby-9.2.yml.example +95 -0
- data/lib/kettle/jem/templates/.github/workflows/jruby-9.3.yml.example +95 -0
- data/lib/kettle/jem/templates/.github/workflows/jruby-9.4.yml.example +95 -0
- data/lib/kettle/jem/templates/.github/workflows/jruby.yml.example +91 -0
- data/lib/kettle/jem/templates/.github/workflows/license-eye.yml.example +43 -0
- data/lib/kettle/jem/templates/.github/workflows/locked_deps.yml.example +89 -0
- data/lib/kettle/jem/templates/.github/workflows/opencollective.yml.example +44 -0
- data/lib/kettle/jem/templates/.github/workflows/ruby-2.3.yml.example +80 -0
- data/lib/kettle/jem/templates/.github/workflows/ruby-2.4.yml.example +84 -0
- data/lib/kettle/jem/templates/.github/workflows/ruby-2.5.yml.example +84 -0
- data/lib/kettle/jem/templates/.github/workflows/ruby-2.6.yml.example +84 -0
- data/lib/kettle/jem/templates/.github/workflows/ruby-2.7.yml.example +84 -0
- data/lib/kettle/jem/templates/.github/workflows/ruby-3.0.yml.example +85 -0
- data/lib/kettle/jem/templates/.github/workflows/ruby-3.1.yml.example +83 -0
- data/lib/kettle/jem/templates/.github/workflows/ruby-3.2.yml.example +80 -0
- data/lib/kettle/jem/templates/.github/workflows/ruby-3.3.yml.example +80 -0
- data/lib/kettle/jem/templates/.github/workflows/ruby-3.4.yml.example +80 -0
- data/lib/kettle/jem/templates/.github/workflows/style.yml.example +78 -0
- data/lib/kettle/jem/templates/.github/workflows/templating.yml.example +86 -0
- data/lib/kettle/jem/templates/.github/workflows/truffle.yml.example +91 -0
- data/lib/kettle/jem/templates/.github/workflows/truffleruby-22.3.yml.example +92 -0
- data/lib/kettle/jem/templates/.github/workflows/truffleruby-23.0.yml.example +92 -0
- data/lib/kettle/jem/templates/.github/workflows/truffleruby-23.1.yml.example +78 -0
- data/lib/kettle/jem/templates/.github/workflows/truffleruby-24.2.yml.example +91 -0
- data/lib/kettle/jem/templates/.github/workflows/truffleruby-25.0.yml.example +96 -0
- data/lib/kettle/jem/templates/.github/workflows/truffleruby-33.0.yml.example +91 -0
- data/lib/kettle/jem/templates/.github/workflows/unlocked_deps.yml.example +93 -0
- data/lib/kettle/jem/templates/.gitignore.example +53 -0
- data/lib/kettle/jem/templates/.gitlab-ci.yml.example +134 -0
- data/lib/kettle/jem/templates/.idea/.gitignore.example +44 -0
- data/lib/kettle/jem/templates/.licenserc.yaml.example +8 -0
- data/lib/kettle/jem/templates/.opencollective.yml.example +3 -0
- data/lib/kettle/jem/templates/.qlty/qlty.toml.example +79 -0
- data/lib/kettle/jem/templates/.rspec.example +10 -0
- data/lib/kettle/jem/templates/.rubocop.example +1 -0
- data/lib/kettle/jem/templates/.rubocop.yml.example +47 -0
- data/lib/kettle/jem/templates/.rubocop_rspec.yml.example +55 -0
- data/lib/kettle/jem/templates/.simplecov.example +18 -0
- data/lib/kettle/jem/templates/.structuredmerge/git-drivers.toml.example +86 -0
- data/lib/kettle/jem/templates/.structuredmerge/kettle-jem.yml.example +519 -0
- data/lib/kettle/jem/templates/.yard-lint.yml.example +54 -0
- data/lib/kettle/jem/templates/.yardignore.example +13 -0
- data/lib/kettle/jem/templates/.yardopts.example +14 -0
- data/lib/kettle/jem/templates/AGENTS.md.example +283 -0
- data/lib/kettle/jem/templates/AGPL-3.0-only.md.example +235 -0
- data/lib/kettle/jem/templates/Appraisal.root.gemfile.example +26 -0
- data/lib/kettle/jem/templates/Appraisals.example +150 -0
- data/lib/kettle/jem/templates/Big-Time-Public-License.md.example +99 -0
- data/lib/kettle/jem/templates/CHANGELOG.md.example +33 -0
- data/lib/kettle/jem/templates/CHANGELOG.transfer.md +109 -0
- data/lib/kettle/jem/templates/CITATION.cff.example +20 -0
- data/lib/kettle/jem/templates/CODE_OF_CONDUCT.md.example +134 -0
- data/lib/kettle/jem/templates/CONTRIBUTING.md.example +292 -0
- data/lib/kettle/jem/templates/FUNDING.md.example +74 -0
- data/lib/kettle/jem/templates/FUNDING.md.no-osc.example +63 -0
- data/lib/kettle/jem/templates/Gemfile.example +52 -0
- data/lib/kettle/jem/templates/IRP.md.example +34 -0
- data/lib/kettle/jem/templates/LICENSE.md.example +3 -0
- data/lib/kettle/jem/templates/MIT.md.example +21 -0
- data/lib/kettle/jem/templates/PolyForm-Noncommercial-1.0.0.md.example +131 -0
- data/lib/kettle/jem/templates/PolyForm-Small-Business-1.0.0.md.example +121 -0
- data/lib/kettle/jem/templates/README.md.example +544 -0
- data/lib/kettle/jem/templates/REEK +0 -0
- data/lib/kettle/jem/templates/RUBOCOP.md.example +78 -0
- data/lib/kettle/jem/templates/Rakefile.example +163 -0
- data/lib/kettle/jem/templates/SECURITY.md.example +21 -0
- data/lib/kettle/jem/templates/bin/setup.example +36 -0
- data/lib/kettle/jem/templates/certs/pboling.pem.example +27 -0
- data/lib/kettle/jem/templates/gem.gemspec.example +161 -0
- data/lib/kettle/jem/templates/gemfiles/modular/benchmark/r4/v0.5.gemfile.example +2 -0
- data/lib/kettle/jem/templates/gemfiles/modular/benchmark/vHEAD.gemfile.example +2 -0
- data/lib/kettle/jem/templates/gemfiles/modular/cgi/r4/v0.5.gemfile.example +1 -0
- data/lib/kettle/jem/templates/gemfiles/modular/cgi/vHEAD.gemfile.example +1 -0
- data/lib/kettle/jem/templates/gemfiles/modular/changelog.gemfile.example +6 -0
- data/lib/kettle/jem/templates/gemfiles/modular/coverage.gemfile.example +14 -0
- data/lib/kettle/jem/templates/gemfiles/modular/coverage_local.gemfile.example +34 -0
- data/lib/kettle/jem/templates/gemfiles/modular/debug.gemfile.example +22 -0
- data/lib/kettle/jem/templates/gemfiles/modular/documentation.gemfile.example +24 -0
- data/lib/kettle/jem/templates/gemfiles/modular/documentation_local.gemfile.example +20 -0
- data/lib/kettle/jem/templates/gemfiles/modular/erb/r2/v3.0.gemfile.example +1 -0
- data/lib/kettle/jem/templates/gemfiles/modular/erb/r2.3/default.gemfile.example +6 -0
- data/lib/kettle/jem/templates/gemfiles/modular/erb/r2.6/v2.2.gemfile.example +3 -0
- data/lib/kettle/jem/templates/gemfiles/modular/erb/r3/v5.0.gemfile.example +1 -0
- data/lib/kettle/jem/templates/gemfiles/modular/erb/r3.1/v4.0.gemfile.example +2 -0
- data/lib/kettle/jem/templates/gemfiles/modular/erb/r4/v5.0.gemfile.example +1 -0
- data/lib/kettle/jem/templates/gemfiles/modular/erb/vHEAD.gemfile.example +2 -0
- data/lib/kettle/jem/templates/gemfiles/modular/json/truffleruby_22_3.gemfile.example +6 -0
- data/lib/kettle/jem/templates/gemfiles/modular/json/truffleruby_23_0.gemfile.example +6 -0
- data/lib/kettle/jem/templates/gemfiles/modular/json/truffleruby_23_1.gemfile.example +6 -0
- data/lib/kettle/jem/templates/gemfiles/modular/mutex_m/r2/v0.3.gemfile.example +2 -0
- data/lib/kettle/jem/templates/gemfiles/modular/mutex_m/r2.4/v0.1.gemfile.example +3 -0
- data/lib/kettle/jem/templates/gemfiles/modular/mutex_m/r3/v0.3.gemfile.example +2 -0
- data/lib/kettle/jem/templates/gemfiles/modular/mutex_m/r4/v0.3.gemfile.example +2 -0
- data/lib/kettle/jem/templates/gemfiles/modular/mutex_m/vHEAD.gemfile.example +2 -0
- data/lib/kettle/jem/templates/gemfiles/modular/optional.gemfile.example +16 -0
- data/lib/kettle/jem/templates/gemfiles/modular/recording/r2.3/recording.gemfile.example +16 -0
- data/lib/kettle/jem/templates/gemfiles/modular/recording/r2.4/recording.gemfile.example +18 -0
- data/lib/kettle/jem/templates/gemfiles/modular/recording/r2.5/recording.gemfile.example +16 -0
- data/lib/kettle/jem/templates/gemfiles/modular/recording/r3/recording.gemfile.example +16 -0
- data/lib/kettle/jem/templates/gemfiles/modular/recording/r4/recording.gemfile.example +16 -0
- data/lib/kettle/jem/templates/gemfiles/modular/recording/vHEAD.gemfile.example +2 -0
- data/lib/kettle/jem/templates/gemfiles/modular/rspec.gemfile.example +4 -0
- data/lib/kettle/jem/templates/gemfiles/modular/runtime_heads.gemfile.example +14 -0
- data/lib/kettle/jem/templates/gemfiles/modular/shunted.gemfile.example +21 -0
- data/lib/kettle/jem/templates/gemfiles/modular/stringio/r2/v3.0.gemfile.example +5 -0
- data/lib/kettle/jem/templates/gemfiles/modular/stringio/r2.4/v0.0.2.gemfile.example +4 -0
- data/lib/kettle/jem/templates/gemfiles/modular/stringio/r3/v3.0.gemfile.example +5 -0
- data/lib/kettle/jem/templates/gemfiles/modular/stringio/r4/v3.0.gemfile.example +5 -0
- data/lib/kettle/jem/templates/gemfiles/modular/stringio/vHEAD.gemfile.example +2 -0
- data/lib/kettle/jem/templates/gemfiles/modular/style.gemfile.example +33 -0
- data/lib/kettle/jem/templates/gemfiles/modular/style_local.gemfile.example +26 -0
- data/lib/kettle/jem/templates/gemfiles/modular/templating.gemfile.example +34 -0
- data/lib/kettle/jem/templates/gemfiles/modular/templating_local.gemfile.example +73 -0
- data/lib/kettle/jem/templates/gemfiles/modular/webrick/r4/v1.9.gemfile.example +1 -0
- data/lib/kettle/jem/templates/gemfiles/modular/webrick/vHEAD.gemfile.example +1 -0
- data/lib/kettle/jem/templates/gemfiles/modular/x_std_libs/r2/libs.gemfile.example +3 -0
- data/lib/kettle/jem/templates/gemfiles/modular/x_std_libs/r2.3/libs.gemfile.example +3 -0
- data/lib/kettle/jem/templates/gemfiles/modular/x_std_libs/r2.4/libs.gemfile.example +3 -0
- data/lib/kettle/jem/templates/gemfiles/modular/x_std_libs/r2.6/libs.gemfile.example +3 -0
- data/lib/kettle/jem/templates/gemfiles/modular/x_std_libs/r3/libs.gemfile.example +3 -0
- data/lib/kettle/jem/templates/gemfiles/modular/x_std_libs/r3.1/libs.gemfile.example +5 -0
- data/lib/kettle/jem/templates/gemfiles/modular/x_std_libs/r4/libs.gemfile.example +6 -0
- data/lib/kettle/jem/templates/gemfiles/modular/x_std_libs/vHEAD.gemfile.example +6 -0
- data/lib/kettle/jem/templates/gemfiles/modular/x_std_libs.gemfile.example +12 -0
- data/lib/kettle/jem/templates/lib/gem/version.rb.example +1 -0
- data/lib/kettle/jem/templates/lib/gem/version_gem.rb.example +1 -0
- data/lib/kettle/jem/templates/mise.toml.example +25 -0
- data/lib/kettle/jem/templates/mise.toml.no-osc.example +25 -0
- data/lib/kettle/jem/templates/parsers.toml.example +19 -0
- data/lib/kettle/jem/templates/readme/partials/basic_usage.md.example +28 -0
- data/lib/kettle/jem/templates/readme/partials/configuration.md.example +112 -0
- data/lib/kettle/jem/templates/readme/partials/synopsis.md.example +3 -0
- data/lib/kettle/jem/templates/shim/.github/workflows/current.yml.example +40 -0
- data/lib/kettle/jem/templates/shim/.rspec.example +5 -0
- data/lib/kettle/jem/templates/shim/.structuredmerge/kettle-jem.yml.example +28 -0
- data/lib/kettle/jem/templates/shim/CHANGELOG.md.example +9 -0
- data/lib/kettle/jem/templates/shim/Gemfile.example +14 -0
- data/lib/kettle/jem/templates/shim/README.md.example +25 -0
- data/lib/kettle/jem/templates/shim/Rakefile.example +8 -0
- data/lib/kettle/jem/templates/shim/gem.gemspec.example +45 -0
- data/lib/kettle/jem/templates/shim/lib/compat_require.rb.example +3 -0
- data/lib/kettle/jem/templates/shim/lib/entrypoint.rb.example +3 -0
- data/lib/kettle/jem/templates/shim/lib/version.rb.example +1 -0
- data/lib/kettle/jem/templates/shim/spec/shim_spec.rb.example +15 -0
- data/lib/kettle/jem/templates/shim/spec/spec_helper.rb.example +23 -0
- data/lib/kettle/jem/templates/sig/gem.rbs.example +1 -0
- data/lib/kettle/jem/templates/spec/README.md.example +28 -0
- data/lib/kettle/jem/templates/spec/spec_helper.rb.example +39 -0
- data/lib/kettle/jem/version.rb +5 -3
- data/lib/kettle/jem/version_gem.rb +8 -0
- data/lib/kettle/jem.rb +18540 -1517
- data/lib/kettle-jem.rb +2 -1
- data/sig/kettle/jem.rbs +8 -0
- data.tar.gz.sig +0 -0
- metadata +870 -32
- metadata.gz.sig +0 -0
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
name: Shim
|
|
2
|
+
|
|
3
|
+
permissions:
|
|
4
|
+
contents: read
|
|
5
|
+
|
|
6
|
+
on:
|
|
7
|
+
push:
|
|
8
|
+
branches:
|
|
9
|
+
- main
|
|
10
|
+
- '*-stable'
|
|
11
|
+
tags:
|
|
12
|
+
- '!*'
|
|
13
|
+
pull_request:
|
|
14
|
+
branches:
|
|
15
|
+
- '*'
|
|
16
|
+
workflow_dispatch:
|
|
17
|
+
|
|
18
|
+
concurrency:
|
|
19
|
+
group: "${{ github.workflow }}-${{ github.ref }}"
|
|
20
|
+
cancel-in-progress: true
|
|
21
|
+
|
|
22
|
+
jobs:
|
|
23
|
+
spec:
|
|
24
|
+
if: "!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')"
|
|
25
|
+
name: Specs
|
|
26
|
+
runs-on: ubuntu-latest
|
|
27
|
+
steps:
|
|
28
|
+
- name: Checkout
|
|
29
|
+
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
|
30
|
+
with:
|
|
31
|
+
persist-credentials: false
|
|
32
|
+
|
|
33
|
+
- name: Setup Ruby
|
|
34
|
+
uses: ruby/setup-ruby@89f90524b88a01fe6e0b732220432cc6142926af # v1.313.0
|
|
35
|
+
with:
|
|
36
|
+
ruby-version: ruby
|
|
37
|
+
bundler-cache: true
|
|
38
|
+
|
|
39
|
+
- name: Specs
|
|
40
|
+
run: bundle exec rake spec
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
project_emoji: "{KJ|PROJECT_EMOJI}"
|
|
2
|
+
|
|
3
|
+
ruby:
|
|
4
|
+
test_minimum: "{KJ|MIN_TEST_RUBY}"
|
|
5
|
+
|
|
6
|
+
rubygems:
|
|
7
|
+
name: "{KJ|GEM_NAME}"
|
|
8
|
+
entrypoint_require: "{KJ|ENTRYPOINT_REQUIRE}"
|
|
9
|
+
namespace: "{KJ|NAMESPACE}"
|
|
10
|
+
min_ruby: "{KJ|MIN_RUBY}"
|
|
11
|
+
|
|
12
|
+
shim:
|
|
13
|
+
replacement_gem: "{KJ|SHIMMED_GEM_NAME}"
|
|
14
|
+
replacement_require: "{KJ|SHIMMED_REQUIRE}"
|
|
15
|
+
legacy_requires:
|
|
16
|
+
- "{KJ|ENTRYPOINT_REQUIRE}"
|
|
17
|
+
version:
|
|
18
|
+
strategy: shim
|
|
19
|
+
|
|
20
|
+
templates:
|
|
21
|
+
root: packaged
|
|
22
|
+
apply: true
|
|
23
|
+
profile: shim
|
|
24
|
+
|
|
25
|
+
defaults:
|
|
26
|
+
preference: "template"
|
|
27
|
+
add_template_only_nodes: true
|
|
28
|
+
freeze_token: "kettle-jem"
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
source "https://gem.coop"
|
|
4
|
+
|
|
5
|
+
shimmed_gem_path = ENV["KETTLE_JEM_SHIMMED_GEM_PATH"].to_s
|
|
6
|
+
gem "{KJ|SHIMMED_GEM_NAME}", path: shimmed_gem_path unless shimmed_gem_path.empty?
|
|
7
|
+
|
|
8
|
+
# Local workspace dependency wiring for templating_local.gemfile overrides.
|
|
9
|
+
gem "nomono", "~> 1.1", ">= 1.1.4", require: false # ruby >= 3.2.0
|
|
10
|
+
|
|
11
|
+
# Templating (env-switched: STRUCTUREDMERGE_DEV=/path/to/structuredmerge/ruby/gems for local paths)
|
|
12
|
+
eval_gemfile "gemfiles/modular/templating.gemfile" if ENV.fetch("K_JEM_TEMPLATING", "false").casecmp("true").zero?
|
|
13
|
+
|
|
14
|
+
gemspec
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# {KJ|NAMESPACE}
|
|
2
|
+
|
|
3
|
+
`{KJ|GEM_NAME}` is a compatibility shim for `{KJ|SHIMMED_GEM_NAME}`.
|
|
4
|
+
|
|
5
|
+
New applications should depend on `{KJ|SHIMMED_GEM_NAME}` directly. This gem exists so existing applications that still depend on `{KJ|GEM_NAME}` can load the replacement implementation without changing all require paths at once.
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
```ruby
|
|
10
|
+
gem "{KJ|GEM_NAME}"
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## Runtime behavior
|
|
14
|
+
|
|
15
|
+
Loading this gem requires `{KJ|SHIMMED_REQUIRE}` and leaves implementation behavior to `{KJ|SHIMMED_GEM_NAME}`.
|
|
16
|
+
|
|
17
|
+
The generated compatibility require paths are:
|
|
18
|
+
|
|
19
|
+
```text
|
|
20
|
+
{KJ|SHIM_COMPAT_REQUIRES}
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Migration
|
|
24
|
+
|
|
25
|
+
When you are ready to remove the compatibility layer, replace `{KJ|GEM_NAME}` with `{KJ|SHIMMED_GEM_NAME}` in your dependency list and require `{KJ|SHIMMED_REQUIRE}` directly.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
Gem::Specification.new do |spec|
|
|
4
|
+
spec.name = "{KJ|GEM_NAME}"
|
|
5
|
+
spec.version = "{KJ|GEM_VERSION}"
|
|
6
|
+
spec.authors = {KJ|AUTHOR:NAMES}
|
|
7
|
+
spec.email = ["{KJ|AUTHOR:EMAIL}"]
|
|
8
|
+
|
|
9
|
+
spec.summary = "{KJ|GEMSPEC_PACKAGE_SUMMARY}"
|
|
10
|
+
spec.description = "{KJ|GEM_NAME} is a compatibility shim for {KJ|SHIMMED_GEM_NAME}."
|
|
11
|
+
spec.homepage = "{KJ|README:GH_REPOSITORY_URL}"
|
|
12
|
+
spec.licenses = ["MIT"]
|
|
13
|
+
spec.required_ruby_version = ">= {KJ|MIN_RUBY}"
|
|
14
|
+
|
|
15
|
+
spec.metadata["homepage_uri"] = "{KJ|HOMEPAGE_URI}"
|
|
16
|
+
spec.metadata["source_code_uri"] = "#{spec.homepage}/tree/v#{spec.version}"
|
|
17
|
+
spec.metadata["changelog_uri"] = "#{spec.homepage}/blob/v#{spec.version}/CHANGELOG.md"
|
|
18
|
+
spec.metadata["bug_tracker_uri"] = "#{spec.homepage}/issues"
|
|
19
|
+
spec.metadata["documentation_uri"] = "https://www.rubydoc.info/gems/#{spec.name}/#{spec.version}"
|
|
20
|
+
spec.metadata["mailing_list_uri"] = "{KJ|RUBYFORUM:URL}"
|
|
21
|
+
spec.metadata["rubygems_mfa_required"] = "true"
|
|
22
|
+
|
|
23
|
+
spec.files = Dir.glob("lib/**/*.rb") + %w[
|
|
24
|
+
CHANGELOG.md
|
|
25
|
+
LICENSE.md
|
|
26
|
+
README.md
|
|
27
|
+
].select { |path| File.exist?(path) }
|
|
28
|
+
spec.require_paths = ["lib"]
|
|
29
|
+
|
|
30
|
+
spec.add_dependency "{KJ|SHIMMED_GEM_NAME}"
|
|
31
|
+
|
|
32
|
+
# Dev, Test, & Release Tasks
|
|
33
|
+
spec.add_development_dependency("kettle-dev", "~> 3.0", ">= 3.0.0") # ruby >= {KJ|MIN_TEST_RUBY}
|
|
34
|
+
|
|
35
|
+
# Tasks
|
|
36
|
+
spec.add_development_dependency "rake", "~> 13.0"
|
|
37
|
+
|
|
38
|
+
# Testing
|
|
39
|
+
spec.add_development_dependency("kettle-test", "~> 2.0", ">= 2.0.19") # ruby >= {KJ|MIN_TEST_RUBY}
|
|
40
|
+
spec.add_development_dependency "rspec", "~> 3.12"
|
|
41
|
+
|
|
42
|
+
# Releasing
|
|
43
|
+
spec.add_development_dependency("ruby-progressbar", "~> 1.13") # ruby >= 0
|
|
44
|
+
spec.add_development_dependency("stone_checksums", "~> 1.0", ">= 1.0.8") # ruby >= 2.2.0
|
|
45
|
+
end
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{KJ|VERSION_GEM:VERSION_RB}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
RSpec.describe "{KJ|GEM_NAME} shim" do
|
|
4
|
+
it "loads the replacement gem" do
|
|
5
|
+
expect(require("{KJ|SHIMMED_REQUIRE}")).to be(false).or be(true)
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
it "loads the primary compatibility require path" do
|
|
9
|
+
expect(require("{KJ|ENTRYPOINT_REQUIRE}")).to be(false).or be(true)
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
it "has a shim gem version" do
|
|
13
|
+
expect(Gem.loaded_specs.fetch("{KJ|GEM_NAME}").version.to_s).not_to be_empty
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
begin
|
|
4
|
+
require "kettle-soup-cover"
|
|
5
|
+
if Kettle::Soup::Cover::DO_COV
|
|
6
|
+
# Requiring simplecov loads the project-local `.simplecov`.
|
|
7
|
+
require "simplecov"
|
|
8
|
+
require "kettle/soup/cover/config"
|
|
9
|
+
SimpleCov.start
|
|
10
|
+
end
|
|
11
|
+
rescue LoadError => error
|
|
12
|
+
raise error unless error.message.include?("kettle")
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
require "{KJ|ENTRYPOINT_REQUIRE}"
|
|
16
|
+
|
|
17
|
+
RSpec.configure do |config|
|
|
18
|
+
config.disable_monkey_patching!
|
|
19
|
+
|
|
20
|
+
config.expect_with :rspec do |expectations|
|
|
21
|
+
expectations.syntax = :expect
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{KJ|VERSION_GEM:VERSION_RBS}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Specs
|
|
2
|
+
|
|
3
|
+
This project uses `kettle-test` as its RSpec harness. The generated
|
|
4
|
+
`spec/spec_helper.rb` requires `kettle/test/rspec`, which installs the shared
|
|
5
|
+
test configuration and helper APIs used throughout the suite.
|
|
6
|
+
|
|
7
|
+
## Harness Helpers
|
|
8
|
+
|
|
9
|
+
These helpers are available in specs after `spec/spec_helper.rb` loads:
|
|
10
|
+
|
|
11
|
+
- `stub_env("NAME" => "value")` temporarily sets environment variables and
|
|
12
|
+
restores them after the example.
|
|
13
|
+
- `hide_env("NAME")` temporarily removes environment variables and restores
|
|
14
|
+
them after the example.
|
|
15
|
+
- `block_is_expected` supports expectation syntax for blocks.
|
|
16
|
+
- `:check_output` disables default stream silencing for examples that need to
|
|
17
|
+
assert output.
|
|
18
|
+
- `:freeze` and `:travel` metadata integrate with Timecop for example-level
|
|
19
|
+
time control.
|
|
20
|
+
- `:skip_global_travel` opts an example out of global time travel.
|
|
21
|
+
- `pending_for` marks examples pending for selected runtimes or dependency
|
|
22
|
+
versions.
|
|
23
|
+
- `include_context "with rake", "task_name"` is available when `rake` was
|
|
24
|
+
loaded before `kettle/test/rspec`.
|
|
25
|
+
|
|
26
|
+
Prefer these helpers over ad hoc ENV mutation, direct Timecop setup, or direct
|
|
27
|
+
stdout/stderr plumbing. They keep specs isolated across parallel workers and
|
|
28
|
+
make local runs match CI behavior.
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Config for development dependencies of this library
|
|
4
|
+
# i.e., not configured by this library
|
|
5
|
+
#
|
|
6
|
+
# SimpleCov & related config (must run BEFORE any other requires)
|
|
7
|
+
# NOTE: Gemfiles for non-coverage appraisals may not have kettle-soup-cover.
|
|
8
|
+
# The rescue LoadError handles that scenario.
|
|
9
|
+
begin
|
|
10
|
+
require "kettle-soup-cover"
|
|
11
|
+
if Kettle::Soup::Cover::DO_COV
|
|
12
|
+
# Requiring simplecov loads the project-local `.simplecov`.
|
|
13
|
+
require "simplecov"
|
|
14
|
+
require "kettle/soup/cover/config"
|
|
15
|
+
SimpleCov.start
|
|
16
|
+
end
|
|
17
|
+
rescue LoadError => error
|
|
18
|
+
# check the error message and re-raise when unexpected
|
|
19
|
+
raise error unless error.message.include?("kettle")
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
# External RSpec & related config
|
|
23
|
+
require "kettle/test/rspec"
|
|
24
|
+
# `kettle/test/rspec` installs harness helpers documented in spec/README.md.
|
|
25
|
+
|
|
26
|
+
# This library
|
|
27
|
+
require "{KJ|ENTRYPOINT_REQUIRE}"
|
|
28
|
+
|
|
29
|
+
RSpec.configure do |config|
|
|
30
|
+
# Enable flags like --only-failures and --next-failure
|
|
31
|
+
config.example_status_persistence_file_path = ".rspec_status"
|
|
32
|
+
|
|
33
|
+
# Disable RSpec exposing methods globally on `Module` and `main`
|
|
34
|
+
config.disable_monkey_patching!
|
|
35
|
+
|
|
36
|
+
config.expect_with :rspec do |c|
|
|
37
|
+
c.syntax = :expect
|
|
38
|
+
end
|
|
39
|
+
end
|
data/lib/kettle/jem/version.rb
CHANGED
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
module Kettle
|
|
4
4
|
module Jem
|
|
5
|
+
# Version namespace for this gem.
|
|
5
6
|
module Version
|
|
6
|
-
|
|
7
|
+
# Current gem version.
|
|
8
|
+
VERSION = "7.1.3"
|
|
7
9
|
end
|
|
8
|
-
|
|
9
|
-
VERSION = Version::VERSION
|
|
10
|
+
# Current gem version exposed at the traditional constant location.
|
|
11
|
+
VERSION = Version::VERSION # Traditional Constant Location
|
|
10
12
|
end
|
|
11
13
|
end
|