kettle-jem 7.1.28 → 7.1.30

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.
Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/CHANGELOG.md +220 -1
  4. data/README.md +2 -114
  5. data/lib/kettle/jem/maintenance_changelog.rb +1 -1
  6. data/lib/kettle/jem/relative_paths.rb +61 -0
  7. data/lib/kettle/jem/tasks/install_task.rb +9 -5
  8. data/lib/kettle/jem/tasks/prepare_task.rb +29 -10
  9. data/lib/kettle/jem/tasks/template_task.rb +18 -3
  10. data/lib/kettle/jem/templates/.devcontainer/devcontainer.json.example +1 -1
  11. data/lib/kettle/jem/templates/.git-hooks/prepare-commit-msg.example +3 -4
  12. data/lib/kettle/jem/templates/.github/workflows/coverage.yml.example +24 -2
  13. data/lib/kettle/jem/templates/.github/workflows/current.yml.example +13 -14
  14. data/lib/kettle/jem/templates/.github/workflows/dep-heads.yml.example +8 -5
  15. data/lib/kettle/jem/templates/.github/workflows/framework-ci.yml.example +4 -1
  16. data/lib/kettle/jem/templates/.github/workflows/heads.yml.example +16 -66
  17. data/lib/kettle/jem/templates/.github/workflows/jruby-10.0.yml.example +16 -3
  18. data/lib/kettle/jem/templates/.github/workflows/jruby-9.1.yml.example +16 -3
  19. data/lib/kettle/jem/templates/.github/workflows/jruby-9.2.yml.example +16 -3
  20. data/lib/kettle/jem/templates/.github/workflows/jruby-9.3.yml.example +16 -3
  21. data/lib/kettle/jem/templates/.github/workflows/jruby-9.4.yml.example +16 -3
  22. data/lib/kettle/jem/templates/.github/workflows/jruby.yml.example +16 -3
  23. data/lib/kettle/jem/templates/.github/workflows/license-eye.yml.example +22 -1
  24. data/lib/kettle/jem/templates/.github/workflows/locked_deps.yml.example +2 -1
  25. data/lib/kettle/jem/templates/.github/workflows/opencollective.yml.example +1 -1
  26. data/lib/kettle/jem/templates/.github/workflows/ruby-2.3.yml.example +8 -2
  27. data/lib/kettle/jem/templates/.github/workflows/ruby-2.4.yml.example +8 -2
  28. data/lib/kettle/jem/templates/.github/workflows/ruby-2.5.yml.example +8 -2
  29. data/lib/kettle/jem/templates/.github/workflows/ruby-2.6.yml.example +8 -2
  30. data/lib/kettle/jem/templates/.github/workflows/ruby-2.7.yml.example +8 -2
  31. data/lib/kettle/jem/templates/.github/workflows/ruby-3.0.yml.example +9 -3
  32. data/lib/kettle/jem/templates/.github/workflows/ruby-3.1.yml.example +8 -2
  33. data/lib/kettle/jem/templates/.github/workflows/ruby-3.2.yml.example +8 -2
  34. data/lib/kettle/jem/templates/.github/workflows/ruby-3.3.yml.example +8 -2
  35. data/lib/kettle/jem/templates/.github/workflows/ruby-3.4.yml.example +8 -2
  36. data/lib/kettle/jem/templates/.github/workflows/style.yml.example +5 -2
  37. data/lib/kettle/jem/templates/.github/workflows/templating.yml.example +18 -2
  38. data/lib/kettle/jem/templates/.github/workflows/truffle.yml.example +16 -3
  39. data/lib/kettle/jem/templates/.github/workflows/truffleruby-22.3.yml.example +16 -3
  40. data/lib/kettle/jem/templates/.github/workflows/truffleruby-23.1.yml.example +12 -2
  41. data/lib/kettle/jem/templates/.github/workflows/truffleruby-24.2.yml.example +16 -3
  42. data/lib/kettle/jem/templates/.github/workflows/truffleruby-25.0.yml.example +16 -3
  43. data/lib/kettle/jem/templates/.github/workflows/truffleruby-33.0.yml.example +16 -3
  44. data/lib/kettle/jem/templates/.github/workflows/unlocked_deps.yml.example +6 -2
  45. data/lib/kettle/jem/templates/.structuredmerge/kettle-jem.yml.example +19 -0
  46. data/lib/kettle/jem/templates/Appraisal.root.gemfile.example +2 -1
  47. data/lib/kettle/jem/templates/Appraisals.example +4 -1
  48. data/lib/kettle/jem/templates/CHANGELOG.transfer.md +6 -0
  49. data/lib/kettle/jem/templates/Gemfile.example +12 -3
  50. data/lib/kettle/jem/templates/README.md.example +5 -5
  51. data/lib/kettle/jem/templates/Rakefile.example +2 -0
  52. data/lib/kettle/jem/templates/bin/turbo_tests2.example +14 -0
  53. data/lib/kettle/jem/templates/gem.gemspec.example +6 -6
  54. data/lib/kettle/jem/templates/gemfiles/modular/coverage.gemfile.example +1 -1
  55. data/lib/kettle/jem/templates/gemfiles/modular/coverage_local.gemfile.example +10 -12
  56. data/lib/kettle/jem/templates/gemfiles/modular/documentation.gemfile.example +5 -5
  57. data/lib/kettle/jem/templates/gemfiles/modular/ostruct/r4/v0.6.gemfile.example +2 -0
  58. data/lib/kettle/jem/templates/gemfiles/modular/style.gemfile.example +15 -8
  59. data/lib/kettle/jem/templates/gemfiles/modular/style_local.gemfile.example +7 -1
  60. data/lib/kettle/jem/templates/gemfiles/modular/templating.gemfile.example +3 -2
  61. data/lib/kettle/jem/templates/gemfiles/modular/templating_local.gemfile.example +18 -19
  62. data/lib/kettle/jem/templates/gemfiles/modular/x_std_libs/r4/libs.gemfile.example +1 -0
  63. data/lib/kettle/jem/templates/mise.toml.example +1 -1
  64. data/lib/kettle/jem/templates/mise.toml.no-osc.example +1 -1
  65. data/lib/kettle/jem/templates/readme/partials/configuration.md.example +4 -3
  66. data/lib/kettle/jem/templates/shim/Gemfile.example +9 -3
  67. data/lib/kettle/jem/templates/shim/gem.gemspec.example +3 -3
  68. data/lib/kettle/jem/version.rb +1 -1
  69. data/lib/kettle/jem.rb +1214 -723
  70. data.tar.gz.sig +0 -0
  71. metadata +28 -67
  72. metadata.gz.sig +0 -0
  73. data/lib/kettle/jem/templates/.github/workflows/truffleruby-23.0.yml.example +0 -92
  74. data/lib/kettle/jem/templates/gemfiles/modular/json/truffleruby_23_0.gemfile.example +0 -6
@@ -13,14 +13,12 @@ structuredmerge_local_gems = %w[
13
13
  ast-template
14
14
  bash-merge
15
15
  binary-merge
16
- commonmarker-merge
17
16
  citrus-toml-merge
18
17
  dotenv-merge
19
18
  go-merge
20
19
  html-merge
21
20
  json-merge
22
21
  kettle-jem
23
- kramdown-merge
24
22
  markdown-merge
25
23
  markly-merge
26
24
  parslet-toml-merge
@@ -43,16 +41,27 @@ structuredmerge_local_gems = %w[
43
41
  kettle_dev_local_gems = %w[
44
42
  {KJ|KETTLE_DEV_LOCAL_GEMS}
45
43
  ]
44
+ shared_nomono_options = {
45
+ vendored_gems_env: "VENDORED_GEMS",
46
+ vendor_gem_dir_env: "VENDOR_GEM_DIR"
47
+ }
48
+ kettle_dev_nomono_options = shared_nomono_options.merge(
49
+ prefix: "KETTLE_DEV",
50
+ path_env: "KETTLE_DEV_DEV",
51
+ debug_env: "KETTLE_DEV_DEBUG",
52
+ root: ["src", "my", "kettle-dev"]
53
+ )
54
+ structuredmerge_nomono_options = shared_nomono_options.merge(
55
+ prefix: "STRUCTUREDMERGE",
56
+ path_env: "STRUCTUREDMERGE_DEV",
57
+ debug_env: "STRUCTUREDMERGE_DEBUG"
58
+ )
46
59
  structuredmerge_local_gems_to_eval = structuredmerge_local_gems - %w[{KJ|PACKAGE_NAME}]
47
60
 
48
61
  if ENV.fetch("STRUCTUREDMERGE_DEV", "false").casecmp("false") != 0
49
62
  eval_nomono_gems(
50
63
  gems: structuredmerge_local_gems_to_eval,
51
- prefix: "STRUCTUREDMERGE",
52
- path_env: "STRUCTUREDMERGE_DEV",
53
- vendored_gems_env: "VENDORED_GEMS",
54
- vendor_gem_dir_env: "VENDOR_GEM_DIR",
55
- debug_env: "STRUCTUREDMERGE_DEBUG"
64
+ **structuredmerge_nomono_options
56
65
  )
57
66
  end
58
67
 
@@ -62,12 +71,7 @@ if ENV.fetch("KETTLE_DEV_DEV", "false").casecmp("false") != 0
62
71
  kettle_dev_dependency = instance_variable_get(:@dependencies).to_a.find { |dependency| dependency.name == "kettle-dev" }
63
72
  kettle_dev_local_path = nomono_gems(
64
73
  gems: %w[kettle-dev],
65
- prefix: "KETTLE_DEV",
66
- path_env: "KETTLE_DEV_DEV",
67
- vendored_gems_env: "VENDORED_GEMS",
68
- vendor_gem_dir_env: "VENDOR_GEM_DIR",
69
- debug_env: "KETTLE_DEV_DEBUG",
70
- root: ["src", "my", "kettle-dev"]
74
+ **kettle_dev_nomono_options
71
75
  ).fetch("kettle-dev", nil)
72
76
  if kettle_dev_dependency && kettle_dev_local_path
73
77
  instance_variable_get(:@dependencies).delete(kettle_dev_dependency)
@@ -79,11 +83,6 @@ if ENV.fetch("KETTLE_DEV_DEV", "false").casecmp("false") != 0
79
83
 
80
84
  eval_nomono_gems(
81
85
  gems: kettle_dev_local_gems_to_eval,
82
- prefix: "KETTLE_DEV",
83
- path_env: "KETTLE_DEV_DEV",
84
- vendored_gems_env: "VENDORED_GEMS",
85
- vendor_gem_dir_env: "VENDOR_GEM_DIR",
86
- debug_env: "KETTLE_DEV_DEBUG",
87
- root: ["src", "my", "kettle-dev"]
86
+ **kettle_dev_nomono_options
88
87
  )
89
88
  end
@@ -1,5 +1,6 @@
1
1
  eval_gemfile "../../erb/r4/v5.0.gemfile"
2
2
  eval_gemfile "../../mutex_m/r4/v0.3.gemfile"
3
+ eval_gemfile "../../ostruct/r4/v0.6.gemfile"
3
4
  eval_gemfile "../../stringio/r4/v3.0.gemfile"
4
5
  eval_gemfile "../../benchmark/r4/v0.5.gemfile"
5
6
  eval_gemfile "../../cgi/r4/v0.5.gemfile"
@@ -22,4 +22,4 @@ _.path = ["exe", "bin"]
22
22
  _.source = ".config/mise/env.sh"
23
23
 
24
24
  [tools]
25
- ruby = "4.0.6"
25
+ ruby = "4.0.7"
@@ -22,4 +22,4 @@ _.path = ["exe", "bin"]
22
22
  _.source = ".config/mise/env.sh"
23
23
 
24
24
  [tools]
25
- ruby = "4.0.6"
25
+ ruby = "4.0.7"
@@ -12,7 +12,7 @@ project_emoji: "💎"
12
12
  engines:
13
13
  - ruby
14
14
  ruby:
15
- test_minimum: "2.4"
15
+ test_minimum: "{KJ|DEFAULT_TEST_MINIMUM_RUBY}"
16
16
  licenses:
17
17
  - MIT
18
18
  templates:
@@ -106,8 +106,9 @@ application, and Rakefile scaffold cleanup.
106
106
  `workflows.exec_cmd` sets the default command for generated test workflows
107
107
  (default: `kettle-test`; ENV override: `KJ_EXEC_CMD`).
108
108
  `ruby.test_minimum` sets the lowest MRI Ruby version used for generated CI
109
- workflows and Appraisals. It defaults to `2.4`, and the effective generated
110
- floor is never lower than the gemspec `required_ruby_version`.
109
+ workflows and Appraisals. It defaults to `{KJ|DEFAULT_TEST_MINIMUM_RUBY}`, and
110
+ the effective generated floor is never lower than the gemspec
111
+ `required_ruby_version`.
111
112
  `workflows.coverage` enables coverage workflow generation. Existing custom
112
113
  workflows can receive pinned-action snippets without replacing the whole file.
113
114
 
@@ -6,9 +6,15 @@ 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.5", require: false # ruby >= 3.2.0
9
+ gem "nomono", "~> 1.1", ">= 1.1.7", require: false # ruby >= 3.2.0
10
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?
11
+ # Templating and the StructuredMerge family share this modular Gemfile.
12
+ # kettle-jem needs StructuredMerge to template, and kettle-changelog needs it at
13
+ # runtime, so the test, lint, and release bundles resolve the family too.
14
+ #
15
+ # (env-switched: STRUCTUREDMERGE_DEV=/path/to/structuredmerge/ruby/gems for local paths)
16
+ eval_gemfile "gemfiles/modular/templating.gemfile" if
17
+ ENV.fetch("K_JEM_TEMPLATING", "false").casecmp("true").zero? ||
18
+ ENV.fetch("STRUCTUREDMERGE_DEV", "false").casecmp("false") != 0
13
19
 
14
20
  gemspec
@@ -30,16 +30,16 @@ 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.0") # ruby >= {KJ|MIN_TEST_RUBY}
33
+ spec.add_development_dependency("kettle-dev", "~> 3.1", ">= 3.1.13") # 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.21") # ruby >= {KJ|MIN_TEST_RUBY}
39
+ spec.add_development_dependency("kettle-test", "~> 2.0", ">= 2.0.25") # ruby >= {KJ|MIN_TEST_RUBY}
40
40
  spec.add_development_dependency "rspec", "~> 3.12"
41
41
 
42
42
  # Releasing
43
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
44
+ spec.add_development_dependency("stone_checksums", "~> 1.0", ">= 1.0.9") # ruby >= 2.2.0
45
45
  end
@@ -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.28"
8
+ VERSION = "7.1.30"
9
9
  end
10
10
  # Current gem version exposed at the traditional constant location.
11
11
  VERSION = Version::VERSION # Traditional Constant Location