From ce390b9bd9648f1edf856df55e121c7d75cfdedc Mon Sep 17 00:00:00 2001 From: Xu Cheng Date: Thu, 10 Sep 2015 21:20:34 +0800 Subject: add dev-cmd folder --- Library/Homebrew/cmd/command.rb | 4 +++- Library/Homebrew/cmd/commands.rb | 8 +++++--- Library/Homebrew/cmd/update-test.rb | 26 -------------------------- Library/Homebrew/dev-cmd/update-test.rb | 26 ++++++++++++++++++++++++++ Library/brew.rb | 8 +++++++- 5 files changed, 41 insertions(+), 31 deletions(-) delete mode 100644 Library/Homebrew/cmd/update-test.rb create mode 100644 Library/Homebrew/dev-cmd/update-test.rb diff --git a/Library/Homebrew/cmd/command.rb b/Library/Homebrew/cmd/command.rb index 66a6d38e1..6ddd898be 100644 --- a/Library/Homebrew/cmd/command.rb +++ b/Library/Homebrew/cmd/command.rb @@ -3,7 +3,9 @@ module Homebrew cmd = ARGV.first cmd = HOMEBREW_INTERNAL_COMMAND_ALIASES.fetch(cmd, cmd) - if (path = HOMEBREW_LIBRARY_PATH/"cmd/#{cmd}.rb") && path.file? + if (path = HOMEBREW_LIBRARY_PATH/"cmd/#{cmd}.rb").file? + puts path + elsif ARGV.homebrew_developer? && (path = HOMEBREW_LIBRARY_PATH/"dev-cmd/#{cmd}.rb").file? puts path elsif (path = which("brew-#{cmd}") || which("brew-#{cmd}.rb")) puts path diff --git a/Library/Homebrew/cmd/commands.rb b/Library/Homebrew/cmd/commands.rb index 2bb18b3e0..b94ecca7d 100644 --- a/Library/Homebrew/cmd/commands.rb +++ b/Library/Homebrew/cmd/commands.rb @@ -20,9 +20,11 @@ module Homebrew def internal_commands with_directory = false - (HOMEBREW_REPOSITORY/"Library/Homebrew/cmd"). - children(with_directory). - map { |f| File.basename(f, ".rb") } + cmds = (HOMEBREW_LIBRARY_PATH/"cmd").children(with_directory).map { |f| File.basename(f, ".rb") } + if ARGV.homebrew_developer? + cmds += (HOMEBREW_LIBRARY_PATH/"dev-cmd").children(with_directory).map { |f| File.basename(f, ".rb") } + end + cmds end def external_commands diff --git a/Library/Homebrew/cmd/update-test.rb b/Library/Homebrew/cmd/update-test.rb deleted file mode 100644 index 61b119672..000000000 --- a/Library/Homebrew/cmd/update-test.rb +++ /dev/null @@ -1,26 +0,0 @@ -require "extend/ENV" - -module Homebrew - def update_test - homebrew_repository_git = HOMEBREW_REPOSITORY/".git" - - mktemp do - curdir = Pathname.new(Dir.pwd) - - # copy Homebrew installation - cp_r homebrew_repository_git, curdir/".git" - safe_system "git", "checkout", "--force", "master" - safe_system "git", "reset", "--hard", "origin/master" - - # Set git origin - safe_system "git", "config", "remote.origin.url", "file://#{homebrew_repository_git}" - - # update ENV["PATH"] - ENV.extend(Stdenv) - ENV.prepend_path "PATH", "#{curdir}/bin" - - # run brew update - safe_system "brew", "update" - end - end -end diff --git a/Library/Homebrew/dev-cmd/update-test.rb b/Library/Homebrew/dev-cmd/update-test.rb new file mode 100644 index 000000000..61b119672 --- /dev/null +++ b/Library/Homebrew/dev-cmd/update-test.rb @@ -0,0 +1,26 @@ +require "extend/ENV" + +module Homebrew + def update_test + homebrew_repository_git = HOMEBREW_REPOSITORY/".git" + + mktemp do + curdir = Pathname.new(Dir.pwd) + + # copy Homebrew installation + cp_r homebrew_repository_git, curdir/".git" + safe_system "git", "checkout", "--force", "master" + safe_system "git", "reset", "--hard", "origin/master" + + # Set git origin + safe_system "git", "config", "remote.origin.url", "file://#{homebrew_repository_git}" + + # update ENV["PATH"] + ENV.extend(Stdenv) + ENV.prepend_path "PATH", "#{curdir}/bin" + + # run brew update + safe_system "brew", "update" + end + end +end diff --git a/Library/brew.rb b/Library/brew.rb index 5b2af88a9..886b07910 100755 --- a/Library/brew.rb +++ b/Library/brew.rb @@ -106,7 +106,13 @@ begin # Add SCM wrappers. ENV["PATH"] += "#{File::PATH_SEPARATOR}#{HOMEBREW_LIBRARY}/ENV/scm" - internal_cmd = require? HOMEBREW_LIBRARY_PATH.join("cmd", cmd) if cmd + if cmd + internal_cmd = require? HOMEBREW_LIBRARY_PATH.join("cmd", cmd) + + if !internal_cmd && ARGV.homebrew_developer? + internal_cmd = require? HOMEBREW_LIBRARY_PATH.join("dev-cmd", cmd) + end + end # Usage instructions should be displayed if and only if one of: # - a help flag is passed AND an internal command is matched -- cgit v1.2.3