Module: Kettle::Dev
- Defined in:
- lib/kettle/dev.rb,
lib/kettle/dev/version.rb,
lib/kettle/dev/dvcs_cli.rb,
lib/kettle/dev/setup_cli.rb,
lib/kettle/dev/ci_helpers.rb,
lib/kettle/dev/ci_monitor.rb,
lib/kettle/dev/commit_msg.rb,
lib/kettle/dev/versioning.rb,
lib/kettle/dev/git_adapter.rb,
lib/kettle/dev/prism_utils.rb,
lib/kettle/dev/release_cli.rb,
lib/kettle/dev/exit_adapter.rb,
lib/kettle/dev/changelog_cli.rb,
lib/kettle/dev/input_adapter.rb,
lib/kettle/dev/prism_gemfile.rb,
lib/kettle/dev/prism_gemspec.rb,
lib/kettle/dev/source_merger.rb,
lib/kettle/dev/tasks/ci_task.rb,
lib/kettle/dev/readme_backers.rb,
lib/kettle/dev/gem_spec_reader.rb,
lib/kettle/dev/pre_release_cli.rb,
lib/kettle/dev/modular_gemfiles.rb,
lib/kettle/dev/prism_appraisals.rb,
lib/kettle/dev/template_helpers.rb,
lib/kettle/dev/git_commit_footer.rb,
lib/kettle/dev/tasks/install_task.rb,
lib/kettle/dev/tasks/template_task.rb,
lib/kettle/dev/open_collective_config.rb
Defined Under Namespace
Modules: CIHelpers, CIMonitor, CommitMsg, ExitAdapter, InputAdapter, ModularGemfiles, OpenCollectiveConfig, PrismAppraisals, PrismGemfile, PrismGemspec, PrismUtils, SourceMerger, Tasks, TemplateHelpers, Version, Versioning Classes: ChangelogCLI, DvcsCLI, Error, GemSpecReader, GitAdapter, GitCommitFooter, PreReleaseCLI, ReadmeBackers, ReleaseCLI, SetupCLI
Constant Summary collapse
- DEBUGGING =
Whether debug logging is enabled for kettle-dev internals.
KETTLE_DEV_DEBUG overrides DEBUG. ENV.fetch("KETTLE_DEV_DEBUG", ENV.fetch("DEBUG", "false")).casecmp("true").zero?
- IS_CI =
Whether we are running on CI.
ENV.fetch("CI", "false").casecmp("true") == 0
- REQUIRE_BENCH =
Whether to benchmark requires with require_bench.
ENV.fetch("REQUIRE_BENCH", "false").casecmp("true").zero?
- RUNNING_AS =
The current program name (e.g., “rake”, “rspec”).
Used to decide whether to auto-load rake tasks at the bottom of this file.
Normally tasks are loaded in the host project’s Rakefile, but when running
under this gem’s own test suite we need precise coverage; so we only
auto-install tasks when invoked via the rake executable. File.basename($PROGRAM_NAME)
- ENV_TRUE_RE =
A case-insensitive regular expression that matches common truthy ENV values.
Accepts 1, true, y, yes (any case). /\A(1|true|y|yes)\z/i- ENV_FALSE_RE =
A case-insensitive regular expression that matches common falsy ENV values.
Accepts false, n, no, 0 (any case). /\A(false|n|no|0)\z/i- GEM_ROOT =
Absolute path to the root of the kettle-dev gem (repository root when working from source)
File.("../..", __dir__)
Class Attribute Summary collapse
-
.defaults ⇒ Array<String>
readonly
Registry for tasks that should be prerequisites of the default task.
Class Method Summary collapse
-
.debug_error(error, context = nil) ⇒ void
Emit a debug warning for rescued errors when kettle-dev debugging is enabled.
-
.debug_log(msg, context = nil) ⇒ void
Emit a debug log line when kettle-dev debugging is enabled.
-
.default_registered?(task_name) ⇒ Boolean
-
.install_tasks ⇒ void
Install Rake tasks useful for development and tests.
-
.register_default(task_name) ⇒ Array<String>
Register a task name to be run by the default task.
Class Attribute Details
.defaults ⇒ Array<String> (readonly)
Registry for tasks that should be prerequisites of the default task
122 123 124 |
# File 'lib/kettle/dev.rb', line 122 def defaults @defaults end |
Class Method Details
.debug_error(error, context = nil) ⇒ void
This method returns an undefined value.
Emit a debug warning for rescued errors when kettle-dev debugging is enabled.
Controlled by KETTLE_DEV_DEBUG=true (or DEBUG=true as fallback).
87 88 89 90 91 92 93 94 |
# File 'lib/kettle/dev.rb', line 87 def debug_error(error, context = nil) return unless DEBUGGING ctx = context ? context.to_s : "KETTLE-DEV-RESCUE" Kernel.warn("[#{ctx}] #{error.class}: #{error.}") rescue StandardError # never raise from debug logging end |
.debug_log(msg, context = nil) ⇒ void
This method returns an undefined value.
Emit a debug log line when kettle-dev debugging is enabled.
Controlled by KETTLE_DEV_DEBUG=true (or DEBUG=true as fallback).
100 101 102 103 104 105 106 107 |
# File 'lib/kettle/dev.rb', line 100 def debug_log(msg, context = nil) return unless DEBUGGING ctx = context ? context.to_s : "KETTLE-DEV-DEBUG" Kernel.warn("[#{ctx}] #{msg}") rescue StandardError # never raise from debug logging end |
.default_registered?(task_name) ⇒ Boolean
143 144 145 |
# File 'lib/kettle/dev.rb', line 143 def default_registered?(task_name) defaults.include?(task_name.to_s) end |
.install_tasks ⇒ void
This method returns an undefined value.
Install Rake tasks useful for development and tests.
Adds RuboCop-LTS tasks, coverage tasks, and loads the
gem-shipped rakelib directory so host projects get tasks from this gem.
114 115 116 117 118 |
# File 'lib/kettle/dev.rb', line 114 def install_tasks linting_tasks coverage_tasks load("kettle/dev/tasks.rb") end |
.register_default(task_name) ⇒ Array<String>
Register a task name to be run by the default task.
Also enhances the :default task immediately if it exists.
128 129 130 131 132 133 134 135 136 137 138 139 140 141 |
# File 'lib/kettle/dev.rb', line 128 def register_default(task_name) task_name = task_name.to_s unless defaults.include?(task_name) defaults << task_name if defined?(Rake) && Rake::Task.task_defined?(:default) begin Rake::Task[:default].enhance([task_name]) rescue StandardError => e Kernel.warn("kettle-dev: failed to enhance :default with #{task_name}: #{e.}") if DEBUGGING end end end defaults end |