diff --git a/_gem/README.md b/_gem/README.md index 277d81cc..6bc26503 100644 --- a/_gem/README.md +++ b/_gem/README.md @@ -53,6 +53,7 @@ Following tasks are generated * `rake go:testrace` * `rake go:fmt` * `rake go:build_envs` +* `rake go:mod_tidy` #### Example (With config) ```ruby @@ -73,6 +74,7 @@ Following tasks are generated * `rake go5:testrace` * `rake go5:fmt` * `rake go5:build_envs` +* `rake go5:mod_tidy` #### Example (Add additional tasks) ```ruby diff --git a/_gem/lib/go_gem/rake_task.rb b/_gem/lib/go_gem/rake_task.rb index 8310dd06..c872106f 100644 --- a/_gem/lib/go_gem/rake_task.rb +++ b/_gem/lib/go_gem/rake_task.rb @@ -96,6 +96,7 @@ def initialize(gem_name) define_go_fmt_task define_go_build_envs_task define_go_build_tag_task + define_go_mod_tidy_task end end @@ -179,5 +180,14 @@ def define_go_build_tag_task puts GoGem::Util.ruby_minor_version_build_tag end end + + def define_go_mod_tidy_task + desc "Run #{go_bin_path} mod tidy" + task(:mod_tidy) do + within_target_dir do + sh "#{go_bin_path} mod tidy" + end + end + end end end diff --git a/_gem/sig/go_gem/rake_task.rbs b/_gem/sig/go_gem/rake_task.rbs index b293c777..f7cee731 100644 --- a/_gem/sig/go_gem/rake_task.rbs +++ b/_gem/sig/go_gem/rake_task.rbs @@ -42,6 +42,8 @@ module GoGem def define_go_build_tag_task: () -> void + def define_go_mod_tidy_task: () -> void + def within_target_dir: () { () -> void } -> void def ext_dir: () -> String diff --git a/_gem/spec/go_gem/rake_task_spec.rb b/_gem/spec/go_gem/rake_task_spec.rb index 2a779b3a..e2ef8375 100644 --- a/_gem/spec/go_gem/rake_task_spec.rb +++ b/_gem/spec/go_gem/rake_task_spec.rb @@ -18,6 +18,7 @@ it { should be_task_defined("go:testrace") } it { should be_task_defined("go:fmt") } it { should be_task_defined("go:build_envs") } + it { should be_task_defined("go:mod_tidy") } describe "Add additional tasks" do include Rake::DSL @@ -53,6 +54,7 @@ it { should be_task_defined("go5:test") } it { should be_task_defined("go5:testrace") } it { should be_task_defined("go5:fmt") } + it { should be_task_defined("go5:mod_tidy") } end end end