diff --git a/.github/workflows/install-rubygems.yml b/.github/workflows/install-rubygems.yml index 813174340eb9..1234b0bf33db 100644 --- a/.github/workflows/install-rubygems.yml +++ b/.github/workflows/install-rubygems.yml @@ -42,6 +42,8 @@ jobs: run: bundle --version - name: Check bundler man pages were installed and are properly picked up run: bundle install --help | grep -q BUNDLE-INSTALL + - name: Check bundler fallback man pages are properly picked up + run: sudo rm $(which man) && bundle install --help - name: Build bundler run: gem build bundler.gemspec working-directory: ./bundler diff --git a/Manifest.txt b/Manifest.txt index 7e413102301d..25eea9701786 100644 --- a/Manifest.txt +++ b/Manifest.txt @@ -89,6 +89,31 @@ bundler/lib/bundler/installer/standalone.rb bundler/lib/bundler/lazy_specification.rb bundler/lib/bundler/lockfile_generator.rb bundler/lib/bundler/lockfile_parser.rb +bundler/lib/bundler/man/bundle-add.1.ronn +bundler/lib/bundler/man/bundle-binstubs.1.ronn +bundler/lib/bundler/man/bundle-cache.1.ronn +bundler/lib/bundler/man/bundle-check.1.ronn +bundler/lib/bundler/man/bundle-clean.1.ronn +bundler/lib/bundler/man/bundle-config.1.ronn +bundler/lib/bundler/man/bundle-doctor.1.ronn +bundler/lib/bundler/man/bundle-exec.1.ronn +bundler/lib/bundler/man/bundle-gem.1.ronn +bundler/lib/bundler/man/bundle-info.1.ronn +bundler/lib/bundler/man/bundle-init.1.ronn +bundler/lib/bundler/man/bundle-inject.1.ronn +bundler/lib/bundler/man/bundle-install.1.ronn +bundler/lib/bundler/man/bundle-list.1.ronn +bundler/lib/bundler/man/bundle-lock.1.ronn +bundler/lib/bundler/man/bundle-open.1.ronn +bundler/lib/bundler/man/bundle-outdated.1.ronn +bundler/lib/bundler/man/bundle-platform.1.ronn +bundler/lib/bundler/man/bundle-pristine.1.ronn +bundler/lib/bundler/man/bundle-remove.1.ronn +bundler/lib/bundler/man/bundle-show.1.ronn +bundler/lib/bundler/man/bundle-update.1.ronn +bundler/lib/bundler/man/bundle-viz.1.ronn +bundler/lib/bundler/man/bundle.1.ronn +bundler/lib/bundler/man/gemfile.5.ronn bundler/lib/bundler/match_platform.rb bundler/lib/bundler/mirror.rb bundler/lib/bundler/plugin.rb @@ -253,55 +278,30 @@ bundler/lib/bundler/vlad.rb bundler/lib/bundler/worker.rb bundler/lib/bundler/yaml_serializer.rb bundler/man/bundle-add.1 -bundler/man/bundle-add.1.ronn bundler/man/bundle-binstubs.1 -bundler/man/bundle-binstubs.1.ronn bundler/man/bundle-cache.1 -bundler/man/bundle-cache.1.ronn bundler/man/bundle-check.1 -bundler/man/bundle-check.1.ronn bundler/man/bundle-clean.1 -bundler/man/bundle-clean.1.ronn bundler/man/bundle-config.1 -bundler/man/bundle-config.1.ronn bundler/man/bundle-doctor.1 -bundler/man/bundle-doctor.1.ronn bundler/man/bundle-exec.1 -bundler/man/bundle-exec.1.ronn bundler/man/bundle-gem.1 -bundler/man/bundle-gem.1.ronn bundler/man/bundle-info.1 -bundler/man/bundle-info.1.ronn bundler/man/bundle-init.1 -bundler/man/bundle-init.1.ronn bundler/man/bundle-inject.1 -bundler/man/bundle-inject.1.ronn bundler/man/bundle-install.1 -bundler/man/bundle-install.1.ronn bundler/man/bundle-list.1 -bundler/man/bundle-list.1.ronn bundler/man/bundle-lock.1 -bundler/man/bundle-lock.1.ronn bundler/man/bundle-open.1 -bundler/man/bundle-open.1.ronn bundler/man/bundle-outdated.1 -bundler/man/bundle-outdated.1.ronn bundler/man/bundle-platform.1 -bundler/man/bundle-platform.1.ronn bundler/man/bundle-pristine.1 -bundler/man/bundle-pristine.1.ronn bundler/man/bundle-remove.1 -bundler/man/bundle-remove.1.ronn bundler/man/bundle-show.1 -bundler/man/bundle-show.1.ronn bundler/man/bundle-update.1 -bundler/man/bundle-update.1.ronn bundler/man/bundle-viz.1 -bundler/man/bundle-viz.1.ronn bundler/man/bundle.1 -bundler/man/bundle.1.ronn bundler/man/gemfile.5 -bundler/man/gemfile.5.ronn bundler/man/index.txt hide_lib_for_update/note.txt lib/rubygems.rb diff --git a/bundler/Rakefile b/bundler/Rakefile index 9d8f166e6dbc..92716822579c 100644 --- a/bundler/Rakefile +++ b/bundler/Rakefile @@ -79,8 +79,8 @@ namespace :man do else directory "man" - index = Dir["man/*.ronn"].map do |source| - ronn = "man/#{File.basename(source)}" + index = Dir["lib/bundler/man/*.ronn"].map do |source| + ronn = "lib/bundler/man/#{File.basename(source)}" roff = "man/#{File.basename(source, ".ronn")}" file roff => ["man", ronn] do diff --git a/bundler/doc/documentation/WRITING.md b/bundler/doc/documentation/WRITING.md index f0653ac87c3e..8680d89359d6 100644 --- a/bundler/doc/documentation/WRITING.md +++ b/bundler/doc/documentation/WRITING.md @@ -20,9 +20,9 @@ Don't see a man page for a command? Make a new page and send us a PR! We also we ## Creating a new man page -To create a new man page, simply create a new `.ronn` file in the `man/` directory. +To create a new man page, simply create a new `.ronn` file in the `lib/bundler/man/` directory. -For example: to create a man page for the command `bundle cookies` (not a real command, sadly), I would create a file `man/bundle-cookies.1.ronn` and add my documentation there. +For example: to create a man page for the command `bundle cookies` (not a real command, sadly), I would create a file `lib/bundler/man/bundle-cookies.1.ronn` and add my documentation there. ## Formatting diff --git a/bundler/lib/bundler/cli.rb b/bundler/lib/bundler/cli.rb index b4196621e5f7..4f5f372a4a98 100644 --- a/bundler/lib/bundler/cli.rb +++ b/bundler/lib/bundler/cli.rb @@ -134,7 +134,8 @@ def help(cli = nil) if Bundler.which("man") && man_path !~ %r{^file:/.+!/META-INF/jruby.home/.+} Kernel.exec "man #{man_page}" else - puts File.read("#{File.dirname(man_page)}/#{File.basename(man_page)}.ronn") + fallback_man_path = File.expand_path("../man", __FILE__) + puts File.read("#{fallback_man_path}/#{File.basename(man_page)}.ronn") end elsif command_path = Bundler.which("bundler-#{cli}") Kernel.exec(command_path, "--help") diff --git a/bundler/man/bundle-add.1.ronn b/bundler/lib/bundler/man/bundle-add.1.ronn similarity index 100% rename from bundler/man/bundle-add.1.ronn rename to bundler/lib/bundler/man/bundle-add.1.ronn diff --git a/bundler/man/bundle-binstubs.1.ronn b/bundler/lib/bundler/man/bundle-binstubs.1.ronn similarity index 100% rename from bundler/man/bundle-binstubs.1.ronn rename to bundler/lib/bundler/man/bundle-binstubs.1.ronn diff --git a/bundler/man/bundle-cache.1.ronn b/bundler/lib/bundler/man/bundle-cache.1.ronn similarity index 100% rename from bundler/man/bundle-cache.1.ronn rename to bundler/lib/bundler/man/bundle-cache.1.ronn diff --git a/bundler/man/bundle-check.1.ronn b/bundler/lib/bundler/man/bundle-check.1.ronn similarity index 100% rename from bundler/man/bundle-check.1.ronn rename to bundler/lib/bundler/man/bundle-check.1.ronn diff --git a/bundler/man/bundle-clean.1.ronn b/bundler/lib/bundler/man/bundle-clean.1.ronn similarity index 100% rename from bundler/man/bundle-clean.1.ronn rename to bundler/lib/bundler/man/bundle-clean.1.ronn diff --git a/bundler/man/bundle-config.1.ronn b/bundler/lib/bundler/man/bundle-config.1.ronn similarity index 100% rename from bundler/man/bundle-config.1.ronn rename to bundler/lib/bundler/man/bundle-config.1.ronn diff --git a/bundler/man/bundle-doctor.1.ronn b/bundler/lib/bundler/man/bundle-doctor.1.ronn similarity index 100% rename from bundler/man/bundle-doctor.1.ronn rename to bundler/lib/bundler/man/bundle-doctor.1.ronn diff --git a/bundler/man/bundle-exec.1.ronn b/bundler/lib/bundler/man/bundle-exec.1.ronn similarity index 100% rename from bundler/man/bundle-exec.1.ronn rename to bundler/lib/bundler/man/bundle-exec.1.ronn diff --git a/bundler/man/bundle-gem.1.ronn b/bundler/lib/bundler/man/bundle-gem.1.ronn similarity index 100% rename from bundler/man/bundle-gem.1.ronn rename to bundler/lib/bundler/man/bundle-gem.1.ronn diff --git a/bundler/man/bundle-info.1.ronn b/bundler/lib/bundler/man/bundle-info.1.ronn similarity index 100% rename from bundler/man/bundle-info.1.ronn rename to bundler/lib/bundler/man/bundle-info.1.ronn diff --git a/bundler/man/bundle-init.1.ronn b/bundler/lib/bundler/man/bundle-init.1.ronn similarity index 100% rename from bundler/man/bundle-init.1.ronn rename to bundler/lib/bundler/man/bundle-init.1.ronn diff --git a/bundler/man/bundle-inject.1.ronn b/bundler/lib/bundler/man/bundle-inject.1.ronn similarity index 100% rename from bundler/man/bundle-inject.1.ronn rename to bundler/lib/bundler/man/bundle-inject.1.ronn diff --git a/bundler/man/bundle-install.1.ronn b/bundler/lib/bundler/man/bundle-install.1.ronn similarity index 100% rename from bundler/man/bundle-install.1.ronn rename to bundler/lib/bundler/man/bundle-install.1.ronn diff --git a/bundler/man/bundle-list.1.ronn b/bundler/lib/bundler/man/bundle-list.1.ronn similarity index 100% rename from bundler/man/bundle-list.1.ronn rename to bundler/lib/bundler/man/bundle-list.1.ronn diff --git a/bundler/man/bundle-lock.1.ronn b/bundler/lib/bundler/man/bundle-lock.1.ronn similarity index 100% rename from bundler/man/bundle-lock.1.ronn rename to bundler/lib/bundler/man/bundle-lock.1.ronn diff --git a/bundler/man/bundle-open.1.ronn b/bundler/lib/bundler/man/bundle-open.1.ronn similarity index 100% rename from bundler/man/bundle-open.1.ronn rename to bundler/lib/bundler/man/bundle-open.1.ronn diff --git a/bundler/man/bundle-outdated.1.ronn b/bundler/lib/bundler/man/bundle-outdated.1.ronn similarity index 100% rename from bundler/man/bundle-outdated.1.ronn rename to bundler/lib/bundler/man/bundle-outdated.1.ronn diff --git a/bundler/man/bundle-platform.1.ronn b/bundler/lib/bundler/man/bundle-platform.1.ronn similarity index 100% rename from bundler/man/bundle-platform.1.ronn rename to bundler/lib/bundler/man/bundle-platform.1.ronn diff --git a/bundler/man/bundle-pristine.1.ronn b/bundler/lib/bundler/man/bundle-pristine.1.ronn similarity index 100% rename from bundler/man/bundle-pristine.1.ronn rename to bundler/lib/bundler/man/bundle-pristine.1.ronn diff --git a/bundler/man/bundle-remove.1.ronn b/bundler/lib/bundler/man/bundle-remove.1.ronn similarity index 100% rename from bundler/man/bundle-remove.1.ronn rename to bundler/lib/bundler/man/bundle-remove.1.ronn diff --git a/bundler/man/bundle-show.1.ronn b/bundler/lib/bundler/man/bundle-show.1.ronn similarity index 100% rename from bundler/man/bundle-show.1.ronn rename to bundler/lib/bundler/man/bundle-show.1.ronn diff --git a/bundler/man/bundle-update.1.ronn b/bundler/lib/bundler/man/bundle-update.1.ronn similarity index 100% rename from bundler/man/bundle-update.1.ronn rename to bundler/lib/bundler/man/bundle-update.1.ronn diff --git a/bundler/man/bundle-viz.1.ronn b/bundler/lib/bundler/man/bundle-viz.1.ronn similarity index 100% rename from bundler/man/bundle-viz.1.ronn rename to bundler/lib/bundler/man/bundle-viz.1.ronn diff --git a/bundler/man/bundle.1.ronn b/bundler/lib/bundler/man/bundle.1.ronn similarity index 100% rename from bundler/man/bundle.1.ronn rename to bundler/lib/bundler/man/bundle.1.ronn diff --git a/bundler/man/gemfile.5.ronn b/bundler/lib/bundler/man/gemfile.5.ronn similarity index 100% rename from bundler/man/gemfile.5.ronn rename to bundler/lib/bundler/man/gemfile.5.ronn diff --git a/bundler/spec/quality_spec.rb b/bundler/spec/quality_spec.rb index b0647b76636e..808f0502a4c1 100644 --- a/bundler/spec/quality_spec.rb +++ b/bundler/spec/quality_spec.rb @@ -190,7 +190,7 @@ def check_for_specific_pronouns(filename) line.scan(/Bundler\.settings\[:#{key_pattern}\]/).flatten.each {|s| all_settings[s] << "referenced at `#{filename}:#{number.succ}`" } end end - documented_settings = File.read("man/bundle-config.1.ronn")[/LIST OF AVAILABLE KEYS.*/m].scan(/^\* `#{key_pattern}`/).flatten + documented_settings = File.read("lib/bundler/man/bundle-config.1.ronn")[/LIST OF AVAILABLE KEYS.*/m].scan(/^\* `#{key_pattern}`/).flatten documented_settings.each do |s| all_settings.delete(s) @@ -249,7 +249,7 @@ def check_for_specific_pronouns(filename) end it "does not use require internally, but require_relative" do - exempt = %r{templates/|vendor/} + exempt = %r{templates/|man/|vendor/} all_bad_requires = [] lib_tracked_files.each do |filename| next if filename =~ exempt diff --git a/test/rubygems/test_gem_commands_setup_command.rb b/test/rubygems/test_gem_commands_setup_command.rb index b7a73cfb8c7d..75b77a1672b5 100644 --- a/test/rubygems/test_gem_commands_setup_command.rb +++ b/test/rubygems/test_gem_commands_setup_command.rb @@ -26,12 +26,12 @@ def setup bundler/exe/bundle bundler/lib/bundler.rb bundler/lib/bundler/b.rb + bundler/lib/bundler/man/bundle-b.1.ronn + bundler/lib/bundler/man/gemfile.5.ronn bundler/lib/bundler/templates/.circleci/config.yml bundler/lib/bundler/templates/.travis.yml bundler/man/bundle-b.1 - bundler/man/bundle-b.1.ronn bundler/man/gemfile.5 - bundler/man/gemfile.5.ronn ] create_dummy_files(filelist)