ratatui_ruby-devtools 0.2.1 → 0.3.0
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
- data/.rubocop.yml +1 -1
- data/AGENTS.md +1 -1
- data/CHANGELOG.md +53 -7
- data/README.md +49 -21
- data/Rakefile +1 -1
- data/bin/setup +20 -6
- data/bin/setup.ps1 +74 -0
- data/doc/contributors/documentation_style.md +3 -4
- data/exe/scaffold +8 -342
- data/lib/ratatui_ruby/devtools/scaffold/scaffold_config.rb +67 -0
- data/lib/ratatui_ruby/devtools/scaffold/template_renderer.rb +282 -0
- data/lib/ratatui_ruby/devtools/task_scope.rb +24 -0
- data/lib/ratatui_ruby/devtools/tasks/autodoc_tasks.rb +31 -0
- data/lib/ratatui_ruby/devtools/tasks/bump/bump_workflow.rb +71 -0
- data/lib/ratatui_ruby/devtools/tasks/bump/changelog.rb +60 -3
- data/lib/ratatui_ruby/devtools/tasks/bump/github_project.rb +26 -0
- data/lib/ratatui_ruby/devtools/tasks/bump/history.rb +3 -3
- data/lib/ratatui_ruby/devtools/tasks/bump/links.rb +39 -24
- data/lib/ratatui_ruby/devtools/tasks/bump/manifest.rb +9 -17
- data/lib/ratatui_ruby/devtools/tasks/bump/no_crate.rb +19 -0
- data/lib/ratatui_ruby/devtools/tasks/bump/no_links.rb +22 -0
- data/lib/ratatui_ruby/devtools/tasks/bump/patch_release.rb +25 -0
- data/lib/ratatui_ruby/devtools/tasks/bump/release_branch.rb +17 -0
- data/lib/ratatui_ruby/devtools/tasks/bump/release_from_trunk.rb +48 -0
- data/lib/ratatui_ruby/devtools/tasks/bump/repository.rb +143 -0
- data/lib/ratatui_ruby/devtools/tasks/bump/ruby_gem.rb +65 -59
- data/lib/ratatui_ruby/devtools/tasks/bump/rust_crate.rb +42 -0
- data/lib/ratatui_ruby/devtools/tasks/bump/sem_ver.rb +127 -10
- data/lib/ratatui_ruby/devtools/tasks/bump/source_hut_project.rb +26 -0
- data/lib/ratatui_ruby/devtools/tasks/bump/unbranched_release.rb +20 -0
- data/lib/ratatui_ruby/devtools/tasks/bump/unreleased_section.rb +19 -1
- data/lib/ratatui_ruby/devtools/tasks/bump_tasks.rb +47 -0
- data/lib/ratatui_ruby/devtools/tasks/cargo_tasks.rb +57 -0
- data/lib/ratatui_ruby/devtools/tasks/doc/documentation.rb +59 -0
- data/lib/ratatui_ruby/devtools/tasks/doc/link/file_url.rb +30 -0
- data/lib/ratatui_ruby/devtools/tasks/doc/link/relative_path.rb +61 -0
- data/lib/ratatui_ruby/devtools/tasks/doc/link/web_url.rb +55 -0
- data/lib/ratatui_ruby/devtools/tasks/doc/link.rb +52 -0
- data/lib/ratatui_ruby/devtools/tasks/doc/link_audit.rb +116 -0
- data/lib/ratatui_ruby/devtools/tasks/doc/problem.rb +40 -0
- data/lib/ratatui_ruby/devtools/tasks/doc/source_file.rb +93 -0
- data/lib/ratatui_ruby/devtools/tasks/doc_tasks.rb +937 -0
- data/lib/ratatui_ruby/devtools/tasks/license/blame.rb +72 -0
- data/lib/ratatui_ruby/devtools/tasks/license/changed_files.rb +34 -0
- data/lib/ratatui_ruby/devtools/tasks/license/contribution.rb +12 -0
- data/lib/ratatui_ruby/devtools/tasks/license/copyright.rb +47 -0
- data/lib/ratatui_ruby/devtools/tasks/license/directory_licensing.rb +42 -0
- data/lib/ratatui_ruby/devtools/tasks/license/existing_header.rb +21 -0
- data/lib/ratatui_ruby/devtools/tasks/license/header_revision.rb +45 -0
- data/lib/ratatui_ruby/devtools/tasks/license/licensed_file.rb +39 -0
- data/lib/ratatui_ruby/devtools/tasks/license/licensing.rb +35 -0
- data/lib/ratatui_ruby/devtools/tasks/license/markdown_document.rb +23 -0
- data/lib/ratatui_ruby/devtools/tasks/license/markdown_files.rb +31 -0
- data/lib/ratatui_ruby/devtools/tasks/license/markdown_header_syntax.rb +104 -0
- data/lib/ratatui_ruby/devtools/tasks/license/markdown_snippet_syntax.rb +159 -0
- data/lib/ratatui_ruby/devtools/tasks/license/missing_header.rb +18 -0
- data/lib/ratatui_ruby/devtools/tasks/license/rbs_files.rb +27 -0
- data/lib/ratatui_ruby/devtools/tasks/license/rbs_header_syntax.rb +31 -0
- data/lib/ratatui_ruby/devtools/tasks/license/rdoc_comment.rb +51 -0
- data/lib/ratatui_ruby/devtools/tasks/license/rdoc_examples.rb +41 -0
- data/lib/ratatui_ruby/devtools/tasks/license/rdoc_snippet_syntax.rb +119 -0
- data/lib/ratatui_ruby/devtools/tasks/license/renewal.rb +17 -0
- data/lib/ratatui_ruby/devtools/tasks/license/reuse_annotated_file.rb +12 -0
- data/lib/ratatui_ruby/devtools/tasks/license/reuse_tool.rb +34 -0
- data/lib/ratatui_ruby/devtools/tasks/license/ruby_comment_header.rb +49 -0
- data/lib/ratatui_ruby/devtools/tasks/license/ruby_files.rb +36 -0
- data/lib/ratatui_ruby/devtools/tasks/license/ruby_header_syntax.rb +39 -0
- data/lib/ratatui_ruby/devtools/tasks/license/rust_files.rb +27 -0
- data/lib/ratatui_ruby/devtools/tasks/license/rust_header_syntax.rb +59 -0
- data/lib/ratatui_ruby/devtools/tasks/license/snippet.rb +44 -0
- data/lib/ratatui_ruby/devtools/tasks/license/snippet_file.rb +29 -0
- data/lib/ratatui_ruby/devtools/tasks/license/snippet_opening.rb +39 -0
- data/lib/ratatui_ruby/devtools/tasks/license/snippet_revision.rb +75 -0
- data/lib/ratatui_ruby/devtools/tasks/license/spdx_header.rb +42 -0
- data/lib/ratatui_ruby/devtools/tasks/license/unknown_file.rb +12 -0
- data/lib/ratatui_ruby/devtools/tasks/license/unlicensed_files.rb +69 -0
- data/lib/ratatui_ruby/devtools/tasks/license/wrapped_snippet.rb +30 -0
- data/lib/ratatui_ruby/devtools/tasks/license_tasks.rb +71 -0
- data/lib/ratatui_ruby/devtools/tasks/lint/gem_lockfile.rb +29 -0
- data/lib/ratatui_ruby/devtools/tasks/lint/supported_rubies.rb +18 -0
- data/lib/ratatui_ruby/devtools/tasks/lint_tasks.rb +100 -0
- data/lib/ratatui_ruby/devtools/tasks/release/platform_gem.rb +21 -12
- data/lib/ratatui_ruby/devtools/tasks/release/versioned_binary.rb +1 -1
- data/lib/ratatui_ruby/devtools/tasks/release_tasks.rb +80 -0
- data/lib/ratatui_ruby/devtools/tasks/reuse_tasks.rb +39 -0
- data/lib/ratatui_ruby/devtools/tasks/{test.rake → test_tasks.rb} +13 -4
- data/lib/ratatui_ruby/devtools/tasks/website/hosted_source_tree.rb +24 -0
- data/lib/ratatui_ruby/devtools/tasks/website/index_page.rb +1 -4
- data/lib/ratatui_ruby/devtools/tasks/website/source_tree.rb +63 -0
- data/lib/ratatui_ruby/devtools/tasks/website/versioned_documentation.rb +14 -13
- data/lib/ratatui_ruby/devtools/tasks/website_tasks.rb +49 -0
- data/lib/ratatui_ruby/devtools/templates/.github/workflows/build-gems.yml.erb +7 -1
- data/lib/ratatui_ruby/devtools/templates/.github/workflows/ci.yml.erb +2 -2
- data/lib/ratatui_ruby/devtools/templates/.gitignore.erb +2 -1
- data/lib/ratatui_ruby/devtools/templates/.rubocop.yml.erb +1 -1
- data/lib/ratatui_ruby/devtools/templates/AGENTS.md.erb +1 -1
- data/lib/ratatui_ruby/devtools/templates/CHANGELOG.md.erb +3 -1
- data/lib/ratatui_ruby/devtools/templates/CONTRIBUTING.md.erb +3 -3
- data/lib/ratatui_ruby/devtools/templates/Gemfile.erb +2 -3
- data/lib/ratatui_ruby/devtools/templates/README.md.erb +7 -7
- data/lib/ratatui_ruby/devtools/templates/REUSE.toml.erb +1 -1
- data/lib/ratatui_ruby/devtools/templates/bin/setup.erb +5 -1
- data/lib/ratatui_ruby/devtools/templates/bin/setup.ps1.erb +5 -1
- data/lib/ratatui_ruby/devtools/templates/doc/concepts/application_architecture.md.erb +2 -2
- data/lib/ratatui_ruby/devtools/templates/doc/concepts/application_testing.md.erb +3 -3
- data/lib/ratatui_ruby/devtools/templates/doc/getting_started/quickstart.md.erb +4 -4
- data/lib/ratatui_ruby/devtools/templates/ext/Cargo.toml.erb +1 -1
- data/lib/ratatui_ruby/devtools/templates/gemspec.erb +1 -1
- data/lib/ratatui_ruby/devtools/templates/mise.toml.erb +3 -3
- data/lib/ratatui_ruby/devtools/version.rb +1 -1
- data/lib/ratatui_ruby/devtools.rb +54 -71
- data/mise.toml +2 -2
- data/sig/ratatui_ruby/devtools.rbs +16 -1
- metadata +93 -34
- data/.builds/ruby-4.0.yml +0 -38
- data/lib/ratatui_ruby/devtools/tasks/autodoc.rake +0 -21
- data/lib/ratatui_ruby/devtools/tasks/bump.rake +0 -80
- data/lib/ratatui_ruby/devtools/tasks/cargo.rake +0 -47
- data/lib/ratatui_ruby/devtools/tasks/doc.rake +0 -887
- data/lib/ratatui_ruby/devtools/tasks/license/headers_md.rb +0 -276
- data/lib/ratatui_ruby/devtools/tasks/license/headers_rb.rb +0 -236
- data/lib/ratatui_ruby/devtools/tasks/license/license_utils.rb +0 -143
- data/lib/ratatui_ruby/devtools/tasks/license/snippets_md.rb +0 -353
- data/lib/ratatui_ruby/devtools/tasks/license/snippets_rdoc.rb +0 -186
- data/lib/ratatui_ruby/devtools/tasks/license.rake +0 -91
- data/lib/ratatui_ruby/devtools/tasks/lint.rake +0 -80
- data/lib/ratatui_ruby/devtools/tasks/release.rake +0 -87
- data/lib/ratatui_ruby/devtools/tasks/resources/rubies.yml +0 -7
- data/lib/ratatui_ruby/devtools/tasks/reuse.rake +0 -104
- data/lib/ratatui_ruby/devtools/tasks/website.rake +0 -37
- data/lib/ratatui_ruby/devtools/templates/.builds/ruby.yml.erb +0 -47
- data/lib/ratatui_ruby/devtools/templates/tasks/resources/index.html.erb +0 -45
- data/lib/ratatui_ruby/devtools/templates/tasks/resources/rubies.yml.erb +0 -8
|
@@ -5,6 +5,19 @@
|
|
|
5
5
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
6
6
|
#++
|
|
7
7
|
|
|
8
|
+
require_relative "devtools/task_scope"
|
|
9
|
+
require_relative "devtools/tasks/autodoc_tasks"
|
|
10
|
+
require_relative "devtools/tasks/bump/ruby_gem"
|
|
11
|
+
require_relative "devtools/tasks/bump_tasks"
|
|
12
|
+
require_relative "devtools/tasks/cargo_tasks"
|
|
13
|
+
require_relative "devtools/tasks/doc_tasks"
|
|
14
|
+
require_relative "devtools/tasks/license/licensing"
|
|
15
|
+
require_relative "devtools/tasks/license_tasks"
|
|
16
|
+
require_relative "devtools/tasks/lint_tasks"
|
|
17
|
+
require_relative "devtools/tasks/release_tasks"
|
|
18
|
+
require_relative "devtools/tasks/reuse_tasks"
|
|
19
|
+
require_relative "devtools/tasks/test_tasks"
|
|
20
|
+
require_relative "devtools/tasks/website_tasks"
|
|
8
21
|
require_relative "devtools/version"
|
|
9
22
|
|
|
10
23
|
# Root namespace for RatatuiRuby ecosystem gems.
|
|
@@ -37,21 +50,53 @@ module RatatuiRuby
|
|
|
37
50
|
class Error < StandardError; end
|
|
38
51
|
|
|
39
52
|
class << self
|
|
40
|
-
# Configuration accessors - auto-discovered if not set
|
|
41
|
-
attr_writer :gem_name, :gemspec_file, :version_file
|
|
42
|
-
|
|
43
53
|
# Loads gem development Rake tasks (test, lint, bump, license, etc.)
|
|
44
54
|
#
|
|
45
55
|
# Use this in gem/library Rakefiles. These tasks help with version
|
|
46
56
|
# management, testing, linting, and releasing gems.
|
|
47
57
|
#
|
|
48
|
-
#
|
|
58
|
+
# The tasks find your gemspec, your gem's name, and its version file
|
|
59
|
+
# from your gem's files. Pass any of them when your gem keeps them
|
|
60
|
+
# elsewhere, and pass how to license the code apps don't link.
|
|
61
|
+
#
|
|
62
|
+
# [gemspec_file] Your gemspec, when your gem has more than one.
|
|
63
|
+
# [gem_name] Your gem's name, when it differs from your gemspec's.
|
|
64
|
+
# [version_file] The file that defines your gem's +VERSION+.
|
|
65
|
+
# [non_runtime_license] The license for code apps don't link: tests,
|
|
66
|
+
# tasks, scripts, type signatures, and examples.
|
|
67
|
+
# <tt>"AGPL-3.0-or-later"</tt> unless you pass another.
|
|
68
|
+
# [snippet_paths] Path prefixes for code licensed MIT-0, like the
|
|
69
|
+
# snippets in your docs. None unless you pass them.
|
|
70
|
+
#
|
|
71
|
+
# === Examples
|
|
49
72
|
#
|
|
50
73
|
# require "ratatui_ruby/devtools"
|
|
51
74
|
# RatatuiRuby::Devtools.install_gem_tasks!
|
|
52
75
|
#
|
|
53
|
-
|
|
54
|
-
|
|
76
|
+
# RatatuiRuby::Devtools.install_gem_tasks!(
|
|
77
|
+
# snippet_paths: %w[examples/widget_ examples/verify_],
|
|
78
|
+
# non_runtime_license: "LicenseRef-Commercial"
|
|
79
|
+
# )
|
|
80
|
+
#
|
|
81
|
+
def install_gem_tasks!(
|
|
82
|
+
gemspec_file: nil,
|
|
83
|
+
gem_name: nil,
|
|
84
|
+
version_file: nil,
|
|
85
|
+
non_runtime_license: "AGPL-3.0-or-later",
|
|
86
|
+
snippet_paths: []
|
|
87
|
+
)
|
|
88
|
+
AutodocTasks.new
|
|
89
|
+
CargoTasks.new
|
|
90
|
+
DocTasks.new
|
|
91
|
+
TestTasks.new
|
|
92
|
+
gem = RubyGem.found(gemspec_file:, name: gem_name, version_file:)
|
|
93
|
+
BumpTasks.new(gem)
|
|
94
|
+
ReleaseTasks.new(gem)
|
|
95
|
+
WebsiteTasks.new(gem)
|
|
96
|
+
LintTasks.new(gem)
|
|
97
|
+
licensing = Licensing.of(gem.spec, snippets: snippet_paths, non_runtime: non_runtime_license)
|
|
98
|
+
LicenseTasks.new(licensing)
|
|
99
|
+
ReuseTasks.new(licensing)
|
|
55
100
|
end
|
|
56
101
|
|
|
57
102
|
# Loads website hosting Rake tasks (build, serve, deploy).
|
|
@@ -59,8 +104,8 @@ module RatatuiRuby
|
|
|
59
104
|
# Use this in website repository Rakefiles. These tasks help sync docs
|
|
60
105
|
# from a source gem, update HTML metadata, and deploy.
|
|
61
106
|
#
|
|
62
|
-
#
|
|
63
|
-
#
|
|
107
|
+
# [source_gem_dir] Path to the source gem's directory, such as
|
|
108
|
+
# <tt>"~/Developer/ratatui_ruby"</tt>.
|
|
64
109
|
#
|
|
65
110
|
# === Example
|
|
66
111
|
#
|
|
@@ -81,38 +126,7 @@ module RatatuiRuby
|
|
|
81
126
|
alias install! install_gem_tasks!
|
|
82
127
|
|
|
83
128
|
private def load_tasks_from(subdir)
|
|
84
|
-
|
|
85
|
-
Dir.glob("#{tasks_dir}/*.rake").each do |task_file|
|
|
86
|
-
Rake.application.add_import(task_file)
|
|
87
|
-
end
|
|
88
|
-
Rake.application.load_imports
|
|
89
|
-
end
|
|
90
|
-
|
|
91
|
-
# Returns the gem name, auto-discovered from gemspec if not set.
|
|
92
|
-
#
|
|
93
|
-
# Tasks need to know which gem they're operating on. Auto-discovery from
|
|
94
|
-
# gemspec files means zero configuration for standard layouts. Override
|
|
95
|
-
# via <tt>gem_name=</tt> if needed.
|
|
96
|
-
def gem_name
|
|
97
|
-
@gem_name ||= discover_gem_name
|
|
98
|
-
end
|
|
99
|
-
|
|
100
|
-
# Returns the path to the gemspec file.
|
|
101
|
-
#
|
|
102
|
-
# Tasks parse the gemspec for metadata. Auto-discovery finds the single
|
|
103
|
-
# <tt>.gemspec</tt> file in the project root. Override via
|
|
104
|
-
# <tt>gemspec_file=</tt> for non-standard layouts.
|
|
105
|
-
def gemspec_file
|
|
106
|
-
@gemspec_file ||= discover_gemspec
|
|
107
|
-
end
|
|
108
|
-
|
|
109
|
-
# Returns the path to the version.rb file.
|
|
110
|
-
#
|
|
111
|
-
# Version bumping needs the version file location. Auto-discovery finds
|
|
112
|
-
# it in the standard <tt>lib/*/</tt> path. Override via
|
|
113
|
-
# <tt>version_file=</tt> for non-standard layouts.
|
|
114
|
-
def version_file
|
|
115
|
-
@version_file ||= discover_version_file
|
|
129
|
+
TaskScope.new.load(File.expand_path("devtools/#{subdir}", __dir__))
|
|
116
130
|
end
|
|
117
131
|
|
|
118
132
|
# Returns the path to the templates directory.
|
|
@@ -130,37 +144,6 @@ module RatatuiRuby
|
|
|
130
144
|
def tasks_path
|
|
131
145
|
File.expand_path("devtools/tasks", __dir__)
|
|
132
146
|
end
|
|
133
|
-
|
|
134
|
-
private def discover_gemspec
|
|
135
|
-
gemspecs = Dir.glob("*.gemspec")
|
|
136
|
-
raise Error, "No *.gemspec found in #{Dir.pwd}" if gemspecs.empty?
|
|
137
|
-
raise Error, "Multiple gemspecs found: #{gemspecs.join(', ')}" if gemspecs.size > 1
|
|
138
|
-
|
|
139
|
-
gemspecs.first
|
|
140
|
-
end
|
|
141
|
-
|
|
142
|
-
private def discover_gem_name
|
|
143
|
-
File.basename(gemspec_file, ".gemspec")
|
|
144
|
-
end
|
|
145
|
-
|
|
146
|
-
private def discover_version_file
|
|
147
|
-
# Convention: lib/gem_name/version.rb (with underscores for namespacing)
|
|
148
|
-
# e.g., ratatui_ruby-kit -> lib/ratatui_ruby/kit/version.rb
|
|
149
|
-
parts = gem_name.split("-")
|
|
150
|
-
if parts.size > 1
|
|
151
|
-
# ratatui_ruby-kit -> ratatui_ruby/kit
|
|
152
|
-
path = "lib/#{parts.first}/#{parts[1..].join('/')}/version.rb"
|
|
153
|
-
else
|
|
154
|
-
# ratatui_ruby -> ratatui_ruby
|
|
155
|
-
path = "lib/#{gem_name}/version.rb"
|
|
156
|
-
end
|
|
157
|
-
|
|
158
|
-
return path if File.exist?(path)
|
|
159
|
-
|
|
160
|
-
# Fallback: search for any version.rb in lib/
|
|
161
|
-
found = Dir.glob("lib/**/version.rb").first
|
|
162
|
-
found || path
|
|
163
|
-
end
|
|
164
147
|
end
|
|
165
148
|
end
|
|
166
149
|
end
|
data/mise.toml
CHANGED
|
@@ -8,7 +8,22 @@ module RatatuiRuby
|
|
|
8
8
|
class Error < StandardError
|
|
9
9
|
end
|
|
10
10
|
|
|
11
|
-
def self.
|
|
11
|
+
def self.install_gem_tasks!: (
|
|
12
|
+
?gemspec_file: String?,
|
|
13
|
+
?gem_name: String?,
|
|
14
|
+
?version_file: String?,
|
|
15
|
+
?non_runtime_license: String,
|
|
16
|
+
?snippet_paths: Array[String]
|
|
17
|
+
) -> void
|
|
18
|
+
def self.install!: (
|
|
19
|
+
?gemspec_file: String?,
|
|
20
|
+
?gem_name: String?,
|
|
21
|
+
?version_file: String?,
|
|
22
|
+
?non_runtime_license: String,
|
|
23
|
+
?snippet_paths: Array[String]
|
|
24
|
+
) -> void
|
|
25
|
+
def self.install_website_tasks!: (source_gem_dir: String) -> void
|
|
26
|
+
def self.source_gem_dir: () -> String?
|
|
12
27
|
def self.templates_path: () -> String
|
|
13
28
|
def self.tasks_path: () -> String
|
|
14
29
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ratatui_ruby-devtools
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Kerrick Long
|
|
@@ -27,16 +27,22 @@ dependencies:
|
|
|
27
27
|
name: minitest
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
29
29
|
requirements:
|
|
30
|
-
- - "
|
|
30
|
+
- - ">="
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '5.16'
|
|
33
|
+
- - "<"
|
|
31
34
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: '
|
|
35
|
+
version: '7'
|
|
33
36
|
type: :runtime
|
|
34
37
|
prerelease: false
|
|
35
38
|
version_requirements: !ruby/object:Gem::Requirement
|
|
36
39
|
requirements:
|
|
37
|
-
- - "
|
|
40
|
+
- - ">="
|
|
41
|
+
- !ruby/object:Gem::Version
|
|
42
|
+
version: '5.16'
|
|
43
|
+
- - "<"
|
|
38
44
|
- !ruby/object:Gem::Version
|
|
39
|
-
version: '
|
|
45
|
+
version: '7'
|
|
40
46
|
- !ruby/object:Gem::Dependency
|
|
41
47
|
name: nokogiri
|
|
42
48
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -85,14 +91,14 @@ dependencies:
|
|
|
85
91
|
requirements:
|
|
86
92
|
- - ">="
|
|
87
93
|
- !ruby/object:Gem::Version
|
|
88
|
-
version: '
|
|
94
|
+
version: '8.1'
|
|
89
95
|
type: :runtime
|
|
90
96
|
prerelease: false
|
|
91
97
|
version_requirements: !ruby/object:Gem::Requirement
|
|
92
98
|
requirements:
|
|
93
99
|
- - ">="
|
|
94
100
|
- !ruby/object:Gem::Version
|
|
95
|
-
version: '
|
|
101
|
+
version: '8.1'
|
|
96
102
|
- !ruby/object:Gem::Dependency
|
|
97
103
|
name: rubocop
|
|
98
104
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -134,7 +140,6 @@ executables:
|
|
|
134
140
|
extensions: []
|
|
135
141
|
extra_rdoc_files: []
|
|
136
142
|
files:
|
|
137
|
-
- ".builds/ruby-4.0.yml"
|
|
138
143
|
- ".pre-commit-config.yaml"
|
|
139
144
|
- ".rubocop.yml"
|
|
140
145
|
- AGENTS.md
|
|
@@ -155,6 +160,7 @@ files:
|
|
|
155
160
|
- bin/consolidate_md
|
|
156
161
|
- bin/hbs
|
|
157
162
|
- bin/setup
|
|
163
|
+
- bin/setup.ps1
|
|
158
164
|
- doc/contributors/documentation_style.md
|
|
159
165
|
- doc/custom.css
|
|
160
166
|
- exe/agent_rake
|
|
@@ -163,51 +169,105 @@ files:
|
|
|
163
169
|
- exe/hbs
|
|
164
170
|
- exe/scaffold
|
|
165
171
|
- lib/ratatui_ruby/devtools.rb
|
|
172
|
+
- lib/ratatui_ruby/devtools/scaffold/scaffold_config.rb
|
|
173
|
+
- lib/ratatui_ruby/devtools/scaffold/template_renderer.rb
|
|
166
174
|
- lib/ratatui_ruby/devtools/site_tasks/build.rake
|
|
167
175
|
- lib/ratatui_ruby/devtools/site_tasks/deploy.rake
|
|
168
176
|
- lib/ratatui_ruby/devtools/site_tasks/serve.rake
|
|
169
|
-
- lib/ratatui_ruby/devtools/
|
|
177
|
+
- lib/ratatui_ruby/devtools/task_scope.rb
|
|
170
178
|
- lib/ratatui_ruby/devtools/tasks/autodoc/examples.rb
|
|
171
179
|
- lib/ratatui_ruby/devtools/tasks/autodoc/member.rb
|
|
172
180
|
- lib/ratatui_ruby/devtools/tasks/autodoc/name.rb
|
|
173
|
-
- lib/ratatui_ruby/devtools/tasks/
|
|
181
|
+
- lib/ratatui_ruby/devtools/tasks/autodoc_tasks.rb
|
|
182
|
+
- lib/ratatui_ruby/devtools/tasks/bump/bump_workflow.rb
|
|
174
183
|
- lib/ratatui_ruby/devtools/tasks/bump/cargo_lockfile.rb
|
|
175
184
|
- lib/ratatui_ruby/devtools/tasks/bump/changelog.rb
|
|
185
|
+
- lib/ratatui_ruby/devtools/tasks/bump/github_project.rb
|
|
176
186
|
- lib/ratatui_ruby/devtools/tasks/bump/header.rb
|
|
177
187
|
- lib/ratatui_ruby/devtools/tasks/bump/history.rb
|
|
178
188
|
- lib/ratatui_ruby/devtools/tasks/bump/links.rb
|
|
179
189
|
- lib/ratatui_ruby/devtools/tasks/bump/manifest.rb
|
|
190
|
+
- lib/ratatui_ruby/devtools/tasks/bump/no_crate.rb
|
|
191
|
+
- lib/ratatui_ruby/devtools/tasks/bump/no_links.rb
|
|
192
|
+
- lib/ratatui_ruby/devtools/tasks/bump/patch_release.rb
|
|
193
|
+
- lib/ratatui_ruby/devtools/tasks/bump/release_branch.rb
|
|
194
|
+
- lib/ratatui_ruby/devtools/tasks/bump/release_from_trunk.rb
|
|
195
|
+
- lib/ratatui_ruby/devtools/tasks/bump/repository.rb
|
|
180
196
|
- lib/ratatui_ruby/devtools/tasks/bump/ruby_gem.rb
|
|
197
|
+
- lib/ratatui_ruby/devtools/tasks/bump/rust_crate.rb
|
|
181
198
|
- lib/ratatui_ruby/devtools/tasks/bump/sem_ver.rb
|
|
199
|
+
- lib/ratatui_ruby/devtools/tasks/bump/source_hut_project.rb
|
|
200
|
+
- lib/ratatui_ruby/devtools/tasks/bump/unbranched_release.rb
|
|
182
201
|
- lib/ratatui_ruby/devtools/tasks/bump/unreleased_section.rb
|
|
183
|
-
- lib/ratatui_ruby/devtools/tasks/
|
|
184
|
-
- lib/ratatui_ruby/devtools/tasks/
|
|
202
|
+
- lib/ratatui_ruby/devtools/tasks/bump_tasks.rb
|
|
203
|
+
- lib/ratatui_ruby/devtools/tasks/cargo_tasks.rb
|
|
204
|
+
- lib/ratatui_ruby/devtools/tasks/doc/documentation.rb
|
|
205
|
+
- lib/ratatui_ruby/devtools/tasks/doc/link.rb
|
|
206
|
+
- lib/ratatui_ruby/devtools/tasks/doc/link/file_url.rb
|
|
207
|
+
- lib/ratatui_ruby/devtools/tasks/doc/link/relative_path.rb
|
|
208
|
+
- lib/ratatui_ruby/devtools/tasks/doc/link/web_url.rb
|
|
209
|
+
- lib/ratatui_ruby/devtools/tasks/doc/link_audit.rb
|
|
210
|
+
- lib/ratatui_ruby/devtools/tasks/doc/problem.rb
|
|
211
|
+
- lib/ratatui_ruby/devtools/tasks/doc/source_file.rb
|
|
212
|
+
- lib/ratatui_ruby/devtools/tasks/doc_tasks.rb
|
|
185
213
|
- lib/ratatui_ruby/devtools/tasks/example_viewer.html.erb
|
|
186
|
-
- lib/ratatui_ruby/devtools/tasks/license.
|
|
187
|
-
- lib/ratatui_ruby/devtools/tasks/license/
|
|
188
|
-
- lib/ratatui_ruby/devtools/tasks/license/
|
|
189
|
-
- lib/ratatui_ruby/devtools/tasks/license/
|
|
190
|
-
- lib/ratatui_ruby/devtools/tasks/license/
|
|
191
|
-
- lib/ratatui_ruby/devtools/tasks/license/
|
|
192
|
-
- lib/ratatui_ruby/devtools/tasks/
|
|
214
|
+
- lib/ratatui_ruby/devtools/tasks/license/blame.rb
|
|
215
|
+
- lib/ratatui_ruby/devtools/tasks/license/changed_files.rb
|
|
216
|
+
- lib/ratatui_ruby/devtools/tasks/license/contribution.rb
|
|
217
|
+
- lib/ratatui_ruby/devtools/tasks/license/copyright.rb
|
|
218
|
+
- lib/ratatui_ruby/devtools/tasks/license/directory_licensing.rb
|
|
219
|
+
- lib/ratatui_ruby/devtools/tasks/license/existing_header.rb
|
|
220
|
+
- lib/ratatui_ruby/devtools/tasks/license/header_revision.rb
|
|
221
|
+
- lib/ratatui_ruby/devtools/tasks/license/licensed_file.rb
|
|
222
|
+
- lib/ratatui_ruby/devtools/tasks/license/licensing.rb
|
|
223
|
+
- lib/ratatui_ruby/devtools/tasks/license/markdown_document.rb
|
|
224
|
+
- lib/ratatui_ruby/devtools/tasks/license/markdown_files.rb
|
|
225
|
+
- lib/ratatui_ruby/devtools/tasks/license/markdown_header_syntax.rb
|
|
226
|
+
- lib/ratatui_ruby/devtools/tasks/license/markdown_snippet_syntax.rb
|
|
227
|
+
- lib/ratatui_ruby/devtools/tasks/license/missing_header.rb
|
|
228
|
+
- lib/ratatui_ruby/devtools/tasks/license/rbs_files.rb
|
|
229
|
+
- lib/ratatui_ruby/devtools/tasks/license/rbs_header_syntax.rb
|
|
230
|
+
- lib/ratatui_ruby/devtools/tasks/license/rdoc_comment.rb
|
|
231
|
+
- lib/ratatui_ruby/devtools/tasks/license/rdoc_examples.rb
|
|
232
|
+
- lib/ratatui_ruby/devtools/tasks/license/rdoc_snippet_syntax.rb
|
|
233
|
+
- lib/ratatui_ruby/devtools/tasks/license/renewal.rb
|
|
234
|
+
- lib/ratatui_ruby/devtools/tasks/license/reuse_annotated_file.rb
|
|
235
|
+
- lib/ratatui_ruby/devtools/tasks/license/reuse_tool.rb
|
|
236
|
+
- lib/ratatui_ruby/devtools/tasks/license/ruby_comment_header.rb
|
|
237
|
+
- lib/ratatui_ruby/devtools/tasks/license/ruby_files.rb
|
|
238
|
+
- lib/ratatui_ruby/devtools/tasks/license/ruby_header_syntax.rb
|
|
239
|
+
- lib/ratatui_ruby/devtools/tasks/license/rust_files.rb
|
|
240
|
+
- lib/ratatui_ruby/devtools/tasks/license/rust_header_syntax.rb
|
|
241
|
+
- lib/ratatui_ruby/devtools/tasks/license/snippet.rb
|
|
242
|
+
- lib/ratatui_ruby/devtools/tasks/license/snippet_file.rb
|
|
243
|
+
- lib/ratatui_ruby/devtools/tasks/license/snippet_opening.rb
|
|
244
|
+
- lib/ratatui_ruby/devtools/tasks/license/snippet_revision.rb
|
|
245
|
+
- lib/ratatui_ruby/devtools/tasks/license/spdx_header.rb
|
|
246
|
+
- lib/ratatui_ruby/devtools/tasks/license/unknown_file.rb
|
|
247
|
+
- lib/ratatui_ruby/devtools/tasks/license/unlicensed_files.rb
|
|
248
|
+
- lib/ratatui_ruby/devtools/tasks/license/wrapped_snippet.rb
|
|
249
|
+
- lib/ratatui_ruby/devtools/tasks/license_tasks.rb
|
|
250
|
+
- lib/ratatui_ruby/devtools/tasks/lint/gem_lockfile.rb
|
|
251
|
+
- lib/ratatui_ruby/devtools/tasks/lint/supported_rubies.rb
|
|
252
|
+
- lib/ratatui_ruby/devtools/tasks/lint_tasks.rb
|
|
193
253
|
- lib/ratatui_ruby/devtools/tasks/rdoc_config.rb
|
|
194
|
-
- lib/ratatui_ruby/devtools/tasks/release.rake
|
|
195
254
|
- lib/ratatui_ruby/devtools/tasks/release/ci_run.rb
|
|
196
255
|
- lib/ratatui_ruby/devtools/tasks/release/github_cli.rb
|
|
197
256
|
- lib/ratatui_ruby/devtools/tasks/release/native_gem_version.rb
|
|
198
257
|
- lib/ratatui_ruby/devtools/tasks/release/platform_gem.rb
|
|
199
258
|
- lib/ratatui_ruby/devtools/tasks/release/versioned_binary.rb
|
|
259
|
+
- lib/ratatui_ruby/devtools/tasks/release_tasks.rb
|
|
200
260
|
- lib/ratatui_ruby/devtools/tasks/resources/index.html.erb
|
|
201
|
-
- lib/ratatui_ruby/devtools/tasks/
|
|
202
|
-
- lib/ratatui_ruby/devtools/tasks/
|
|
203
|
-
- lib/ratatui_ruby/devtools/tasks/
|
|
204
|
-
- lib/ratatui_ruby/devtools/tasks/website.rake
|
|
261
|
+
- lib/ratatui_ruby/devtools/tasks/reuse_tasks.rb
|
|
262
|
+
- lib/ratatui_ruby/devtools/tasks/test_tasks.rb
|
|
263
|
+
- lib/ratatui_ruby/devtools/tasks/website/hosted_source_tree.rb
|
|
205
264
|
- lib/ratatui_ruby/devtools/tasks/website/index_page.rb
|
|
265
|
+
- lib/ratatui_ruby/devtools/tasks/website/source_tree.rb
|
|
206
266
|
- lib/ratatui_ruby/devtools/tasks/website/version.rb
|
|
207
267
|
- lib/ratatui_ruby/devtools/tasks/website/version_menu.rb
|
|
208
268
|
- lib/ratatui_ruby/devtools/tasks/website/versioned_documentation.rb
|
|
209
269
|
- lib/ratatui_ruby/devtools/tasks/website/website.rb
|
|
210
|
-
- lib/ratatui_ruby/devtools/
|
|
270
|
+
- lib/ratatui_ruby/devtools/tasks/website_tasks.rb
|
|
211
271
|
- lib/ratatui_ruby/devtools/templates/.github/workflows/build-gems.yml.erb
|
|
212
272
|
- lib/ratatui_ruby/devtools/templates/.github/workflows/ci.yml.erb
|
|
213
273
|
- lib/ratatui_ruby/devtools/templates/.gitignore.erb
|
|
@@ -244,22 +304,21 @@ files:
|
|
|
244
304
|
- lib/ratatui_ruby/devtools/templates/lib/version.rb.erb
|
|
245
305
|
- lib/ratatui_ruby/devtools/templates/mise.toml.erb
|
|
246
306
|
- lib/ratatui_ruby/devtools/templates/tasks/example_viewer.html.erb
|
|
247
|
-
- lib/ratatui_ruby/devtools/templates/tasks/resources/index.html.erb
|
|
248
|
-
- lib/ratatui_ruby/devtools/templates/tasks/resources/rubies.yml.erb
|
|
249
307
|
- lib/ratatui_ruby/devtools/templates/test/test_helper.rb.erb
|
|
250
308
|
- lib/ratatui_ruby/devtools/version.rb
|
|
251
309
|
- mise.toml
|
|
252
310
|
- sig/ratatui_ruby/devtools.rbs
|
|
253
311
|
- vendor/goodcop/base.yml
|
|
254
|
-
homepage: https://
|
|
312
|
+
homepage: https://github.com/setdef/ratatui_ruby-devtools
|
|
255
313
|
licenses:
|
|
256
314
|
- AGPL-3.0-or-later
|
|
257
315
|
metadata:
|
|
258
316
|
allowed_push_host: https://rubygems.org
|
|
259
|
-
homepage_uri: https://
|
|
260
|
-
bug_tracker_uri: https://
|
|
261
|
-
|
|
262
|
-
source_code_uri: https://
|
|
317
|
+
homepage_uri: https://github.com/setdef/ratatui_ruby-devtools
|
|
318
|
+
bug_tracker_uri: https://github.com/setdef/ratatui_ruby-devtools/issues
|
|
319
|
+
changelog_uri: https://github.com/setdef/ratatui_ruby-devtools/blob/stable/CHANGELOG.md
|
|
320
|
+
source_code_uri: https://github.com/setdef/ratatui_ruby-devtools
|
|
321
|
+
wiki_uri: https://man.sr.ht/~kerrick/ratatui_ruby/
|
|
263
322
|
rubygems_mfa_required: 'true'
|
|
264
323
|
rdoc_options: []
|
|
265
324
|
require_paths:
|
|
@@ -268,14 +327,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
268
327
|
requirements:
|
|
269
328
|
- - ">="
|
|
270
329
|
- !ruby/object:Gem::Version
|
|
271
|
-
version: 3.
|
|
330
|
+
version: 3.3.11
|
|
272
331
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
273
332
|
requirements:
|
|
274
333
|
- - ">="
|
|
275
334
|
- !ruby/object:Gem::Version
|
|
276
335
|
version: '0'
|
|
277
336
|
requirements: []
|
|
278
|
-
rubygems_version: 4.0.
|
|
337
|
+
rubygems_version: 4.0.20
|
|
279
338
|
specification_version: 4
|
|
280
339
|
summary: Development tooling for the RatatuiRuby ecosystem.
|
|
281
340
|
test_files: []
|
data/.builds/ruby-4.0.yml
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
# SPDX-FileCopyrightText: 2026 Kerrick Long <me@kerricklong.com>
|
|
2
|
-
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
3
|
-
|
|
4
|
-
image: archlinux
|
|
5
|
-
packages:
|
|
6
|
-
- bash
|
|
7
|
-
- base-devel
|
|
8
|
-
- curl
|
|
9
|
-
- openssl
|
|
10
|
-
- libyaml
|
|
11
|
-
- zlib
|
|
12
|
-
- readline
|
|
13
|
-
- gdbm
|
|
14
|
-
- ncurses
|
|
15
|
-
- libffi
|
|
16
|
-
- git
|
|
17
|
-
sources:
|
|
18
|
-
- https://git.sr.ht/~kerrick/ratatui_ruby-devtools
|
|
19
|
-
tasks:
|
|
20
|
-
- setup: |
|
|
21
|
-
curl https://mise.jdx.dev/install.sh | sh
|
|
22
|
-
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.buildenv
|
|
23
|
-
echo 'eval "$($HOME/.local/bin/mise activate bash)"' >> ~/.buildenv
|
|
24
|
-
echo 'export LANG="en_US.UTF-8"' >> ~/.buildenv
|
|
25
|
-
echo 'export LC_ALL="en_US.UTF-8"' >> ~/.buildenv
|
|
26
|
-
. ~/.buildenv
|
|
27
|
-
export CI="true"
|
|
28
|
-
cd ratatui_ruby-devtools
|
|
29
|
-
mise install
|
|
30
|
-
mise x -- pip install reuse
|
|
31
|
-
mise x -- gem install bundler:4.0.3
|
|
32
|
-
mise reshim
|
|
33
|
-
mise x -- bundle config set --local frozen 'true'
|
|
34
|
-
mise x -- bundle install
|
|
35
|
-
- lint: |
|
|
36
|
-
. ~/.buildenv
|
|
37
|
-
cd ratatui_ruby-devtools
|
|
38
|
-
mise x -- bundle exec rake
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
#--
|
|
4
|
-
# SPDX-FileCopyrightText: 2025 Kerrick Long <me@kerricklong.com>
|
|
5
|
-
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
6
|
-
#++
|
|
7
|
-
|
|
8
|
-
require_relative "autodoc/examples"
|
|
9
|
-
|
|
10
|
-
namespace :autodoc do
|
|
11
|
-
desc "Update all automatically generated documentation"
|
|
12
|
-
task all: [:examples]
|
|
13
|
-
|
|
14
|
-
desc "Sync code snippets in example READMEs with source files"
|
|
15
|
-
task :examples do
|
|
16
|
-
Autodoc::Examples.sync
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
|
|
20
|
-
desc "Update all automatically generated documentation"
|
|
21
|
-
task autodoc: "autodoc:all"
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
#--
|
|
4
|
-
# SPDX-FileCopyrightText: 2026 Kerrick Long <me@kerricklong.com>
|
|
5
|
-
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
6
|
-
#++
|
|
7
|
-
|
|
8
|
-
require "rubygems"
|
|
9
|
-
|
|
10
|
-
require_relative "bump/sem_ver"
|
|
11
|
-
require_relative "bump/manifest"
|
|
12
|
-
require_relative "bump/cargo_lockfile"
|
|
13
|
-
require_relative "bump/ruby_gem"
|
|
14
|
-
require_relative "bump/changelog"
|
|
15
|
-
|
|
16
|
-
# Null lockfile for gems without Rust
|
|
17
|
-
class NullLockfile
|
|
18
|
-
def refresh
|
|
19
|
-
# No-op
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
namespace :bump do
|
|
24
|
-
# Auto-discover gem configuration
|
|
25
|
-
def devtools_gem
|
|
26
|
-
@devtools_gem ||= begin
|
|
27
|
-
version_file = RatatuiRuby::Devtools.version_file
|
|
28
|
-
gem_name = RatatuiRuby::Devtools.gem_name
|
|
29
|
-
|
|
30
|
-
manifests = [
|
|
31
|
-
Manifest.new(
|
|
32
|
-
path: version_file,
|
|
33
|
-
pattern: /(?<=VERSION = ")[^"]+(?=")/,
|
|
34
|
-
primary: true
|
|
35
|
-
),
|
|
36
|
-
]
|
|
37
|
-
|
|
38
|
-
# Optionally add Cargo.toml if this gem has Rust extensions
|
|
39
|
-
cargo_toml = "ext/#{gem_name}/Cargo.toml"
|
|
40
|
-
if File.exist?(cargo_toml)
|
|
41
|
-
manifests << Manifest.new(
|
|
42
|
-
path: cargo_toml,
|
|
43
|
-
pattern: /(?<=^version = ")[^"]+(?=")/,
|
|
44
|
-
primary: false
|
|
45
|
-
)
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
# Optionally use Cargo lockfile if it exists
|
|
49
|
-
cargo_lock = "ext/#{gem_name}/Cargo.lock"
|
|
50
|
-
lockfile = if File.exist?(cargo_lock)
|
|
51
|
-
CargoLockfile.new(
|
|
52
|
-
path: cargo_lock,
|
|
53
|
-
dir: "ext/#{gem_name}",
|
|
54
|
-
name: gem_name
|
|
55
|
-
)
|
|
56
|
-
else
|
|
57
|
-
# No-op lockfile for pure Ruby gems
|
|
58
|
-
NullLockfile.new
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
RubyGem.new(
|
|
62
|
-
manifests:,
|
|
63
|
-
lockfile:,
|
|
64
|
-
changelog: Changelog.new
|
|
65
|
-
)
|
|
66
|
-
end
|
|
67
|
-
end
|
|
68
|
-
|
|
69
|
-
SemVer::SEGMENTS.each do |segment|
|
|
70
|
-
desc "Bump #{segment} version"
|
|
71
|
-
task segment do
|
|
72
|
-
devtools_gem.bump(segment)
|
|
73
|
-
end
|
|
74
|
-
end
|
|
75
|
-
|
|
76
|
-
desc "Set exact version (e.g. rake bump:exact[0.1.0])"
|
|
77
|
-
task :exact, [:version] do |_, args|
|
|
78
|
-
devtools_gem.set(args[:version])
|
|
79
|
-
end
|
|
80
|
-
end
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
#--
|
|
4
|
-
# SPDX-FileCopyrightText: 2026 Kerrick Long <me@kerricklong.com>
|
|
5
|
-
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
6
|
-
#++
|
|
7
|
-
|
|
8
|
-
# Cargo tasks for Rust extensions.
|
|
9
|
-
# Only registered if ext/ directory exists.
|
|
10
|
-
|
|
11
|
-
if Dir.exist?("ext")
|
|
12
|
-
namespace :cargo do
|
|
13
|
-
desc "Run cargo fmt"
|
|
14
|
-
task :fmt do
|
|
15
|
-
ext_dirs = Dir.glob("ext/*").select { |d| File.directory?(d) && File.exist?("#{d}/Cargo.toml") }
|
|
16
|
-
ext_dirs.each do |dir|
|
|
17
|
-
sh "cd #{dir} && cargo fmt --all -- --check"
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
desc "Run cargo clippy"
|
|
22
|
-
task :clippy do
|
|
23
|
-
ext_dirs = Dir.glob("ext/*").select { |d| File.directory?(d) && File.exist?("#{d}/Cargo.toml") }
|
|
24
|
-
ext_dirs.each do |dir|
|
|
25
|
-
sh "cd #{dir} && cargo clippy -- -D warnings"
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
desc "Run cargo test"
|
|
30
|
-
task :test do
|
|
31
|
-
ext_dirs = Dir.glob("ext/*").select { |d| File.directory?(d) && File.exist?("#{d}/Cargo.toml") }
|
|
32
|
-
ext_dirs.each do |dir|
|
|
33
|
-
sh "cd #{dir} && cargo test"
|
|
34
|
-
end
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
namespace :fix do
|
|
38
|
-
desc "Auto-fix Clippy warnings (most aggressive)"
|
|
39
|
-
task :clippy do
|
|
40
|
-
ext_dirs = Dir.glob("ext/*").select { |d| File.directory?(d) && File.exist?("#{d}/Cargo.toml") }
|
|
41
|
-
ext_dirs.each do |dir|
|
|
42
|
-
sh "cd #{dir} && cargo clippy --fix --allow-dirty --allow-staged"
|
|
43
|
-
end
|
|
44
|
-
end
|
|
45
|
-
end
|
|
46
|
-
end
|
|
47
|
-
end
|