diff options
| -rwxr-xr-x | Library/Homebrew/.simplecov | 4 | ||||
| -rw-r--r-- | Library/Homebrew/brew.rb | 3 | ||||
| l--------- | Library/Homebrew/cask/.simplecov | 1 | ||||
| -rw-r--r-- | Library/Homebrew/cask/Gemfile | 11 | ||||
| -rw-r--r-- | Library/Homebrew/cask/Gemfile.lock | 51 | ||||
| -rwxr-xr-x | Library/Homebrew/cask/cmd/brew-cask-tests.rb | 45 | ||||
| -rwxr-xr-x | Library/Homebrew/cask/cmd/brew-cask.rb | 12 | ||||
| -rw-r--r-- | Library/Homebrew/cask/lib/hbc/cli/style.rb | 6 | ||||
| -rwxr-xr-x | Library/Homebrew/cask/spec/upload_coverage.rb | 6 | ||||
| -rw-r--r-- | Library/Homebrew/cmd/cask.rb | 10 | ||||
| -rw-r--r-- | Library/Homebrew/cmd/install.rb | 5 | ||||
| -rw-r--r-- | Library/Homebrew/cmd/sh.rb | 10 | ||||
| -rw-r--r-- | Library/Homebrew/dev-cmd/audit.rb | 20 | ||||
| -rw-r--r-- | Library/Homebrew/dev-cmd/bottle.rb | 26 | ||||
| -rw-r--r-- | Library/Homebrew/dev-cmd/tests.rb | 21 | ||||
| -rw-r--r-- | Library/Homebrew/dev-cmd/update-test.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/development_tools.rb | 4 | ||||
| -rw-r--r-- | Library/Homebrew/extend/os/mac/development_tools.rb | 9 | ||||
| -rw-r--r-- | Library/Homebrew/extend/os/mac/requirements/java_requirement.rb | 4 | ||||
| -rw-r--r-- | Library/Homebrew/manpages/brew.1.md.erb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/accessibility_spec.rb (renamed from Library/Homebrew/cask/spec/cask/accessibility_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/artifact/alt_target_spec.rb (renamed from Library/Homebrew/cask/spec/cask/artifact/alt_target_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/artifact/app_spec.rb (renamed from Library/Homebrew/cask/spec/cask/artifact/app_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/artifact/binary_spec.rb (renamed from Library/Homebrew/cask/spec/cask/artifact/binary_spec.rb) | 2 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/artifact/generic_artifact_spec.rb (renamed from Library/Homebrew/cask/spec/cask/artifact/generic_artifact_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/artifact/nested_container_spec.rb (renamed from Library/Homebrew/cask/spec/cask/artifact/nested_container_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/artifact/pkg_spec.rb (renamed from Library/Homebrew/cask/spec/cask/artifact/pkg_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/artifact/postflight_block_spec.rb (renamed from Library/Homebrew/cask/spec/cask/artifact/postflight_block_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/artifact/preflight_block_spec.rb (renamed from Library/Homebrew/cask/spec/cask/artifact/preflight_block_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/artifact/suite_spec.rb (renamed from Library/Homebrew/cask/spec/cask/artifact/suite_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/artifact/two_apps_correct_spec.rb (renamed from Library/Homebrew/cask/spec/cask/artifact/two_apps_correct_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/artifact/two_apps_incorrect_spec.rb (renamed from Library/Homebrew/cask/spec/cask/artifact/two_apps_incorrect_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/artifact/uninstall_no_zap_spec.rb (renamed from Library/Homebrew/cask/spec/cask/artifact/uninstall_no_zap_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/artifact/uninstall_spec.rb (renamed from Library/Homebrew/cask/spec/cask/artifact/uninstall_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/artifact/zap_spec.rb (renamed from Library/Homebrew/cask/spec/cask/artifact/zap_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/audit_spec.rb (renamed from Library/Homebrew/cask/spec/cask/audit_spec.rb) | 2 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/cask_spec.rb (renamed from Library/Homebrew/cask/spec/cask/cask_spec.rb) | 2 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/cli/audit_spec.rb (renamed from Library/Homebrew/cask/spec/cask/cli/audit_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/cli/cat_spec.rb (renamed from Library/Homebrew/cask/spec/cask/cli/cat_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/cli/cleanup_spec.rb (renamed from Library/Homebrew/cask/spec/cask/cli/cleanup_spec.rb) | 2 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/cli/create_spec.rb (renamed from Library/Homebrew/cask/spec/cask/cli/create_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/cli/doctor_spec.rb (renamed from Library/Homebrew/cask/spec/cask/cli/doctor_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/cli/edit_spec.rb (renamed from Library/Homebrew/cask/spec/cask/cli/edit_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/cli/fetch_spec.rb (renamed from Library/Homebrew/cask/spec/cask/cli/fetch_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/cli/home_spec.rb (renamed from Library/Homebrew/cask/spec/cask/cli/home_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/cli/info_spec.rb (renamed from Library/Homebrew/cask/spec/cask/cli/info_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/cli/install_spec.rb (renamed from Library/Homebrew/cask/spec/cask/cli/install_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/cli/list_spec.rb (renamed from Library/Homebrew/cask/spec/cask/cli/list_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/cli/options_spec.rb (renamed from Library/Homebrew/cask/spec/cask/cli/options_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/cli/reinstall_spec.rb (renamed from Library/Homebrew/cask/spec/cask/cli/reinstall_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/cli/search_spec.rb (renamed from Library/Homebrew/cask/spec/cask/cli/search_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/cli/style_spec.rb (renamed from Library/Homebrew/cask/spec/cask/cli/style_spec.rb) | 2 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/cli/uninstall_spec.rb (renamed from Library/Homebrew/cask/spec/cask/cli/uninstall_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/cli/version_spec.rb (renamed from Library/Homebrew/cask/spec/cask/cli/version_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/cli/zap_spec.rb (renamed from Library/Homebrew/cask/spec/cask/cli/zap_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/cli_spec.rb (renamed from Library/Homebrew/cask/spec/cask/cli_spec.rb) | 2 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/container/dmg_spec.rb (renamed from Library/Homebrew/cask/spec/cask/container/dmg_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/container/naked_spec.rb (renamed from Library/Homebrew/cask/spec/cask/container/naked_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/depends_on_spec.rb (renamed from Library/Homebrew/cask/spec/cask/depends_on_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/download_strategy_spec.rb (renamed from Library/Homebrew/cask/spec/cask/download_strategy_spec.rb) | 2 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/dsl/caveats_spec.rb (renamed from Library/Homebrew/cask/spec/cask/dsl/caveats_spec.rb) | 3 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/dsl/postflight_spec.rb (renamed from Library/Homebrew/cask/spec/cask/dsl/postflight_spec.rb) | 3 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/dsl/preflight_spec.rb (renamed from Library/Homebrew/cask/spec/cask/dsl/preflight_spec.rb) | 3 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/dsl/stanza_proxy_spec.rb (renamed from Library/Homebrew/cask/spec/cask/dsl/stanza_proxy_spec.rb) | 2 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/dsl/uninstall_postflight_spec.rb (renamed from Library/Homebrew/cask/spec/cask/dsl/uninstall_postflight_spec.rb) | 3 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/dsl/uninstall_preflight_spec.rb (renamed from Library/Homebrew/cask/spec/cask/dsl/uninstall_preflight_spec.rb) | 3 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/dsl/version_spec.rb (renamed from Library/Homebrew/cask/spec/cask/dsl/version_spec.rb) | 2 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/dsl_spec.rb (renamed from Library/Homebrew/cask/spec/cask/dsl_spec.rb) | 6 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/installer_spec.rb (renamed from Library/Homebrew/cask/spec/cask/installer_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/macos_spec.rb (renamed from Library/Homebrew/cask/spec/cask/macos_spec.rb) | 2 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/pkg_spec.rb (renamed from Library/Homebrew/cask/spec/cask/pkg_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/scopes_spec.rb (renamed from Library/Homebrew/cask/spec/cask/scopes_spec.rb) | 2 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/staged_spec.rb (renamed from Library/Homebrew/cask/spec/cask/staged_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/system_command_result_spec.rb (renamed from Library/Homebrew/cask/spec/cask/system_command_result_spec.rb) | 2 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/system_command_spec.rb (renamed from Library/Homebrew/cask/spec/cask/system_command_spec.rb) | 2 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/underscore_supporting_uri_spec.rb (renamed from Library/Homebrew/cask/spec/cask/underscore_supporting_uri_spec.rb) | 2 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/url_checker_spec.rb (renamed from Library/Homebrew/cask/spec/cask/url_checker_spec.rb) | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/verify/checksum_spec.rb (renamed from Library/Homebrew/cask/spec/cask/verify/checksum_spec.rb) | 2 | ||||
| -rw-r--r-- | Library/Homebrew/test/cask/verify_spec.rb (renamed from Library/Homebrew/cask/spec/cask/verify_spec.rb) | 2 | ||||
| -rw-r--r-- | Library/Homebrew/test/cmd/cask_spec.rb | 4 | ||||
| -rw-r--r-- | Library/Homebrew/test/spec_helper.rb | 7 | ||||
| -rw-r--r-- | Library/Homebrew/test/support/helper/cask/fake_system_command.rb (renamed from Library/Homebrew/cask/spec/support/fake_system_command.rb) | 0 | ||||
| -rw-r--r-- | Library/Homebrew/test/support/helper/cask/install_helper.rb (renamed from Library/Homebrew/cask/spec/support/install_helper.rb) | 0 | ||||
| -rw-r--r-- | Library/Homebrew/test/support/helper/cask/never_sudo_system_command.rb (renamed from Library/Homebrew/cask/spec/support/never_sudo_system_command.rb) | 0 | ||||
| -rw-r--r-- | Library/Homebrew/test/support/helper/spec/shared_context/homebrew_cask.rb (renamed from Library/Homebrew/cask/spec/spec_helper.rb) | 29 | ||||
| -rw-r--r-- | Library/Homebrew/test/tap_spec.rb | 4 | ||||
| -rw-r--r-- | Library/Homebrew/utils.rb | 2 | ||||
| -rw-r--r-- | docs/Analytics.md | 2 | ||||
| -rw-r--r-- | docs/Brew-Test-Bot.md | 12 | ||||
| -rw-r--r-- | docs/New-Maintainer-Checklist.md | 1 | ||||
| -rw-r--r-- | docs/_config.yml | 5 | ||||
| -rw-r--r-- | docs/_layouts/base.html | 102 | ||||
| -rw-r--r-- | docs/_layouts/home.html | 6 | ||||
| -rw-r--r-- | docs/_layouts/index.html | 147 | ||||
| -rw-r--r-- | docs/_layouts/page.html | 6 | ||||
| -rw-r--r-- | docs/_layouts/post.html | 11 | ||||
| -rw-r--r-- | docs/brew.1.html | 61 | ||||
| -rw-r--r-- | docs/css/pygments.css | 59 | ||||
| -rw-r--r-- | docs/css/reset.css | 53 | ||||
| -rw-r--r-- | docs/css/screen.css | 358 | ||||
| l--------- | docs/favicon.ico | 1 | ||||
| -rw-r--r-- | docs/img/apple-touch-icon-114x114-precomposed.png | bin | 0 -> 9328 bytes | |||
| -rw-r--r-- | docs/img/apple-touch-icon-120x120-precomposed.png | bin | 0 -> 10045 bytes | |||
| -rw-r--r-- | docs/img/apple-touch-icon-144x144-precomposed.png | bin | 0 -> 12248 bytes | |||
| -rw-r--r-- | docs/img/apple-touch-icon-152x152-precomposed.png | bin | 0 -> 12942 bytes | |||
| -rw-r--r-- | docs/img/apple-touch-icon-180x180-precomposed.png | bin | 0 -> 15557 bytes | |||
| -rw-r--r-- | docs/img/apple-touch-icon-57x57-precomposed.png | bin | 0 -> 4647 bytes | |||
| -rw-r--r-- | docs/img/apple-touch-icon-72x72-precomposed.png | bin | 0 -> 5914 bytes | |||
| -rw-r--r-- | docs/img/apple-touch-icon-76x76-precomposed.png | bin | 0 -> 6246 bytes | |||
| -rw-r--r-- | docs/img/docs/analytics.png (renamed from docs/images/analytics.png) | bin | 47698 -> 47698 bytes | |||
| -rw-r--r-- | docs/img/docs/brew-test-bot-failed-jenkins.png (renamed from docs/images/brew-test-bot-failed-jenkins.png) | bin | 54685 -> 54685 bytes | |||
| -rw-r--r-- | docs/img/docs/brew-test-bot-failed-pr.png (renamed from docs/images/brew-test-bot-failed-pr.png) | bin | 20086 -> 20086 bytes | |||
| -rw-r--r-- | docs/img/docs/brew-test-bot-failed-test.png (renamed from docs/images/brew-test-bot-failed-test.png) | bin | 61395 -> 61395 bytes | |||
| -rw-r--r-- | docs/img/docs/brew-test-bot-passed-jenkins.png (renamed from docs/images/brew-test-bot-passed-jenkins.png) | bin | 48217 -> 48217 bytes | |||
| -rw-r--r-- | docs/img/docs/brew-test-bot-passed-pr.png (renamed from docs/images/brew-test-bot-passed-pr.png) | bin | 22722 -> 22722 bytes | |||
| -rw-r--r-- | docs/img/docs/brew-test-bot-triggered-pr.png (renamed from docs/images/brew-test-bot-triggered-pr.png) | bin | 19931 -> 19931 bytes | |||
| -rw-r--r-- | docs/img/favicon-16x16.png | bin | 0 -> 44048 bytes | |||
| -rw-r--r-- | docs/img/favicon-192x192.png | bin | 0 -> 16712 bytes | |||
| -rw-r--r-- | docs/img/favicon-32x32.png | bin | 0 -> 44048 bytes | |||
| -rw-r--r-- | docs/img/favicon-96x96.png | bin | 0 -> 44048 bytes | |||
| -rw-r--r-- | docs/img/favicon.ico | bin | 0 -> 5430 bytes | |||
| -rw-r--r-- | docs/img/homebrew-256x256.png | bin | 0 -> 23281 bytes | |||
| -rw-r--r-- | manpages/brew.1 | 62 |
123 files changed, 1041 insertions, 344 deletions
diff --git a/Library/Homebrew/.simplecov b/Library/Homebrew/.simplecov index f74aec72e..23e60faeb 100755 --- a/Library/Homebrew/.simplecov +++ b/Library/Homebrew/.simplecov @@ -11,14 +11,14 @@ SimpleCov.start do # tests to be dropped. This causes random fluctuations in test coverage. merge_timeout 86400 - add_filter "/Homebrew/cask/spec/" - add_filter "/Homebrew/cask/test/" add_filter "/Homebrew/compat/" + add_filter "/Homebrew/dev-cmd/tests.rb" add_filter "/Homebrew/test/" add_filter "/Homebrew/vendor/" if ENV["HOMEBREW_INTEGRATION_TEST"] command_name "#{ENV["HOMEBREW_INTEGRATION_TEST"]} (#{$PROCESS_ID})" + at_exit do exit_code = $ERROR_INFO.nil? ? 0 : $ERROR_INFO.status $stdout.reopen("/dev/null") diff --git a/Library/Homebrew/brew.rb b/Library/Homebrew/brew.rb index ba43e65c4..aa38b54f4 100644 --- a/Library/Homebrew/brew.rb +++ b/Library/Homebrew/brew.rb @@ -53,9 +53,6 @@ begin ENV["PATH"] += "#{File::PATH_SEPARATOR}#{tap_cmd_dir}" end - # Add cask commands to PATH. - ENV["PATH"] += "#{File::PATH_SEPARATOR}#{HOMEBREW_LIBRARY}/Homebrew/cask/cmd" - # Add SCM wrappers. ENV["PATH"] += "#{File::PATH_SEPARATOR}#{HOMEBREW_SHIMS_PATH}/scm" diff --git a/Library/Homebrew/cask/.simplecov b/Library/Homebrew/cask/.simplecov deleted file mode 120000 index 75a078be4..000000000 --- a/Library/Homebrew/cask/.simplecov +++ /dev/null @@ -1 +0,0 @@ -../.simplecov
\ No newline at end of file diff --git a/Library/Homebrew/cask/Gemfile b/Library/Homebrew/cask/Gemfile deleted file mode 100644 index bc9bccfbc..000000000 --- a/Library/Homebrew/cask/Gemfile +++ /dev/null @@ -1,11 +0,0 @@ -source "https://rubygems.org" - -gem "parallel_tests" -gem "rspec" -gem "rspec-its", require: false -gem "rspec-wait", require: false - -group :coverage do - gem "simplecov", require: false - gem "codecov", require: false -end diff --git a/Library/Homebrew/cask/Gemfile.lock b/Library/Homebrew/cask/Gemfile.lock deleted file mode 100644 index 64561be71..000000000 --- a/Library/Homebrew/cask/Gemfile.lock +++ /dev/null @@ -1,51 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - codecov (0.1.9) - json - simplecov - url - diff-lcs (1.3) - docile (1.1.5) - json (2.0.3) - parallel (1.10.0) - parallel_tests (2.13.0) - parallel - rspec (3.5.0) - rspec-core (~> 3.5.0) - rspec-expectations (~> 3.5.0) - rspec-mocks (~> 3.5.0) - rspec-core (3.5.4) - rspec-support (~> 3.5.0) - rspec-expectations (3.5.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.5.0) - rspec-its (1.2.0) - rspec-core (>= 3.0.0) - rspec-expectations (>= 3.0.0) - rspec-mocks (3.5.0) - diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.5.0) - rspec-support (3.5.0) - rspec-wait (0.0.9) - rspec (>= 3, < 4) - simplecov (0.13.0) - docile (~> 1.1.0) - json (>= 1.8, < 3) - simplecov-html (~> 0.10.0) - simplecov-html (0.10.0) - url (0.3.2) - -PLATFORMS - ruby - -DEPENDENCIES - codecov - parallel_tests - rspec - rspec-its - rspec-wait - simplecov - -BUNDLED WITH - 1.14.5 diff --git a/Library/Homebrew/cask/cmd/brew-cask-tests.rb b/Library/Homebrew/cask/cmd/brew-cask-tests.rb deleted file mode 100755 index b27bc2fe7..000000000 --- a/Library/Homebrew/cask/cmd/brew-cask-tests.rb +++ /dev/null @@ -1,45 +0,0 @@ -require "English" - -ENV["BUNDLE_GEMFILE"] = "#{HOMEBREW_LIBRARY_PATH}/cask/Gemfile" -ENV["BUNDLE_PATH"] = "#{HOMEBREW_LIBRARY_PATH}/vendor/bundle" - -def run_tests(executable, files, args = []) - opts = [] - opts << "--serialize-stdout" if ENV["CI"] - - system "bundle", "exec", executable, *opts, "--", *args, "--", *files -end - -cask_root = Pathname.new(__FILE__).realpath.parent.parent -cask_root.cd do - ENV["HOMEBREW_NO_ANALYTICS_THIS_RUN"] = "1" - ENV["HOMEBREW_NO_EMOJI"] = "1" - ENV.delete("HOMEBREW_CASK_OPTS") - - Homebrew.install_gem_setup_path! "bundler" - unless quiet_system("bundle", "check") - system "bundle", "install" - end - - if ARGV.flag?("--coverage") - ENV["HOMEBREW_TESTS_COVERAGE"] = "1" - upload_coverage = ENV["CODECOV_TOKEN"] || ENV["TRAVIS"] - end - - run_tests "parallel_rspec", Dir["spec/**/*_spec.rb"], %w[ - --color - --require spec_helper - --format progress - --format ParallelTests::RSpec::RuntimeLogger - --out tmp/parallel_runtime_rspec.log - ] - - unless $CHILD_STATUS.success? - Homebrew.failed = true - end - - if upload_coverage - puts "Submitting Codecov coverage..." - system "bundle", "exec", "spec/upload_coverage.rb" - end -end diff --git a/Library/Homebrew/cask/cmd/brew-cask.rb b/Library/Homebrew/cask/cmd/brew-cask.rb deleted file mode 100755 index 825c4cb81..000000000 --- a/Library/Homebrew/cask/cmd/brew-cask.rb +++ /dev/null @@ -1,12 +0,0 @@ -require "pathname" - -$LOAD_PATH.unshift(File.expand_path("../../lib", Pathname.new(__FILE__).realpath)) - -require "hbc" - -begin - Hbc::CLI.process(ARGV) -rescue Interrupt - puts - exit 130 -end diff --git a/Library/Homebrew/cask/lib/hbc/cli/style.rb b/Library/Homebrew/cask/lib/hbc/cli/style.rb index d3e44382d..a64a1dbe7 100644 --- a/Library/Homebrew/cask/lib/hbc/cli/style.rb +++ b/Library/Homebrew/cask/lib/hbc/cli/style.rb @@ -54,9 +54,9 @@ module Hbc def default_args [ "--require", "rubocop-cask", - "--config", "/dev/null", # always use `rubocop-cask` default config - "--format", "simple", - "--force-exclusion" + "--force-default-config", + "--force-exclusion", + "--format", "simple" ] end diff --git a/Library/Homebrew/cask/spec/upload_coverage.rb b/Library/Homebrew/cask/spec/upload_coverage.rb deleted file mode 100755 index 06d38157d..000000000 --- a/Library/Homebrew/cask/spec/upload_coverage.rb +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env ruby -require "simplecov" -require "codecov" - -formatter = SimpleCov::Formatter::Codecov.new -formatter.format SimpleCov::ResultMerger.merged_result diff --git a/Library/Homebrew/cmd/cask.rb b/Library/Homebrew/cmd/cask.rb new file mode 100644 index 000000000..8a68b8d9a --- /dev/null +++ b/Library/Homebrew/cmd/cask.rb @@ -0,0 +1,10 @@ +$LOAD_PATH.unshift("#{HOMEBREW_LIBRARY_PATH}/cask/lib") +require "hbc" + +module Homebrew + module_function + + def cask + Hbc::CLI.process(ARGV) + end +end diff --git a/Library/Homebrew/cmd/install.rb b/Library/Homebrew/cmd/install.rb index 5a3aeb7b3..c825e2796 100644 --- a/Library/Homebrew/cmd/install.rb +++ b/Library/Homebrew/cmd/install.rb @@ -1,4 +1,4 @@ -#: * `install` [`--debug`] [`--env=`<std>|<super>] [`--ignore-dependencies`] [`--only-dependencies`] [`--cc=`<compiler>] [`--build-from-source`] [`--devel`|`--HEAD`] [`--keep-tmp`] <formula>: +#: * `install` [`--debug`] [`--env=`(`std`|`super`)] [`--ignore-dependencies`|`--only-dependencies`] [`--cc=`<compiler>] [`--build-from-source`|`--force-bottle`] [`--devel`|`--HEAD`] [`--keep-tmp`] [`--build-bottle`] <formula>: #: Install <formula>. #: #: <formula> is usually the name of the formula to install, but it can be specified @@ -44,6 +44,9 @@ #: If `--keep-tmp` is passed, the temporary files created during installation #: are not deleted. #: +#: If `--build-bottle` is passed, prepare the formula for eventual bottling +#: during installation. +#: #: * `install` `--interactive` [`--git`] <formula>: #: Download and patch <formula>, then open a shell. This allows the user to #: run `./configure --help` and otherwise determine how to turn the software diff --git a/Library/Homebrew/cmd/sh.rb b/Library/Homebrew/cmd/sh.rb index 09e7f435e..249753355 100644 --- a/Library/Homebrew/cmd/sh.rb +++ b/Library/Homebrew/cmd/sh.rb @@ -1,9 +1,11 @@ #: * `sh` [`--env=std`]: -#: Instantiate a Homebrew build environment. Uses our years-battle-hardened +#: Start a Homebrew build environment shell. Uses our years-battle-hardened #: Homebrew build logic to help your `./configure && make && make install` #: or even your `gem install` succeed. Especially handy if you run Homebrew #: in an Xcode-only configuration since it adds tools like `make` to your `PATH` -#: which otherwise build-systems would not find. +#: which otherwise build systems would not find. +#: +#: If `--env=std` is passed, use the standard `PATH` instead of superenv's. require "extend/ENV" require "formula" @@ -20,13 +22,13 @@ module Homebrew end ENV.setup_build_environment if superenv? - # superenv stopped adding brew's bin but generally user's will want it + # superenv stopped adding brew's bin but generally users will want it ENV["PATH"] = ENV["PATH"].split(File::PATH_SEPARATOR).insert(1, "#{HOMEBREW_PREFIX}/bin").join(File::PATH_SEPARATOR) end ENV["PS1"] = 'brew \[\033[1;32m\]\w\[\033[0m\]$ ' ENV["VERBOSE"] = "1" puts <<-EOS.undent_________________________________________________________72 - Your shell has been configured to use Homebrew's build environment: + Your shell has been configured to use Homebrew's build environment; this should help you build stuff. Notably though, the system versions of gem and pip will ignore our configuration and insist on using the environment they were built under (mostly). Sadly, scons will also diff --git a/Library/Homebrew/dev-cmd/audit.rb b/Library/Homebrew/dev-cmd/audit.rb index 90dd03c1c..457df5fc7 100644 --- a/Library/Homebrew/dev-cmd/audit.rb +++ b/Library/Homebrew/dev-cmd/audit.rb @@ -519,14 +519,6 @@ class FormulaAuditor end def audit_conflicts - if formula.conflicts.any? && formula.versioned_formula? - problem <<-EOS - Versioned formulae should not use `conflicts_with`. - Use `keg_only :versioned_formula` instead. - EOS - return - end - formula.conflicts.each do |c| begin Formulary.factory(c.name) @@ -539,6 +531,15 @@ class FormulaAuditor problem "Ambiguous conflicting formula #{c.name.inspect}." end end + + versioned_conflicts_whitelist = %w[node@ bash-completion@].freeze + + return unless formula.conflicts.any? && formula.versioned_formula? + return if formula.name.start_with?(*versioned_conflicts_whitelist) + problem <<-EOS + Versioned formulae should not use `conflicts_with`. + Use `keg_only :versioned_formula` instead. + EOS end def audit_options @@ -680,8 +681,6 @@ class FormulaAuditor return unless @online - # The system Curl is too old and unreliable with HTTPS homepages on - # Yosemite and below. return unless DevelopmentTools.curl_handles_most_https_homepages? if http_content_problem = FormulaAuditor.check_http_content(homepage, user_agents: [:browser, :default]) @@ -1574,6 +1573,7 @@ class ResourceAuditor problem "The URL #{url} is not a valid git URL" end elsif strategy <= SubversionDownloadStrategy + next unless DevelopmentTools.subversion_handles_most_https_certificates? unless Utils.svn_remote_exists url problem "The URL #{url} is not a valid svn URL" end diff --git a/Library/Homebrew/dev-cmd/bottle.rb b/Library/Homebrew/dev-cmd/bottle.rb index 91bdcba93..619986f76 100644 --- a/Library/Homebrew/dev-cmd/bottle.rb +++ b/Library/Homebrew/dev-cmd/bottle.rb @@ -1,7 +1,29 @@ -#: * `bottle` [`--verbose`] [`--no-rebuild`] [`--keep-old`] [`--skip-relocation`] [`--root-url=`<URL>] [`--force-core-tap`]: -#: * `bottle` `--merge` [`--no-commit`] [`--keep-old`] [`--write`]: +#: * `bottle` [`--verbose`] [`--no-rebuild`|`--keep-old`] [`--skip-relocation`] [`--root-url=`<URL>] [`--force-core-tap`] <formulae>: #: Generate a bottle (binary package) from a formula installed with #: `--build-bottle`. +#: +#: If the formula specifies a rebuild version, it will be incremented in the +#: generated DSL. Passing `--keep-old` will attempt to keep it at its +#: original value, while `--no-rebuild` will remove it. +#: +#: If `--verbose` is passed, print the bottling commands and any warnings +#: encountered. +#: +#: If `--skip-relocation` is passed, do not check if the bottle can be marked +#: as relocatable. +#: +#: If `--root-url` is passed, use the specified <URL> as the root of the +#: bottle's URL instead of Homebrew's default. +#: +#: If `--force-core-tap` is passed, build a bottle even if <formula> is not +#: in homebrew/core or any installed taps. +#: +#: * `bottle` `--merge` [`--keep-old`] [`--write` [`--no-commit`]] <formulae>: +#: Generate a bottle from a formula and print the new DSL merged into the +#: existing formula. +#: +#: If `--write` is passed, write the changes to the formula file. A new +#: commit will then be generated unless `--no-commit` is passed. require "formula" require "utils/bottles" diff --git a/Library/Homebrew/dev-cmd/tests.rb b/Library/Homebrew/dev-cmd/tests.rb index 7d6ec51c9..4f7f9e771 100644 --- a/Library/Homebrew/dev-cmd/tests.rb +++ b/Library/Homebrew/dev-cmd/tests.rb @@ -1,5 +1,21 @@ -#: * `tests` [`-v`] [`--coverage`] [`--generic`] [`--no-compat`] [`--only=`<test_script>`:`<line_number>] [`--seed` <seed>] [`--online`] [`--official-cmd-taps`]: -#: Run Homebrew's unit and integration tests. +#: * `tests` [`--verbose`] [`--coverage`] [`--generic`] [`--no-compat`] [`--only=`<test_script>[`:`<line_number>]] [`--seed` <seed>] [`--online`] [`--official-cmd-taps`]: +#: Run Homebrew's unit and integration tests. If provided, +#: `--only=`<test_script> runs only <test_script>_spec.rb, and `--seed` +#: randomizes tests with the provided value instead of a random seed. +#: +#: If `--verbose` is passed, print the command that runs the tests. +#: +#: If `--coverage` is passed, also generate code coverage reports. +#: +#: If `--generic` is passed, only run OS-agnostic tests. +#: +#: If `--no-compat` is passed, do not load the compatibility layer when +#: running tests. +#: +#: If `--online` is passed, include tests that use the GitHub API. +#: +#: If `--official-cmd-taps` is passed, include tests that use any of the +#: taps for official external commands. require "fileutils" require "tap" @@ -28,7 +44,6 @@ module Homebrew end ENV["BUNDLE_GEMFILE"] = "#{HOMEBREW_LIBRARY_PATH}/test/Gemfile" - ENV["BUNDLE_PATH"] = "#{HOMEBREW_LIBRARY_PATH}/vendor/bundle" # Override author/committer as global settings might be invalid and thus # will cause silent failure during the setup of dummy Git repositories. diff --git a/Library/Homebrew/dev-cmd/update-test.rb b/Library/Homebrew/dev-cmd/update-test.rb index 9704426dd..2ff168669 100644 --- a/Library/Homebrew/dev-cmd/update-test.rb +++ b/Library/Homebrew/dev-cmd/update-test.rb @@ -1,4 +1,4 @@ -#: * `update-test` [`--commit=`<commit>] [`--before=`<date>] [`--keep-tmp`]: +#: * `update-test` [`--commit=`<commit>] [`--before=`<date>] [`--to-tag`] [`--keep-tmp`]: #: Runs a test of `brew update` with a new repository clone. #: #: If no arguments are passed, use `origin/master` as the start commit. diff --git a/Library/Homebrew/development_tools.rb b/Library/Homebrew/development_tools.rb index 625d5ea86..8f417b082 100644 --- a/Library/Homebrew/development_tools.rb +++ b/Library/Homebrew/development_tools.rb @@ -117,6 +117,10 @@ class DevelopmentTools def curl_handles_most_https_homepages? true end + + def subversion_handles_most_https_certificates? + true + end end end diff --git a/Library/Homebrew/extend/os/mac/development_tools.rb b/Library/Homebrew/extend/os/mac/development_tools.rb index 1bb12a3d1..f54c6b8a3 100644 --- a/Library/Homebrew/extend/os/mac/development_tools.rb +++ b/Library/Homebrew/extend/os/mac/development_tools.rb @@ -78,8 +78,15 @@ class DevelopmentTools end def curl_handles_most_https_homepages? - # The system Curl is too old for some modern HTTPS homepages on Yosemite. + # The system Curl is too old for some modern HTTPS homepages on + # older macOS versions. MacOS.version >= :el_capitan end + + def subversion_handles_most_https_certificates? + # The system Subversion is too old for some HTTPS certificates on + # older macOS versions. + MacOS.version >= :sierra + end end end diff --git a/Library/Homebrew/extend/os/mac/requirements/java_requirement.rb b/Library/Homebrew/extend/os/mac/requirements/java_requirement.rb index 5f989bb56..da2dffba0 100644 --- a/Library/Homebrew/extend/os/mac/requirements/java_requirement.rb +++ b/Library/Homebrew/extend/os/mac/requirements/java_requirement.rb @@ -12,7 +12,9 @@ class JavaRequirement < Requirement javas = [] javas << Pathname.new(ENV["JAVA_HOME"])/"bin/java" if ENV["JAVA_HOME"] javas << java_home_cmd - javas << which("java") + which_java = which("java") + # /usr/bin/java is a stub on macOS + javas << which_java if which_java.to_s != "/usr/bin/java" javas end diff --git a/Library/Homebrew/manpages/brew.1.md.erb b/Library/Homebrew/manpages/brew.1.md.erb index 05fc1cb23..5b0228e3f 100644 --- a/Library/Homebrew/manpages/brew.1.md.erb +++ b/Library/Homebrew/manpages/brew.1.md.erb @@ -65,7 +65,7 @@ With `--verbose` or `-v`, many commands print extra debugging information. Note <https://github.com/caskroom/homebrew-cask> * `services`: - Integrates Homebrew formulae with macOS's `launchctl` manager: + Integrates Homebrew formulae with macOS's `launchctl`(1) manager: <https://github.com/Homebrew/homebrew-services> ## CUSTOM EXTERNAL COMMANDS diff --git a/Library/Homebrew/cask/spec/cask/accessibility_spec.rb b/Library/Homebrew/test/cask/accessibility_spec.rb index 71bebfa4b..4ac757e69 100644 --- a/Library/Homebrew/cask/spec/cask/accessibility_spec.rb +++ b/Library/Homebrew/test/cask/accessibility_spec.rb @@ -1,8 +1,6 @@ -require "spec_helper" - # TODO: this test should be named after the corresponding class, once # that class is abstracted from installer.rb. -describe "Accessibility Access" do +describe "Accessibility Access", :cask do let(:cask) { Hbc::CaskLoader.load_from_file(TEST_FIXTURE_DIR/"cask/Casks/with-accessibility-access.rb") } let(:fake_system_command) { class_double(Hbc::SystemCommand) } let(:installer) { Hbc::Installer.new(cask, command: fake_system_command) } diff --git a/Library/Homebrew/cask/spec/cask/artifact/alt_target_spec.rb b/Library/Homebrew/test/cask/artifact/alt_target_spec.rb index 9a57a9878..9bcdd27a1 100644 --- a/Library/Homebrew/cask/spec/cask/artifact/alt_target_spec.rb +++ b/Library/Homebrew/test/cask/artifact/alt_target_spec.rb @@ -1,6 +1,4 @@ -require "spec_helper" - -describe Hbc::Artifact::App do +describe Hbc::Artifact::App, :cask do describe "activate to alternate target" do let(:cask) { Hbc::CaskLoader.load_from_file(TEST_FIXTURE_DIR/"cask/Casks/with-alt-target.rb") } diff --git a/Library/Homebrew/cask/spec/cask/artifact/app_spec.rb b/Library/Homebrew/test/cask/artifact/app_spec.rb index b3877f000..bfd2d5cd4 100644 --- a/Library/Homebrew/cask/spec/cask/artifact/app_spec.rb +++ b/Library/Homebrew/test/cask/artifact/app_spec.rb @@ -1,6 +1,4 @@ -require "spec_helper" - -describe Hbc::Artifact::App do +describe Hbc::Artifact::App, :cask do let(:cask) { Hbc::CaskLoader.load_from_file(TEST_FIXTURE_DIR/"cask/Casks/local-caffeine.rb") } let(:command) { Hbc::SystemCommand } let(:force) { false } diff --git a/Library/Homebrew/cask/spec/cask/artifact/binary_spec.rb b/Library/Homebrew/test/cask/artifact/binary_spec.rb index c27dcc8f0..1b26773ca 100644 --- a/Library/Homebrew/cask/spec/cask/artifact/binary_spec.rb +++ b/Library/Homebrew/test/cask/artifact/binary_spec.rb @@ -1,4 +1,4 @@ -describe Hbc::Artifact::Binary do +describe Hbc::Artifact::Binary, :cask do let(:cask) { Hbc::CaskLoader.load_from_file(TEST_FIXTURE_DIR/"cask/Casks/with-binary.rb").tap do |cask| shutup do diff --git a/Library/Homebrew/cask/spec/cask/artifact/generic_artifact_spec.rb b/Library/Homebrew/test/cask/artifact/generic_artifact_spec.rb index 7d9128c0e..b383e2d4e 100644 --- a/Library/Homebrew/cask/spec/cask/artifact/generic_artifact_spec.rb +++ b/Library/Homebrew/test/cask/artifact/generic_artifact_spec.rb @@ -1,6 +1,4 @@ -require "spec_helper" - -describe Hbc::Artifact::Artifact do +describe Hbc::Artifact::Artifact, :cask do let(:cask) { Hbc::CaskLoader.load_from_file(TEST_FIXTURE_DIR/"cask/Casks/with-generic-artifact.rb") } let(:install_phase) { diff --git a/Library/Homebrew/cask/spec/cask/artifact/nested_container_spec.rb b/Library/Homebrew/test/cask/artifact/nested_container_spec.rb index 31a1cb5eb..3e9a549ea 100644 --- a/Library/Homebrew/cask/spec/cask/artifact/nested_container_spec.rb +++ b/Library/Homebrew/test/cask/artifact/nested_container_spec.rb @@ -1,6 +1,4 @@ -require "spec_helper" - -describe Hbc::Artifact::NestedContainer do +describe Hbc::Artifact::NestedContainer, :cask do describe "install" do it "extracts the specified paths as containers" do cask = Hbc::CaskLoader.load_from_file(TEST_FIXTURE_DIR/"cask/Casks/nested-app.rb").tap do |c| diff --git a/Library/Homebrew/cask/spec/cask/artifact/pkg_spec.rb b/Library/Homebrew/test/cask/artifact/pkg_spec.rb index 93ef2ecdf..249439900 100644 --- a/Library/Homebrew/cask/spec/cask/artifact/pkg_spec.rb +++ b/Library/Homebrew/test/cask/artifact/pkg_spec.rb @@ -1,6 +1,4 @@ -require "spec_helper" - -describe Hbc::Artifact::Pkg do +describe Hbc::Artifact::Pkg, :cask do let(:cask) { Hbc::CaskLoader.load_from_file(TEST_FIXTURE_DIR/"cask/Casks/with-installable.rb") } let(:fake_system_command) { class_double(Hbc::SystemCommand) } diff --git a/Library/Homebrew/cask/spec/cask/artifact/postflight_block_spec.rb b/Library/Homebrew/test/cask/artifact/postflight_block_spec.rb index 6f58afb2a..51b1431f0 100644 --- a/Library/Homebrew/cask/spec/cask/artifact/postflight_block_spec.rb +++ b/Library/Homebrew/test/cask/artifact/postflight_block_spec.rb @@ -1,6 +1,4 @@ -require "spec_helper" - -describe Hbc::Artifact::PostflightBlock do +describe Hbc::Artifact::PostflightBlock, :cask do describe "install_phase" do it "calls the specified block after installing, passing a Cask mini-dsl" do called = false diff --git a/Library/Homebrew/cask/spec/cask/artifact/preflight_block_spec.rb b/Library/Homebrew/test/cask/artifact/preflight_block_spec.rb index ac5313bca..b13c4ab9d 100644 --- a/Library/Homebrew/cask/spec/cask/artifact/preflight_block_spec.rb +++ b/Library/Homebrew/test/cask/artifact/preflight_block_spec.rb @@ -1,6 +1,4 @@ -require "spec_helper" - -describe Hbc::Artifact::PreflightBlock do +describe Hbc::Artifact::PreflightBlock, :cask do describe "install_phase" do it "calls the specified block before installing, passing a Cask mini-dsl" do called = false diff --git a/Library/Homebrew/cask/spec/cask/artifact/suite_spec.rb b/Library/Homebrew/test/cask/artifact/suite_spec.rb index 79ca0546c..98ae93311 100644 --- a/Library/Homebrew/cask/spec/cask/artifact/suite_spec.rb +++ b/Library/Homebrew/test/cask/artifact/suite_spec.rb @@ -1,6 +1,4 @@ -require "spec_helper" - -describe Hbc::Artifact::Suite do +describe Hbc::Artifact::Suite, :cask do let(:cask) { Hbc::CaskLoader.load_from_file(TEST_FIXTURE_DIR/"cask/Casks/with-suite.rb") } let(:install_phase) { -> { Hbc::Artifact::Suite.new(cask).install_phase } } diff --git a/Library/Homebrew/cask/spec/cask/artifact/two_apps_correct_spec.rb b/Library/Homebrew/test/cask/artifact/two_apps_correct_spec.rb index 7fa44dbce..9db22b2a3 100644 --- a/Library/Homebrew/cask/spec/cask/artifact/two_apps_correct_spec.rb +++ b/Library/Homebrew/test/cask/artifact/two_apps_correct_spec.rb @@ -1,6 +1,4 @@ -require "spec_helper" - -describe Hbc::Artifact::App do +describe Hbc::Artifact::App, :cask do describe "multiple apps" do let(:cask) { Hbc::CaskLoader.load_from_file(TEST_FIXTURE_DIR/"cask/Casks/with-two-apps-correct.rb") } diff --git a/Library/Homebrew/cask/spec/cask/artifact/two_apps_incorrect_spec.rb b/Library/Homebrew/test/cask/artifact/two_apps_incorrect_spec.rb index 0aa38d910..6427ec32c 100644 --- a/Library/Homebrew/cask/spec/cask/artifact/two_apps_incorrect_spec.rb +++ b/Library/Homebrew/test/cask/artifact/two_apps_incorrect_spec.rb @@ -1,6 +1,4 @@ -require "spec_helper" - -describe Hbc::Artifact::App do +describe Hbc::Artifact::App, :cask do # FIXME: Doesn't actually raise because the `app` stanza is not evaluated on load. # it "must raise" do # lambda { diff --git a/Library/Homebrew/cask/spec/cask/artifact/uninstall_no_zap_spec.rb b/Library/Homebrew/test/cask/artifact/uninstall_no_zap_spec.rb index 3150b50be..f88aaa49d 100644 --- a/Library/Homebrew/cask/spec/cask/artifact/uninstall_no_zap_spec.rb +++ b/Library/Homebrew/test/cask/artifact/uninstall_no_zap_spec.rb @@ -1,6 +1,4 @@ -require "spec_helper" - -describe Hbc::Artifact::Zap do +describe Hbc::Artifact::Zap, :cask do let(:cask) { Hbc::CaskLoader.load_from_file(TEST_FIXTURE_DIR/"cask/Casks/with-installable.rb") } let(:zap_artifact) { diff --git a/Library/Homebrew/cask/spec/cask/artifact/uninstall_spec.rb b/Library/Homebrew/test/cask/artifact/uninstall_spec.rb index 4c09ea302..b7deb4575 100644 --- a/Library/Homebrew/cask/spec/cask/artifact/uninstall_spec.rb +++ b/Library/Homebrew/test/cask/artifact/uninstall_spec.rb @@ -1,6 +1,4 @@ -require "spec_helper" - -describe Hbc::Artifact::Uninstall do +describe Hbc::Artifact::Uninstall, :cask do let(:cask) { Hbc::CaskLoader.load_from_file(TEST_FIXTURE_DIR/"cask/Casks/with-installable.rb") } let(:uninstall_artifact) { diff --git a/Library/Homebrew/cask/spec/cask/artifact/zap_spec.rb b/Library/Homebrew/test/cask/artifact/zap_spec.rb index 47090c99a..fdf2e4f9d 100644 --- a/Library/Homebrew/cask/spec/cask/artifact/zap_spec.rb +++ b/Library/Homebrew/test/cask/artifact/zap_spec.rb @@ -1,7 +1,5 @@ -require "spec_helper" - # TODO: test that zap removes an alternate version of the same Cask -describe Hbc::Artifact::Zap do +describe Hbc::Artifact::Zap, :cask do let(:cask) { Hbc::CaskLoader.load_from_file(TEST_FIXTURE_DIR/"cask/Casks/with-installable.rb") } let(:zap_artifact) { diff --git a/Library/Homebrew/cask/spec/cask/audit_spec.rb b/Library/Homebrew/test/cask/audit_spec.rb index 222294bdc..802807fcb 100644 --- a/Library/Homebrew/cask/spec/cask/audit_spec.rb +++ b/Library/Homebrew/test/cask/audit_spec.rb @@ -1,4 +1,4 @@ -describe Hbc::Audit do +describe Hbc::Audit, :cask do def include_msg?(messages, msg) if msg.is_a?(Regexp) Array(messages).any? { |m| m =~ msg } diff --git a/Library/Homebrew/cask/spec/cask/cask_spec.rb b/Library/Homebrew/test/cask/cask_spec.rb index b926be627..d76f2dce9 100644 --- a/Library/Homebrew/cask/spec/cask/cask_spec.rb +++ b/Library/Homebrew/test/cask/cask_spec.rb @@ -1,4 +1,4 @@ -describe Hbc::Cask do +describe Hbc::Cask, :cask do let(:cask) { described_class.new("versioned-cask") } context "when multiple versions are installed" do diff --git a/Library/Homebrew/cask/spec/cask/cli/audit_spec.rb b/Library/Homebrew/test/cask/cli/audit_spec.rb index b520a88df..2736e60c1 100644 --- a/Library/Homebrew/cask/spec/cask/cli/audit_spec.rb +++ b/Library/Homebrew/test/cask/cli/audit_spec.rb @@ -1,6 +1,4 @@ -require "spec_helper" - -describe Hbc::CLI::Audit do +describe Hbc::CLI::Audit, :cask do let(:auditor) { double } let(:cask) { double } diff --git a/Library/Homebrew/cask/spec/cask/cli/cat_spec.rb b/Library/Homebrew/test/cask/cli/cat_spec.rb index 7517c1b5c..daf6fb960 100644 --- a/Library/Homebrew/cask/spec/cask/cli/cat_spec.rb +++ b/Library/Homebrew/test/cask/cli/cat_spec.rb @@ -1,6 +1,4 @@ -require "spec_helper" - -describe Hbc::CLI::Cat do +describe Hbc::CLI::Cat, :cask do describe "given a basic Cask" do let(:expected_output) { <<-EOS.undent diff --git a/Library/Homebrew/cask/spec/cask/cli/cleanup_spec.rb b/Library/Homebrew/test/cask/cli/cleanup_spec.rb index 2f4028e2a..f8578e80d 100644 --- a/Library/Homebrew/cask/spec/cask/cli/cleanup_spec.rb +++ b/Library/Homebrew/test/cask/cli/cleanup_spec.rb @@ -1,4 +1,4 @@ -describe Hbc::CLI::Cleanup do +describe Hbc::CLI::Cleanup, :cask do let(:cache_location) { Pathname.new(Dir.mktmpdir).realpath } let(:cleanup_outdated) { false } diff --git a/Library/Homebrew/cask/spec/cask/cli/create_spec.rb b/Library/Homebrew/test/cask/cli/create_spec.rb index e3d484d87..21eaeb656 100644 --- a/Library/Homebrew/cask/spec/cask/cli/create_spec.rb +++ b/Library/Homebrew/test/cask/cli/create_spec.rb @@ -1,5 +1,3 @@ -require "spec_helper" - # monkeypatch for testing module Hbc class CLI @@ -19,7 +17,7 @@ module Hbc end end -describe Hbc::CLI::Create do +describe Hbc::CLI::Create, :cask do before(:each) do Hbc::CLI::Create.reset! end diff --git a/Library/Homebrew/cask/spec/cask/cli/doctor_spec.rb b/Library/Homebrew/test/cask/cli/doctor_spec.rb index ff1cf5706..b24c777eb 100644 --- a/Library/Homebrew/cask/spec/cask/cli/doctor_spec.rb +++ b/Library/Homebrew/test/cask/cli/doctor_spec.rb @@ -1,6 +1,4 @@ -require "hbc/version" - -describe Hbc::CLI::Doctor do +describe Hbc::CLI::Doctor, :cask do it "displays some nice info about the environment" do expect { Hbc::CLI::Doctor.run diff --git a/Library/Homebrew/cask/spec/cask/cli/edit_spec.rb b/Library/Homebrew/test/cask/cli/edit_spec.rb index 5ddf27a48..61970290b 100644 --- a/Library/Homebrew/cask/spec/cask/cli/edit_spec.rb +++ b/Library/Homebrew/test/cask/cli/edit_spec.rb @@ -1,5 +1,3 @@ -require "spec_helper" - # monkeypatch for testing module Hbc class CLI @@ -19,7 +17,7 @@ module Hbc end end -describe Hbc::CLI::Edit do +describe Hbc::CLI::Edit, :cask do before(:each) do Hbc::CLI::Edit.reset! end diff --git a/Library/Homebrew/cask/spec/cask/cli/fetch_spec.rb b/Library/Homebrew/test/cask/cli/fetch_spec.rb index bb8133453..1571c2a70 100644 --- a/Library/Homebrew/cask/spec/cask/cli/fetch_spec.rb +++ b/Library/Homebrew/test/cask/cli/fetch_spec.rb @@ -1,6 +1,4 @@ -require "spec_helper" - -describe Hbc::CLI::Fetch do +describe Hbc::CLI::Fetch, :cask do let(:local_transmission) { Hbc::CaskLoader.load_from_file(TEST_FIXTURE_DIR/"cask/Casks/local-transmission.rb") } diff --git a/Library/Homebrew/cask/spec/cask/cli/home_spec.rb b/Library/Homebrew/test/cask/cli/home_spec.rb index a2b49b433..a5359f24f 100644 --- a/Library/Homebrew/cask/spec/cask/cli/home_spec.rb +++ b/Library/Homebrew/test/cask/cli/home_spec.rb @@ -1,5 +1,3 @@ -require "spec_helper" - # monkeypatch for testing module Hbc class CLI @@ -19,7 +17,7 @@ module Hbc end end -describe Hbc::CLI::Home do +describe Hbc::CLI::Home, :cask do before do Hbc::CLI::Home.reset! end diff --git a/Library/Homebrew/cask/spec/cask/cli/info_spec.rb b/Library/Homebrew/test/cask/cli/info_spec.rb index 6977f81c3..2f70a0b96 100644 --- a/Library/Homebrew/cask/spec/cask/cli/info_spec.rb +++ b/Library/Homebrew/test/cask/cli/info_spec.rb @@ -1,6 +1,4 @@ -require "spec_helper" - -describe Hbc::CLI::Info do +describe Hbc::CLI::Info, :cask do it "displays some nice info about the specified Cask" do expect { Hbc::CLI::Info.run("local-caffeine") diff --git a/Library/Homebrew/cask/spec/cask/cli/install_spec.rb b/Library/Homebrew/test/cask/cli/install_spec.rb index 2544eacc8..5a40017e8 100644 --- a/Library/Homebrew/cask/spec/cask/cli/install_spec.rb +++ b/Library/Homebrew/test/cask/cli/install_spec.rb @@ -1,6 +1,4 @@ -require "spec_helper" - -describe Hbc::CLI::Install do +describe Hbc::CLI::Install, :cask do it "allows staging and activation of multiple Casks at once" do shutup do Hbc::CLI::Install.run("local-transmission", "local-caffeine") diff --git a/Library/Homebrew/cask/spec/cask/cli/list_spec.rb b/Library/Homebrew/test/cask/cli/list_spec.rb index 49c06c521..e367e9588 100644 --- a/Library/Homebrew/cask/spec/cask/cli/list_spec.rb +++ b/Library/Homebrew/test/cask/cli/list_spec.rb @@ -1,6 +1,4 @@ -require "spec_helper" - -describe Hbc::CLI::List do +describe Hbc::CLI::List, :cask do it "lists the installed Casks in a pretty fashion" do casks = %w[local-caffeine local-transmission].map { |c| Hbc.load(c) } diff --git a/Library/Homebrew/cask/spec/cask/cli/options_spec.rb b/Library/Homebrew/test/cask/cli/options_spec.rb index a4381213a..86933e27e 100644 --- a/Library/Homebrew/cask/spec/cask/cli/options_spec.rb +++ b/Library/Homebrew/test/cask/cli/options_spec.rb @@ -1,6 +1,4 @@ -require "spec_helper" - -describe Hbc::CLI do +describe Hbc::CLI, :cask do it "supports setting the appdir" do Hbc::CLI.process_options %w[help --appdir=/some/path/foo] diff --git a/Library/Homebrew/cask/spec/cask/cli/reinstall_spec.rb b/Library/Homebrew/test/cask/cli/reinstall_spec.rb index df83c53e2..e573a3470 100644 --- a/Library/Homebrew/cask/spec/cask/cli/reinstall_spec.rb +++ b/Library/Homebrew/test/cask/cli/reinstall_spec.rb @@ -1,6 +1,4 @@ -require "spec_helper" - -describe Hbc::CLI::Reinstall do +describe Hbc::CLI::Reinstall, :cask do it "allows reinstalling a Cask" do shutup do Hbc::CLI::Install.run("local-transmission") diff --git a/Library/Homebrew/cask/spec/cask/cli/search_spec.rb b/Library/Homebrew/test/cask/cli/search_spec.rb index b05d3fbde..0bcff809a 100644 --- a/Library/Homebrew/cask/spec/cask/cli/search_spec.rb +++ b/Library/Homebrew/test/cask/cli/search_spec.rb @@ -1,6 +1,4 @@ -require "spec_helper" - -describe Hbc::CLI::Search do +describe Hbc::CLI::Search, :cask do it "lists the available Casks that match the search term" do expect { Hbc::CLI::Search.run("local") diff --git a/Library/Homebrew/cask/spec/cask/cli/style_spec.rb b/Library/Homebrew/test/cask/cli/style_spec.rb index 106bfbb44..3f2ec91e2 100644 --- a/Library/Homebrew/cask/spec/cask/cli/style_spec.rb +++ b/Library/Homebrew/test/cask/cli/style_spec.rb @@ -2,7 +2,7 @@ require "English" require "open3" require "rubygems" -describe Hbc::CLI::Style do +describe Hbc::CLI::Style, :cask do let(:args) { [] } let(:cli) { described_class.new(args) } diff --git a/Library/Homebrew/cask/spec/cask/cli/uninstall_spec.rb b/Library/Homebrew/test/cask/cli/uninstall_spec.rb index f451af277..cbfb3e237 100644 --- a/Library/Homebrew/cask/spec/cask/cli/uninstall_spec.rb +++ b/Library/Homebrew/test/cask/cli/uninstall_spec.rb @@ -1,6 +1,4 @@ -require "spec_helper" - -describe Hbc::CLI::Uninstall do +describe Hbc::CLI::Uninstall, :cask do it "shows an error when a bad Cask is provided" do expect { Hbc::CLI::Uninstall.run("notacask") diff --git a/Library/Homebrew/cask/spec/cask/cli/version_spec.rb b/Library/Homebrew/test/cask/cli/version_spec.rb index e6fcf4850..2091496fc 100644 --- a/Library/Homebrew/cask/spec/cask/cli/version_spec.rb +++ b/Library/Homebrew/test/cask/cli/version_spec.rb @@ -1,6 +1,4 @@ -require "spec_helper" - -describe "brew cask --version" do +describe "brew cask --version", :cask do it "respects the --version argument" do expect { expect { diff --git a/Library/Homebrew/cask/spec/cask/cli/zap_spec.rb b/Library/Homebrew/test/cask/cli/zap_spec.rb index d26114567..0f3d024b5 100644 --- a/Library/Homebrew/cask/spec/cask/cli/zap_spec.rb +++ b/Library/Homebrew/test/cask/cli/zap_spec.rb @@ -1,6 +1,4 @@ -require "spec_helper" - -describe Hbc::CLI::Zap do +describe Hbc::CLI::Zap, :cask do it "shows an error when a bad Cask is provided" do expect { Hbc::CLI::Zap.run("notacask") diff --git a/Library/Homebrew/cask/spec/cask/cli_spec.rb b/Library/Homebrew/test/cask/cli_spec.rb index 6b2313a41..1ad6790a3 100644 --- a/Library/Homebrew/cask/spec/cask/cli_spec.rb +++ b/Library/Homebrew/test/cask/cli_spec.rb @@ -1,4 +1,4 @@ -describe Hbc::CLI do +describe Hbc::CLI, :cask do it "lists the taps for Casks that show up in two taps" do listing = Hbc::CLI.nice_listing(%w[ caskroom/cask/adium diff --git a/Library/Homebrew/cask/spec/cask/container/dmg_spec.rb b/Library/Homebrew/test/cask/container/dmg_spec.rb index cf35b7545..a94362aba 100644 --- a/Library/Homebrew/cask/spec/cask/container/dmg_spec.rb +++ b/Library/Homebrew/test/cask/container/dmg_spec.rb @@ -1,6 +1,4 @@ -require "spec_helper" - -describe Hbc::Container::Dmg do +describe Hbc::Container::Dmg, :cask do describe "#mount!" do it "does not store nil mounts for dmgs with extra data" do transmission = Hbc::CaskLoader.load_from_file(TEST_FIXTURE_DIR/"cask/Casks/local-transmission.rb") diff --git a/Library/Homebrew/cask/spec/cask/container/naked_spec.rb b/Library/Homebrew/test/cask/container/naked_spec.rb index ee4102eca..eb30ef81a 100644 --- a/Library/Homebrew/cask/spec/cask/container/naked_spec.rb +++ b/Library/Homebrew/test/cask/container/naked_spec.rb @@ -1,6 +1,4 @@ -require "spec_helper" - -describe Hbc::Container::Naked do +describe Hbc::Container::Naked, :cask do it "saves files with spaces in them from uris with encoded spaces" do cask = Hbc::Cask.new("spacey") do url "http://example.com/kevin%20spacey.pkg" diff --git a/Library/Homebrew/cask/spec/cask/depends_on_spec.rb b/Library/Homebrew/test/cask/depends_on_spec.rb index 078a2bce7..81fda2329 100644 --- a/Library/Homebrew/cask/spec/cask/depends_on_spec.rb +++ b/Library/Homebrew/test/cask/depends_on_spec.rb @@ -1,8 +1,6 @@ -require "spec_helper" - # TODO: this test should be named after the corresponding class, once # that class is abstracted from installer.rb -describe "Satisfy Dependencies and Requirements" do +describe "Satisfy Dependencies and Requirements", :cask do subject { lambda do shutup do diff --git a/Library/Homebrew/cask/spec/cask/download_strategy_spec.rb b/Library/Homebrew/test/cask/download_strategy_spec.rb index 900ceb3e2..ca082c581 100644 --- a/Library/Homebrew/cask/spec/cask/download_strategy_spec.rb +++ b/Library/Homebrew/test/cask/download_strategy_spec.rb @@ -1,4 +1,4 @@ -describe "download strategies" do +describe "download strategies", :cask do let(:url) { "http://example.com/cask.dmg" } let(:url_options) { Hash.new } let(:cask) { diff --git a/Library/Homebrew/cask/spec/cask/dsl/caveats_spec.rb b/Library/Homebrew/test/cask/dsl/caveats_spec.rb index 07940cd0a..aa662e4d0 100644 --- a/Library/Homebrew/cask/spec/cask/dsl/caveats_spec.rb +++ b/Library/Homebrew/test/cask/dsl/caveats_spec.rb @@ -1,7 +1,6 @@ -require "spec_helper" require "test/support/helper/spec/shared_examples/hbc_dsl_base" -describe Hbc::DSL::Caveats do +describe Hbc::DSL::Caveats, :cask do let(:cask) { Hbc::CaskLoader.load_from_file(TEST_FIXTURE_DIR/"cask/Casks/basic-cask.rb") } let(:dsl) { Hbc::DSL::Caveats.new(cask) } diff --git a/Library/Homebrew/cask/spec/cask/dsl/postflight_spec.rb b/Library/Homebrew/test/cask/dsl/postflight_spec.rb index d7a8f219d..d2b080ca3 100644 --- a/Library/Homebrew/cask/spec/cask/dsl/postflight_spec.rb +++ b/Library/Homebrew/test/cask/dsl/postflight_spec.rb @@ -1,8 +1,7 @@ -require "spec_helper" require "test/support/helper/spec/shared_examples/hbc_dsl_base" require "test/support/helper/spec/shared_examples/hbc_staged" -describe Hbc::DSL::Postflight do +describe Hbc::DSL::Postflight, :cask do let(:cask) { Hbc::CaskLoader.load_from_file(TEST_FIXTURE_DIR/"cask/Casks/basic-cask.rb") } let(:dsl) { Hbc::DSL::Postflight.new(cask, Hbc::FakeSystemCommand) } diff --git a/Library/Homebrew/cask/spec/cask/dsl/preflight_spec.rb b/Library/Homebrew/test/cask/dsl/preflight_spec.rb index 81b0c7975..b93be95ff 100644 --- a/Library/Homebrew/cask/spec/cask/dsl/preflight_spec.rb +++ b/Library/Homebrew/test/cask/dsl/preflight_spec.rb @@ -1,8 +1,7 @@ -require "spec_helper" require "test/support/helper/spec/shared_examples/hbc_dsl_base" require "test/support/helper/spec/shared_examples/hbc_staged" -describe Hbc::DSL::Preflight do +describe Hbc::DSL::Preflight, :cask do let(:cask) { Hbc::CaskLoader.load_from_file(TEST_FIXTURE_DIR/"cask/Casks/basic-cask.rb") } let(:dsl) { Hbc::DSL::Preflight.new(cask, Hbc::FakeSystemCommand) } diff --git a/Library/Homebrew/cask/spec/cask/dsl/stanza_proxy_spec.rb b/Library/Homebrew/test/cask/dsl/stanza_proxy_spec.rb index 2bb7ae633..8949c5bd9 100644 --- a/Library/Homebrew/cask/spec/cask/dsl/stanza_proxy_spec.rb +++ b/Library/Homebrew/test/cask/dsl/stanza_proxy_spec.rb @@ -1,4 +1,4 @@ -describe Hbc::DSL::StanzaProxy do +describe Hbc::DSL::StanzaProxy, :cask do let(:stanza_proxy) { described_class.new(Array) { [:foo, :bar, :cake] } } diff --git a/Library/Homebrew/cask/spec/cask/dsl/uninstall_postflight_spec.rb b/Library/Homebrew/test/cask/dsl/uninstall_postflight_spec.rb index 448e1b411..f89a181ce 100644 --- a/Library/Homebrew/cask/spec/cask/dsl/uninstall_postflight_spec.rb +++ b/Library/Homebrew/test/cask/dsl/uninstall_postflight_spec.rb @@ -1,7 +1,6 @@ -require "spec_helper" require "test/support/helper/spec/shared_examples/hbc_dsl_base" -describe Hbc::DSL::UninstallPostflight do +describe Hbc::DSL::UninstallPostflight, :cask do let(:cask) { Hbc::CaskLoader.load_from_file(TEST_FIXTURE_DIR/"cask/Casks/basic-cask.rb") } let(:dsl) { Hbc::DSL::UninstallPostflight.new(cask, Hbc::FakeSystemCommand) } diff --git a/Library/Homebrew/cask/spec/cask/dsl/uninstall_preflight_spec.rb b/Library/Homebrew/test/cask/dsl/uninstall_preflight_spec.rb index aac34e76a..15a0ea156 100644 --- a/Library/Homebrew/cask/spec/cask/dsl/uninstall_preflight_spec.rb +++ b/Library/Homebrew/test/cask/dsl/uninstall_preflight_spec.rb @@ -1,8 +1,7 @@ -require "spec_helper" require "test/support/helper/spec/shared_examples/hbc_dsl_base" require "test/support/helper/spec/shared_examples/hbc_staged" -describe Hbc::DSL::UninstallPreflight do +describe Hbc::DSL::UninstallPreflight, :cask do let(:cask) { Hbc::CaskLoader.load_from_file(TEST_FIXTURE_DIR/"cask/Casks/basic-cask.rb") } let(:dsl) { Hbc::DSL::UninstallPreflight.new(cask, Hbc::FakeSystemCommand) } diff --git a/Library/Homebrew/cask/spec/cask/dsl/version_spec.rb b/Library/Homebrew/test/cask/dsl/version_spec.rb index acf3db3ab..480504483 100644 --- a/Library/Homebrew/cask/spec/cask/dsl/version_spec.rb +++ b/Library/Homebrew/test/cask/dsl/version_spec.rb @@ -1,4 +1,4 @@ -describe Hbc::DSL::Version do +describe Hbc::DSL::Version, :cask do shared_examples "expectations hash" do |input_name, expectations| expectations.each do |input_value, expected_output| context "when #{input_name} is #{input_value.inspect}" do diff --git a/Library/Homebrew/cask/spec/cask/dsl_spec.rb b/Library/Homebrew/test/cask/dsl_spec.rb index 99525cc20..7872b42a6 100644 --- a/Library/Homebrew/cask/spec/cask/dsl_spec.rb +++ b/Library/Homebrew/test/cask/dsl_spec.rb @@ -1,6 +1,4 @@ -require "spec_helper" - -describe Hbc::DSL do +describe Hbc::DSL, :cask do let(:cask) { Hbc::CaskLoader.load_from_file(TEST_FIXTURE_DIR/"cask/Casks/#{token}.rb") } let(:token) { "basic-cask" } @@ -76,7 +74,7 @@ describe Hbc::DSL do end end - context "when it contains a deprecated DSL version" do + context "when it contains a deprecated DSL version", :needs_compat do let(:token) { "with-dsl-version" } it "may use deprecated DSL version hash syntax" do diff --git a/Library/Homebrew/cask/spec/cask/installer_spec.rb b/Library/Homebrew/test/cask/installer_spec.rb index c0148c387..7dd5b2bda 100644 --- a/Library/Homebrew/cask/spec/cask/installer_spec.rb +++ b/Library/Homebrew/test/cask/installer_spec.rb @@ -1,6 +1,4 @@ -require "spec_helper" - -describe Hbc::Installer do +describe Hbc::Installer, :cask do describe "install" do let(:empty_depends_on_stub) { double(formula: [], cask: [], macos: nil, arch: nil, x11: nil) diff --git a/Library/Homebrew/cask/spec/cask/macos_spec.rb b/Library/Homebrew/test/cask/macos_spec.rb index f931e1104..2e385acd5 100644 --- a/Library/Homebrew/cask/spec/cask/macos_spec.rb +++ b/Library/Homebrew/test/cask/macos_spec.rb @@ -1,4 +1,4 @@ -describe MacOS do +describe MacOS, :cask do it "says '/' is undeletable" do expect(MacOS).to be_undeletable( "/", diff --git a/Library/Homebrew/cask/spec/cask/pkg_spec.rb b/Library/Homebrew/test/cask/pkg_spec.rb index 6610b0e48..78a2eb75e 100644 --- a/Library/Homebrew/cask/spec/cask/pkg_spec.rb +++ b/Library/Homebrew/test/cask/pkg_spec.rb @@ -1,6 +1,4 @@ -require "spec_helper" - -describe Hbc::Pkg do +describe Hbc::Pkg, :cask do describe "uninstall" do let(:fake_system_command) { Hbc::NeverSudoSystemCommand } let(:empty_response) { double(stdout: "") } diff --git a/Library/Homebrew/cask/spec/cask/scopes_spec.rb b/Library/Homebrew/test/cask/scopes_spec.rb index e6e507da8..330683b2a 100644 --- a/Library/Homebrew/cask/spec/cask/scopes_spec.rb +++ b/Library/Homebrew/test/cask/scopes_spec.rb @@ -1,4 +1,4 @@ -describe Hbc::Scopes do +describe Hbc::Scopes, :cask do describe "installed" do it "returns a list installed Casks by loading Casks for all the dirs that exist in the caskroom" do allow(Hbc).to receive(:load) { |token| "loaded-#{token}" } diff --git a/Library/Homebrew/cask/spec/cask/staged_spec.rb b/Library/Homebrew/test/cask/staged_spec.rb index 10f1cbb47..670775b7a 100644 --- a/Library/Homebrew/cask/spec/cask/staged_spec.rb +++ b/Library/Homebrew/test/cask/staged_spec.rb @@ -1,9 +1,7 @@ -require "spec_helper" - # TODO: this test should be named after the corresponding class, once # that class is abstracted from installer.rb. It makes little sense # to be invoking bundle_identifier off of the installer instance. -describe "Operations on staged Casks" do +describe "Operations on staged Casks", :cask do describe "bundle ID" do let(:cask) { Hbc::CaskLoader.load_from_file(TEST_FIXTURE_DIR/"cask/Casks/local-transmission.rb") } let(:installer) { Hbc::Installer.new(cask) } diff --git a/Library/Homebrew/cask/spec/cask/system_command_result_spec.rb b/Library/Homebrew/test/cask/system_command_result_spec.rb index b15d4d437..4a077de7b 100644 --- a/Library/Homebrew/cask/spec/cask/system_command_result_spec.rb +++ b/Library/Homebrew/test/cask/system_command_result_spec.rb @@ -1,6 +1,6 @@ require "hbc/system_command" -describe Hbc::SystemCommand::Result do +describe Hbc::SystemCommand::Result, :cask do describe "::_parse_plist" do subject { described_class._parse_plist(command, input) } let(:command) { Hbc::SystemCommand.new("/usr/bin/true", {}) } diff --git a/Library/Homebrew/cask/spec/cask/system_command_spec.rb b/Library/Homebrew/test/cask/system_command_spec.rb index 3f9f8ac2b..8d1180bea 100644 --- a/Library/Homebrew/cask/spec/cask/system_command_spec.rb +++ b/Library/Homebrew/test/cask/system_command_spec.rb @@ -1,4 +1,4 @@ -describe Hbc::SystemCommand do +describe Hbc::SystemCommand, :cask do describe "when the exit code is 0" do describe "its result" do subject { described_class.run("/usr/bin/true") } diff --git a/Library/Homebrew/cask/spec/cask/underscore_supporting_uri_spec.rb b/Library/Homebrew/test/cask/underscore_supporting_uri_spec.rb index a8e2925db..49d3ea63f 100644 --- a/Library/Homebrew/cask/spec/cask/underscore_supporting_uri_spec.rb +++ b/Library/Homebrew/test/cask/underscore_supporting_uri_spec.rb @@ -1,4 +1,4 @@ -describe Hbc::UnderscoreSupportingURI do +describe Hbc::UnderscoreSupportingURI, :cask do describe "parse" do it "works like normal on normal URLs" do uri = Hbc::UnderscoreSupportingURI.parse("http://example.com/TestCask.dmg") diff --git a/Library/Homebrew/cask/spec/cask/url_checker_spec.rb b/Library/Homebrew/test/cask/url_checker_spec.rb index 8d2161586..c505d2cb4 100644 --- a/Library/Homebrew/cask/spec/cask/url_checker_spec.rb +++ b/Library/Homebrew/test/cask/url_checker_spec.rb @@ -1,6 +1,4 @@ -require "spec_helper" - -describe Hbc::UrlChecker do +describe Hbc::UrlChecker, :cask do describe "request processing" do let(:cask) { Hbc::CaskLoader.load_from_file(TEST_FIXTURE_DIR/"cask/Casks/basic-cask.rb") } let(:checker) { Hbc::UrlChecker.new(cask) } diff --git a/Library/Homebrew/cask/spec/cask/verify/checksum_spec.rb b/Library/Homebrew/test/cask/verify/checksum_spec.rb index d803c566d..55c0e5f44 100644 --- a/Library/Homebrew/cask/spec/cask/verify/checksum_spec.rb +++ b/Library/Homebrew/test/cask/verify/checksum_spec.rb @@ -1,4 +1,4 @@ -describe Hbc::Verify::Checksum do +describe Hbc::Verify::Checksum, :cask do let(:cask) { double("cask") } let(:downloaded_path) { double("downloaded_path") } let(:verification) { described_class.new(cask, downloaded_path) } diff --git a/Library/Homebrew/cask/spec/cask/verify_spec.rb b/Library/Homebrew/test/cask/verify_spec.rb index fc62b749c..5d95fb3a2 100644 --- a/Library/Homebrew/cask/spec/cask/verify_spec.rb +++ b/Library/Homebrew/test/cask/verify_spec.rb @@ -1,4 +1,4 @@ -describe Hbc::Verify do +describe Hbc::Verify, :cask do let(:cask) { double("cask") } let(:verification_classes) { diff --git a/Library/Homebrew/test/cmd/cask_spec.rb b/Library/Homebrew/test/cmd/cask_spec.rb index e46843cab..fcd7e6a16 100644 --- a/Library/Homebrew/test/cmd/cask_spec.rb +++ b/Library/Homebrew/test/cmd/cask_spec.rb @@ -2,7 +2,9 @@ describe "brew cask", :integration_test, :needs_macos, :needs_official_cmd_taps describe "list" do it "returns a list of installed Casks" do setup_remote_tap("caskroom/cask") - expect { brew "cask", "list" }.to be_a_success + shutup do + expect { brew "cask", "list" }.to be_a_success + end end end end diff --git a/Library/Homebrew/test/spec_helper.rb b/Library/Homebrew/test/spec_helper.rb index 122aaba46..c8e5cc0f8 100644 --- a/Library/Homebrew/test/spec_helper.rb +++ b/Library/Homebrew/test/spec_helper.rb @@ -6,6 +6,11 @@ require "set" if ENV["HOMEBREW_TESTS_COVERAGE"] require "simplecov" + + if ENV["CODECOV_TOKEN"] || ENV["TRAVIS"] + require "codecov" + SimpleCov.formatter = SimpleCov::Formatter::Codecov + end end $LOAD_PATH.unshift(File.expand_path("#{ENV["HOMEBREW_LIBRARY"]}/Homebrew")) @@ -18,6 +23,8 @@ require "test/support/helper/shutup" require "test/support/helper/fixtures" require "test/support/helper/formula" require "test/support/helper/mktmpdir" + +require "test/support/helper/spec/shared_context/homebrew_cask" if OS.mac? require "test/support/helper/spec/shared_context/integration_test" TEST_DIRECTORIES = [ diff --git a/Library/Homebrew/cask/spec/support/fake_system_command.rb b/Library/Homebrew/test/support/helper/cask/fake_system_command.rb index b9390d482..b9390d482 100644 --- a/Library/Homebrew/cask/spec/support/fake_system_command.rb +++ b/Library/Homebrew/test/support/helper/cask/fake_system_command.rb diff --git a/Library/Homebrew/cask/spec/support/install_helper.rb b/Library/Homebrew/test/support/helper/cask/install_helper.rb index d91b9ea57..d91b9ea57 100644 --- a/Library/Homebrew/cask/spec/support/install_helper.rb +++ b/Library/Homebrew/test/support/helper/cask/install_helper.rb diff --git a/Library/Homebrew/cask/spec/support/never_sudo_system_command.rb b/Library/Homebrew/test/support/helper/cask/never_sudo_system_command.rb index eb8b677f2..eb8b677f2 100644 --- a/Library/Homebrew/cask/spec/support/never_sudo_system_command.rb +++ b/Library/Homebrew/test/support/helper/cask/never_sudo_system_command.rb diff --git a/Library/Homebrew/cask/spec/spec_helper.rb b/Library/Homebrew/test/support/helper/spec/shared_context/homebrew_cask.rb index ca0b69d33..c51d339a7 100644 --- a/Library/Homebrew/cask/spec/spec_helper.rb +++ b/Library/Homebrew/test/support/helper/spec/shared_context/homebrew_cask.rb @@ -1,13 +1,11 @@ -$LOAD_PATH.unshift(File.expand_path("#{ENV["HOMEBREW_REPOSITORY"]}/Library/Homebrew")) -require "test/spec_helper" - -# add Homebrew-Cask to load path $LOAD_PATH.push(HOMEBREW_LIBRARY_PATH.join("cask", "lib").to_s) -Pathname.glob(HOMEBREW_LIBRARY_PATH.join("cask", "spec", "support", "**", "*.rb")).each(&method(:require)) - require "hbc" +require "test/support/helper/cask/fake_system_command" +require "test/support/helper/cask/install_helper" +require "test/support/helper/cask/never_sudo_system_command" + HOMEBREW_CASK_DIRS = [ :appdir, :caskroom, @@ -18,18 +16,17 @@ HOMEBREW_CASK_DIRS = [ :binarydir, ].freeze -RSpec.configure do |config| - config.around(:each) do |example| +RSpec.shared_context "Homebrew-Cask" do + around(:each) do |example| begin - dirs = HOMEBREW_CASK_DIRS.map { |dir| - Pathname.new(TEST_TMPDIR).join("cask-#{dir}").tap { |path| + dirs = HOMEBREW_CASK_DIRS.map do |dir| + Pathname.new(TEST_TMPDIR).join("cask-#{dir}").tap do |path| path.mkpath Hbc.public_send("#{dir}=", path) - } - } + end + end Hbc.default_tap = Tap.fetch("caskroom", "spec").tap do |tap| - # link test casks FileUtils.mkdir_p tap.path.dirname FileUtils.ln_sf TEST_FIXTURE_DIR.join("cask"), tap.path end @@ -37,6 +34,12 @@ RSpec.configure do |config| example.run ensure FileUtils.rm_rf dirs + Hbc.default_tap.path.unlink + FileUtils.rm_rf Hbc.default_tap.path.parent end end end + +RSpec.configure do |config| + config.include_context "Homebrew-Cask", :cask +end diff --git a/Library/Homebrew/test/tap_spec.rb b/Library/Homebrew/test/tap_spec.rb index b0ad1506d..50e4522af 100644 --- a/Library/Homebrew/test/tap_spec.rb +++ b/Library/Homebrew/test/tap_spec.rb @@ -4,7 +4,7 @@ RSpec::Matchers.alias_matcher :have_custom_remote, :be_custom_remote describe Tap do include FileUtils - subject { Tap.new("Homebrew", "foo") } + subject { described_class.new("Homebrew", "foo") } let(:path) { Tap::TAP_DIRECTORY/"homebrew/homebrew-foo" } let(:formula_file) { path/"Formula/foo.rb" } let(:alias_file) { path/"Aliases/bar" } @@ -84,7 +84,7 @@ describe Tap do end end - specify "#names" do + specify "::names" do expect(described_class.names.sort).to eq(["homebrew/core", "homebrew/foo"]) end diff --git a/Library/Homebrew/utils.rb b/Library/Homebrew/utils.rb index 0e3c0f568..8f897de17 100644 --- a/Library/Homebrew/utils.rb +++ b/Library/Homebrew/utils.rb @@ -196,7 +196,7 @@ module Homebrew # Add Gem binary directory and (if missing) Ruby binary directory to PATH. path = ENV["PATH"].split(File::PATH_SEPARATOR) path.unshift(RUBY_BIN) if which("ruby") != RUBY_PATH - path.unshift("#{Gem.dir}/bin") + path.unshift(Gem.bindir) ENV["PATH"] = path.join(File::PATH_SEPARATOR) if Gem::Specification.find_all_by_name(name, version).empty? diff --git a/docs/Analytics.md b/docs/Analytics.md index b4e73f75d..40902403b 100644 --- a/docs/Analytics.md +++ b/docs/Analytics.md @@ -31,7 +31,7 @@ You can also view all the information that is sent by Homebrew's analytics by se It is impossible for the Homebrew developers to match any particular event to any particular user, even if we had access to the Homebrew analytics user ID (which we do not). An example of the most user-specific information we can see from Google Analytics: - + As far as we can tell it would be impossible for Google to match the randomly generated Homebrew-only analytics user ID to any other Google Analytics user ID. If Google turned evil the only thing they could do would be to lie about anonymising IP addresses and attempt to match users based on IP addresses. diff --git a/docs/Brew-Test-Bot.md b/docs/Brew-Test-Bot.md index 484fa3275..919204345 100644 --- a/docs/Brew-Test-Bot.md +++ b/docs/Brew-Test-Bot.md @@ -18,21 +18,21 @@ For example, a job which has been queued but not yet started will have a section in the pull request that looks like this: - + --- A failed build looks like this: - + --- A passed build looks like this: - + --- @@ -44,14 +44,14 @@ When you click this you'll see the results. A passed build looks like this: - + --- A failed build looks like this: - + --- @@ -59,6 +59,6 @@ You can click the test results link (e.g. `brew-test-bot.el_capitan.install openssl`) to view the failed test output: - + --- diff --git a/docs/New-Maintainer-Checklist.md b/docs/New-Maintainer-Checklist.md index 29c2d4ece..f3eb85e50 100644 --- a/docs/New-Maintainer-Checklist.md +++ b/docs/New-Maintainer-Checklist.md @@ -46,6 +46,7 @@ If they accept, follow a few steps to get them set up: - Invite them to the [`homebrew-dev` private maintainers mailing list](https://groups.google.com/forum/#!managemembers/homebrew-dev/invite) - Invite them to the [`machomebrew` private maintainers Slack](https://machomebrew.slack.com/admin/invites) - Invite them to the [`homebrew` private maintainers 1Password](https://homebrew.1password.com/signin) +- Invite them to [Google Analytics](https://analytics.google.com/analytics/web/?authuser=1#management/Settings/a76679469w115400090p120682403/%3Fm.page%3DAccountUsers/) - Add them to [Homebrew's README](https://github.com/Homebrew/brew/edit/master/README.md) After a few weeks/months with no problems consider making them [owners on the Homebrew GitHub organisation](https://github.com/orgs/Homebrew/people). diff --git a/docs/_config.yml b/docs/_config.yml index 687739b4a..dce1f3bd3 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -1,2 +1,5 @@ -theme: jekyll-theme-cayman exclude: [bin, vendor, CNAME, Gemfile, Gemfile.lock] + +gems: + - jekyll-feed + - jekyll-seo-tag diff --git a/docs/_layouts/base.html b/docs/_layouts/base.html new file mode 100644 index 000000000..71ca22ce4 --- /dev/null +++ b/docs/_layouts/base.html @@ -0,0 +1,102 @@ +<!DOCTYPE html> +<html {% if page.direction == "rtl" %}dir="rtl" {% endif %}lang="{{ page.lang }}"> + <head> + <meta charset="utf-8"> + <meta name="dc.creator" content="Rémi Prévost - http://exomel.com"> + {% if page.title %} + <title>{{ page.title }} — Homebrew</title> + {% elsif page.direction == "rtl" %} + <title>{{ page.subtitle }} — Homebrew</title> + {% else %} + <title>Homebrew — {{ page.subtitle }}</title> + {% endif %} + {% seo title=false %} + {% feed_meta %} + <meta name="viewport" content="width=device-width, initial-scale=1"> + <link rel="shortcut icon" href="/img/favicon.ico"> + <link rel="icon" sizes="16x16" href="/img/favicon-16x16.png" > + <link rel="icon" sizes="32x32" href="/img/favicon-32x32.png"> + <link rel="icon" sizes="96x96" href="/img/favicon-96x96.png"> + <link rel="icon" sizes="192x192" href="/img/favicon-192x192.png"> + <link rel="apple-touch-icon-precomposed" sizes="57x57" href="/img/apple-touch-icon-57x57-precomposed.png"> + <link rel="apple-touch-icon-precomposed" sizes="72x72" href="/img/apple-touch-icon-72x72-precomposed.png"> + <link rel="apple-touch-icon-precomposed" sizes="76x76" href="/img/apple-touch-icon-76x76-precomposed.png"> + <link rel="apple-touch-icon-precomposed" sizes="114x114" href="/img/apple-touch-icon-114x114-precomposed.png"> + <link rel="apple-touch-icon-precomposed" sizes="120x120" href="/img/apple-touch-icon-120x120-precomposed.png"> + <link rel="apple-touch-icon-precomposed" sizes="144x144" href="/img/apple-touch-icon-144x144-precomposed.png"> + <link rel="apple-touch-icon-precomposed" sizes="152x152" href="/img/apple-touch-icon-152x152-precomposed.png"> + <link rel="apple-touch-icon-precomposed" sizes="180x180" href="/img/apple-touch-icon-180x180-precomposed.png"> + <link rel="stylesheet" href="/css/screen.css" type="text/css" media="screen"> + <link rel="stylesheet" href="/css/pygments.css" type="text/css" media="screen"> + <script> + (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); + + ga('create', 'UA-76679469-2', 'auto'); + ga('set', 'anonymizeIp', true); + ga('send', 'pageview'); + + </script> + {% for lang in site.langs %} + {% if lang.langcode == "en" %} + <link rel="alternate" hreflang="en" href="{{ site.url }}" /> + <link rel="alternate" hreflang="x-default" href="{{ site.url }}" /> + {% else %} + <link rel="alternate" hreflang="{{ lang.langcode }}" href="{{ lang.langcode | downcase | append: '.html' | prepend: '/index_' | prepend: site.url }}" /> + {% endif %} + {% endfor %} + </head> + <body> + <div id="wrap"> + <div id="header" class="{{ page.header-class }}"> + <img alt="Homebrew logo" src="/img/homebrew-256x256.png" width="128" height="128"> + <h1><a href="/">Homebrew</a></h1> + {% if page.subtitle %} + <p id="subtitle"><strong>{{ page.subtitle }}</strong></p> + {% endif %} + + {% if page.lang %} + <select id="language" onchange="loadLanguage(this.options[this.selectedIndex].value)"> + {% for lang in site.langs %} + {% if page.lang == lang.langcode %} + <option value="{{ lang.langcode | downcase }}" selected="selected">{{ lang.lang_string }}</option> + {% else %} + <option value="{{ lang.langcode | downcase }}">{{ lang.lang_string }}</option> + {% endif %} + {% endfor %} + </select> + {% endif %} + </div> + + {{ content }} + + </div> + + <a href="https://github.com/Homebrew/brew/"><img id="forkme" src="https://aral.github.io/fork-me-on-github-retina-ribbons/right-grey@2x.png" alt="Fork me on GitHub"></a> + <script> + function selectText(elem) { + if (document.selection) { + var range = document.body.createTextRange(); + range.moveToElementText(elem); + range.select(); + } else if (window.getSelection) { + var range = document.createRange(); + range.selectNode(elem); + window.getSelection().addRange(range); + } + } + + function loadLanguage(lang) { + if (lang === {{ page.lang | jsonify }}) { + return; + } else if (lang === "en") { + window.location.replace("/"); + } else { + window.location.replace("/index_" + lang + ".html"); + } + } + </script> + </body> +</html> diff --git a/docs/_layouts/home.html b/docs/_layouts/home.html new file mode 100644 index 000000000..7a72189ac --- /dev/null +++ b/docs/_layouts/home.html @@ -0,0 +1,6 @@ +--- +layout: base +--- +<div id="home"> + {{ content }} +</div> diff --git a/docs/_layouts/index.html b/docs/_layouts/index.html new file mode 100644 index 000000000..44debdc5f --- /dev/null +++ b/docs/_layouts/index.html @@ -0,0 +1,147 @@ +--- +layout: base +--- +<div id="informations"> + <ul> + <li> + <div class="group row"> + <h2 id="install">{{ page.pagecontent.install.install }}</h2> + <br> + <pre style='clear:both;text-align:center;margin-bottom:0.9em'><code id='selectable' onclick="selectText(this)">/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"</code></pre> + <div class="col-1"> + <p>{{ page.pagecontent.install.paste }}</p> + </div> + <div class="col-2"> + <p>{{ page.pagecontent.install.what }}</p> + </div> + </div> + </li> + + <li> + <div class="group row"> + <h2 id="question">{{ page.pagecontent.question }}</h2> + <br> + <div class="col-1"> + <p>{{ page.pagecontent.what }}</p> + </div> + <div class="col-2"> +{% highlight bash %} +$ brew install wget +{% endhighlight %} + </div> + </div> + </li> + <li> + <div class="group row"> + <div class="col-1"> + <p>{{ page.pagecontent.how }}</p> + </div> + <div class="col-2"> +{% highlight bash %} +$ cd /usr/local +$ find Cellar +Cellar/wget/1.16.1 +Cellar/wget/1.16.1/bin/wget +Cellar/wget/1.16.1/share/man/man1/wget.1 + +$ ls -l bin +bin/wget -> ../Cellar/wget/1.16.1/bin/wget +{% endhighlight %} + </div> + </div> + </li> + <li> + <div class="group row"> + <div class="col-1"> + <p>{{ page.pagecontent.prefix }}</p> + </div> + </div> + </li> + <li> + <div class="group row"> + <div class="col-1"> + <p>{{ page.pagecontent.createpackages }}</p> + </div> + <div class="col-2"> +{% highlight bash %} +$ brew create https://foo.com/bar-1.0.tgz +Created /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/bar.rb +{% endhighlight %} + </div> + </div> + </li> + <li> + <div class="group row"> + <div class="col-1"> + <p>{{ page.pagecontent.hack }}</p> + </div> + <div class="col-2"> +{% highlight bash %} +$ brew edit wget # {{ page.pagecontent.editor }} +{% endhighlight %} + </div> + </div> + </li> + <li> + <div class="group row"> + <div class="col-1"> + <p>{{ page.pagecontent.formula }}</p> + </div> + <div class="col-2"> +{% highlight ruby %} +class Wget < Formula + homepage "https://www.gnu.org/software/wget/" + url "https://ftp.gnu.org/gnu/wget/wget-1.15.tar.gz" + sha256 "52126be8cf1bddd7536886e74c053ad7d0ed2aa89b4b630f76785bac21695fcd" + + def install + system "./configure", "--prefix=#{prefix}" + system "make", "install" + end +end +{% endhighlight %} + </div> + </div> + </li> + <li> + <div class="group row"> + <div class="col-1"> + <p>{{ page.pagecontent.complement }}</p> + </div> + </div> + </li> + + <li> + <div class="group row"> + <h2 id="further-doc">{{ page.pagecontent.doc.further }}</h2> + <div class="button"> + <p><a href="http://docs.brew.sh">docs.brew.sh</a></p> + </div> + </div> + </li> + + <li> + <div class="group row"> + <h2 id="homebrew-community">{{ page.pagecontent.doc.community }}</h2> + <div class="button"> + <p><a href="http://discourse.brew.sh">discourse.brew.sh</a></p> + </div> + </div> + </li> + + <li> + <div class="group row"> + <h2 id="homebrew-blog">{{ page.pagecontent.doc.blog }}</h2> + <div class="button"> + <p><a href="/blog">brew.sh/blog</a></p> + </div> + </div> + </li> + + <li> + <div class="group row credits"> + <p>{{ page.pagecontent.foot.code }} {{ page.pagecontent.foot.page }} {{ page.pagecontent.foot.translation }}</p> + </div> + </li> + </ul> +</div> diff --git a/docs/_layouts/page.html b/docs/_layouts/page.html new file mode 100644 index 000000000..47496bb24 --- /dev/null +++ b/docs/_layouts/page.html @@ -0,0 +1,6 @@ +--- +layout: base +--- +<div id="page"> + {{ content }} +</div> diff --git a/docs/_layouts/post.html b/docs/_layouts/post.html new file mode 100644 index 000000000..5ec535ab5 --- /dev/null +++ b/docs/_layouts/post.html @@ -0,0 +1,11 @@ +--- +layout: base +--- +<div id="post"> + <h2>{{ page.title }}</h2> + <h3>{{ page.date | date_to_long_string }}</h3> + <h3 class="author"><a href="https://github.com/{{ page.author }}"><img class="avatar" src="https://avatars2.githubusercontent.com/{{ page.author }}?v=3&s=80" alt="{{ page.author }}" width="40" height="40">{{ page.author }}</a></h3> + <div class="postcontent singlepostcontent"> + {{ content }} + </div> +</div> diff --git a/docs/brew.1.html b/docs/brew.1.html index 717542127..7a06426ae 100644 --- a/docs/brew.1.html +++ b/docs/brew.1.html @@ -152,7 +152,7 @@ information on all installed formulae.</p> <p>See the docs for examples of using the JSON output: <a href="http://docs.brew.sh/Querying-Brew.html" data-bare-link="true">http://docs.brew.sh/Querying-Brew.html</a></p></dd> -<dt><code>install</code> [<code>--debug</code>] [<code>--env=</code><var>std</var>|<var>super</var>] [<code>--ignore-dependencies</code>] [<code>--only-dependencies</code>] [<code>--cc=</code><var>compiler</var>] [<code>--build-from-source</code>] [<code>--devel</code>|<code>--HEAD</code>] [<code>--keep-tmp</code>] <var>formula</var></dt><dd><p>Install <var>formula</var>.</p> +<dt><code>install</code> [<code>--debug</code>] [<code>--env=</code>(<code>std</code>|<code>super</code>)] [<code>--ignore-dependencies</code>|<code>--only-dependencies</code>] [<code>--cc=</code><var>compiler</var>] [<code>--build-from-source</code>|<code>--force-bottle</code>] [<code>--devel</code>|<code>--HEAD</code>] [<code>--keep-tmp</code>] [<code>--build-bottle</code>] <var>formula</var></dt><dd><p>Install <var>formula</var>.</p> <p><var>formula</var> is usually the name of the formula to install, but it can be specified in several different ways. See <a href="#SPECIFYING-FORMULAE" title="SPECIFYING FORMULAE" data-bare-link="true">SPECIFYING FORMULAE</a>.</p> @@ -195,7 +195,10 @@ for installation.</p> aka master, trunk, unstable.</p> <p>If <code>--keep-tmp</code> is passed, the temporary files created during installation -are not deleted.</p></dd> +are not deleted.</p> + +<p>If <code>--build-bottle</code> is passed, prepare the formula for eventual bottling +during installation.</p></dd> <dt><code>install</code> <code>--interactive</code> [<code>--git</code>] <var>formula</var></dt><dd><p>Download and patch <var>formula</var>, then open a shell. This allows the user to run <code>./configure --help</code> and otherwise determine how to turn the software package into a Homebrew formula.</p> @@ -301,11 +304,13 @@ The search for <var>text</var> is extended online to some popular taps.</p> <p>If <code>--desc</code> is passed, browse available packages matching <var>text</var> including a description for each.</p></dd> <dt><code>search</code> (<code>--debian</code>|<code>--fedora</code>|<code>--fink</code>|<code>--macports</code>|<code>--opensuse</code>|<code>--ubuntu</code>) <var>text</var></dt><dd><p>Search for <var>text</var> in the given package manager's list.</p></dd> -<dt><code>sh</code> [<code>--env=std</code>]</dt><dd><p>Instantiate a Homebrew build environment. Uses our years-battle-hardened +<dt><code>sh</code> [<code>--env=std</code>]</dt><dd><p>Start a Homebrew build environment shell. Uses our years-battle-hardened Homebrew build logic to help your <code>./configure && make && make install</code> or even your <code>gem install</code> succeed. Especially handy if you run Homebrew in an Xcode-only configuration since it adds tools like <code>make</code> to your <code>PATH</code> -which otherwise build-systems would not find.</p></dd> +which otherwise build systems would not find.</p> + +<p>If <code>--env=std</code> is passed, use the standard <code>PATH</code> instead of superenv's.</p></dd> <dt><code>style</code> [<code>--fix</code>] [<code>--display-cop-names</code>] [<var>files</var>|<var>taps</var>|<var>formulae</var>]</dt><dd><p>Check formulae or files for conformance to Homebrew style guidelines.</p> <p><var>formulae</var> and <var>files</var> may not be combined. If both are omitted, style will run @@ -478,9 +483,29 @@ name of the file or formula being audited, to make the output easy to grep.</p> <p><code>audit</code> exits with a non-zero status if any errors are found. This is useful, for instance, for implementing pre-commit hooks.</p></dd> -<dt><code>bottle</code> [<code>--verbose</code>] [<code>--no-rebuild</code>] [<code>--keep-old</code>] [<code>--skip-relocation</code>] [<code>--root-url=</code><var>URL</var>] [<code>--force-core-tap</code>]:</dt><dd><p></p></dd> -<dt><code>bottle</code> <code>--merge</code> [<code>--no-commit</code>] [<code>--keep-old</code>] [<code>--write</code>]</dt><dd><p>Generate a bottle (binary package) from a formula installed with -<code>--build-bottle</code>.</p></dd> +<dt><code>bottle</code> [<code>--verbose</code>] [<code>--no-rebuild</code>|<code>--keep-old</code>] [<code>--skip-relocation</code>] [<code>--root-url=</code><var>URL</var>] [<code>--force-core-tap</code>] <var>formulae</var></dt><dd><p>Generate a bottle (binary package) from a formula installed with +<code>--build-bottle</code>.</p> + +<p>If the formula specifies a rebuild version, it will be incremented in the +generated DSL. Passing <code>--keep-old</code> will attempt to keep it at its +original value, while <code>--no-rebuild</code> will remove it.</p> + +<p>If <code>--verbose</code> is passed, print the bottling commands and any warnings +encountered.</p> + +<p>If <code>--skip-relocation</code> is passed, do not check if the bottle can be marked +as relocatable.</p> + +<p>If <code>--root-url</code> is passed, use the specified <var>URL</var> as the root of the +bottle's URL instead of Homebrew's default.</p> + +<p>If <code>--force-core-tap</code> is passed, build a bottle even if <var>formula</var> is not +in homebrew/core or any installed taps.</p></dd> +<dt><code>bottle</code> <code>--merge</code> [<code>--keep-old</code>] [<code>--write</code> [<code>--no-commit</code>]] <var>formulae</var></dt><dd><p>Generate a bottle from a formula and print the new DSL merged into the +existing formula.</p> + +<p>If <code>--write</code> is passed, write the changes to the formula file. A new +commit will then be generated unless <code>--no-commit</code> is passed.</p></dd> <dt><code>bump-formula-pr</code> [<code>--devel</code>] [<code>--dry-run</code> [<code>--write</code>]] [<code>--audit</code>|<code>--strict</code>] [<code>--mirror=</code><var>URL</var>] [<code>--version=</code><var>version</var>] [<code>--message=</code><var>message</var>] (<code>--url=</code><var>URL</var> <code>--sha256=</code><var>sha-256</var>|<code>--tag=</code><var>tag</var> <code>--revision=</code><var>revision</var>) <var>formula</var></dt><dd><p>Creates a pull request to update the formula with a new URL or a new tag.</p> <p>If a <var>URL</var> is specified, the <var>sha-256</var> checksum of the new download must @@ -612,8 +637,24 @@ launched with access to IRB or a shell inside the temporary test directory.</p> not deleted.</p> <p>Example: <code>brew install jruby && brew test jruby</code></p></dd> -<dt><code>tests</code> [<code>-v</code>] [<code>--coverage</code>] [<code>--generic</code>] [<code>--no-compat</code>] [<code>--only=</code><var>test_script</var><code>:</code><var>line_number</var>] [<code>--seed</code> <var>seed</var>] [<code>--online</code>] [<code>--official-cmd-taps</code>]</dt><dd><p>Run Homebrew's unit and integration tests.</p></dd> -<dt><code>update-test</code> [<code>--commit=</code><var>commit</var>] [<code>--before=</code><var>date</var>] [<code>--keep-tmp</code>]</dt><dd><p>Runs a test of <code>brew update</code> with a new repository clone.</p> +<dt><code>tests</code> [<code>--verbose</code>] [<code>--coverage</code>] [<code>--generic</code>] [<code>--no-compat</code>] [<code>--only=</code><var>test_script</var>[<code>:</code><var>line_number</var>]] [<code>--seed</code> <var>seed</var>] [<code>--online</code>] [<code>--official-cmd-taps</code>]</dt><dd><p>Run Homebrew's unit and integration tests. If provided, +<code>--only=</code><var>test_script</var> runs only <var>test_script</var>_spec.rb, and <code>--seed</code> +randomizes tests with the provided value instead of a random seed.</p> + +<p>If <code>--verbose</code> is passed, print the command that runs the tests.</p> + +<p>If <code>--coverage</code> is passed, also generate code coverage reports.</p> + +<p>If <code>--generic</code> is passed, only run OS-agnostic tests.</p> + +<p>If <code>--no-compat</code> is passed, do not load the compatibility layer when +running tests.</p> + +<p>If <code>--online</code> is passed, include tests that use the GitHub API.</p> + +<p>If <code>--official-cmd-taps</code> is passed, include tests that use any of the +taps for official external commands.</p></dd> +<dt><code>update-test</code> [<code>--commit=</code><var>commit</var>] [<code>--before=</code><var>date</var>] [<code>--to-tag</code>] [<code>--keep-tmp</code>]</dt><dd><p>Runs a test of <code>brew update</code> with a new repository clone.</p> <p>If no arguments are passed, use <code>origin/master</code> as the start commit.</p> @@ -637,7 +678,7 @@ the new repository clone.</p></dd> <a href="https://github.com/Homebrew/homebrew-bundle" data-bare-link="true">https://github.com/Homebrew/homebrew-bundle</a></p></dd> <dt class="flush"><code>cask</code></dt><dd><p>Install macOS applications distributed as binaries: <a href="https://github.com/caskroom/homebrew-cask" data-bare-link="true">https://github.com/caskroom/homebrew-cask</a></p></dd> -<dt><code>services</code></dt><dd><p>Integrates Homebrew formulae with macOS's <code>launchctl</code> manager: +<dt><code>services</code></dt><dd><p>Integrates Homebrew formulae with macOS's <code>launchctl</code>(1) manager: <a href="https://github.com/Homebrew/homebrew-services" data-bare-link="true">https://github.com/Homebrew/homebrew-services</a></p></dd> </dl> diff --git a/docs/css/pygments.css b/docs/css/pygments.css new file mode 100644 index 000000000..e88257d01 --- /dev/null +++ b/docs/css/pygments.css @@ -0,0 +1,59 @@ +.hll { background-color: #ffffcc } +.c { color: #999988; font-style: italic } /* Comment */ +.err { color: #a61717; background-color: #e3d2d2 } /* Error */ +.k { font-weight: bold } /* Keyword */ +.o { font-weight: bold } /* Operator */ +.cm { color: #999988; font-style: italic } /* Comment.Multiline */ +.cp { color: #999999; font-weight: bold } /* Comment.Preproc */ +.c1 { color: #999988; font-style: italic } /* Comment.Single */ +.cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */ +.gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */ +.ge { font-style: italic } /* Generic.Emph */ +.gr { color: #aa0000 } /* Generic.Error */ +.gh { color: #999999 } /* Generic.Heading */ +.gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */ +.go { color: #888888 } /* Generic.Output */ +.gp { color: #555555 } /* Generic.Prompt */ +.gs { font-weight: bold } /* Generic.Strong */ +.gu { color: #aaaaaa } /* Generic.Subheading */ +.gt { color: #aa0000 } /* Generic.Traceback */ +.kc { font-weight: bold } /* Keyword.Constant */ +.kd { font-weight: bold } /* Keyword.Declaration */ +.kn { font-weight: bold } /* Keyword.Namespace */ +.kp { font-weight: bold } /* Keyword.Pseudo */ +.kr { font-weight: bold } /* Keyword.Reserved */ +.kt { color: #445588; font-weight: bold } /* Keyword.Type */ +.m { color: #009999 } /* Literal.Number */ +.s { color: #bb8844 } /* Literal.String */ +.na { color: #008080 } /* Name.Attribute */ +.nb { color: #999999 } /* Name.Builtin */ +.nc { color: #999999; font-weight: bold } /* Name.Class */ +.no { color: #666666 } /* Name.Constant */ +.ni { color: #800080 } /* Name.Entity */ +.ne { color: #990000; font-weight: bold } /* Name.Exception */ +.nf { color: #999999; font-weight: bold } /* Name.Function */ +.nn { color: #555555 } /* Name.Namespace */ +.nt { color: #000080 } /* Name.Tag */ +.nv { color: #008080 } /* Name.Variable */ +.ow { font-weight: bold } /* Operator.Word */ +.w { color: #bbbbbb } /* Text.Whitespace */ +.mf { color: #009999 } /* Literal.Number.Float */ +.mh { color: #009999 } /* Literal.Number.Hex */ +.mi { color: #009999 } /* Literal.Number.Integer */ +.mo { color: #009999 } /* Literal.Number.Oct */ +.sb { color: #bb8844 } /* Literal.String.Backtick */ +.sc { color: #bb8844 } /* Literal.String.Char */ +.sd { color: #bb8844 } /* Literal.String.Doc */ +.s2 { color: #9c7645 } /* Literal.String.Double */ +.se { color: #bb8844 } /* Literal.String.Escape */ +.sh { color: #bb8844 } /* Literal.String.Heredoc */ +.si { color: #bb8844 } /* Literal.String.Interpol */ +.sx { color: #bb8844 } /* Literal.String.Other */ +.sr { color: #808000 } /* Literal.String.Regex */ +.s1 { color: #9c7645 } /* Literal.String.Single */ +.ss { color: #bb8844 } /* Literal.String.Symbol */ +.bp { color: #999999 } /* Name.Builtin.Pseudo */ +.vc { color: #008080 } /* Name.Variable.Class */ +.vg { color: #008080 } /* Name.Variable.Global */ +.vi { color: #008080 } /* Name.Variable.Instance */ +.il { color: #009999 } /* Literal.Number.Integer.Long */ diff --git a/docs/css/reset.css b/docs/css/reset.css new file mode 100644 index 000000000..1c85489d6 --- /dev/null +++ b/docs/css/reset.css @@ -0,0 +1,53 @@ +/* http://meyerweb.com/eric/tools/css/reset/ */ +/* v1.0 | 20080212 */ + +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, font, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td { + margin: 0; + padding: 0; + border: 0; + outline: 0; + font-size: 100%; + vertical-align: baseline; + background: transparent; +} +body { + line-height: 1; +} +ol, ul { + list-style: none; +} +blockquote, q { + quotes: none; +} +blockquote:before, blockquote:after, +q:before, q:after { + content: ''; + content: none; +} + +/* remember to define focus styles! */ +:focus { + outline: 0; +} + +/* remember to highlight inserts somehow! */ +ins { + text-decoration: none; +} +del { + text-decoration: line-through; +} + +/* tables still need 'cellspacing="0"' in the markup */ +table { + border-collapse: collapse; + border-spacing: 0; +} diff --git a/docs/css/screen.css b/docs/css/screen.css new file mode 100644 index 000000000..76d1461c9 --- /dev/null +++ b/docs/css/screen.css @@ -0,0 +1,358 @@ +/* **************************************************** + + @file screen.css + @description Screen stylesheet + vim: set noet ts=4 fdm=marker fenc=utf-8: + +***************************************************** */ + +@import url("./reset.css"); + +/* @section Basic {{{ +******************************************************************************/ + +html { + font-size: 62.5%; + font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif; +} + +html, body { height: 100%; } + +body { + font-size: 150%; + line-height: 1.4; + color: #F9D094; + background: #2E2A24; + position: relative; + behavior: url("/js/ie6/csshover.htc"); + padding: 0 30px; +} + +p,ul,ol,dl,table,pre { margin-bottom: 1em; } +ul { margin-left: 20px; } +a { text-decoration: none; cursor: pointer; color: #ba832c; font-weight: bold; } +a:focus { outline: 1px dotted; } +a:visited { } +a:hover, a:focus { color: #d3a459; text-decoration: none; } +a *, button * { cursor: pointer; } +hr { display: none; } +small { font-size: 90%; } +input, select, button, textarea, option { font-size: 100%; } +button, label, select, option, input[type=submit] { cursor: pointer; } +.group:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } .group {display: inline-block;} +/* Hides from IE-mac \*/ * html .group {height: 1%;} .group {display: block;} /* End hide from IE-mac */ +sup { font-size: 80%; line-height: 1; vertical-align: super; } +button::-moz-focus-inner { border: 0; padding: 1px; } +span.amp { font-weight: normal; font-style: italic; font-size: 1.2em; line-height: 0.8; } +h1,h2,h3,h4,h5,h6 { line-height: 1.1; } + +::selection { background: #745626; } +::-moz-selection { background: #745626; } + +h1, h2, h3 { + font-size: 420%; + margin: 0 0 0.1em; + font-weight: 900; + text-shadow: 1px 1px 10px rgba(0,0,0,0.25); +} + +h2 { + font-size: 300%; + text-align: center; + font-weight: 800; + color: #F9D094; + margin-top: 0.5em; + margin-bottom: 0.1em; +} + +h3 { + font-size: 125%; + text-align: center; + font-weight: 800; + color: #F9D094; + margin-top: 0.5em; + margin-bottom: 0.1em; +} + +#forkme { + width: 149px; + height: 149px; + position: absolute; + top: 0; + right: 0; + border: 0 +} + +h1 a, +h1 a:hover { + color: #F9D094; + font-weight: 900; + text-decoration: none; +} + +#wrap { + width: 57em; + /*width: 760px;*/ + max-width: 100%; + margin: 0 auto; + padding: 15px 0 0; +} + +#header { + text-align: center; + margin-bottom: 1em; +} + +#language { + margin-bottom: 2em; +} + +pre { + background: rgba(0,0,0,0.3); + color: #fff; + padding: 8px 10px; + border-radius: 0.4em; + -moz-border-radius: 0.4em; + -webkit-border-radius: 0.4em; + overflow-x: auto; +} + +pre code { + font-family: "Monaco", "Menlo", monospace; + font-size: 11px; + line-height: 1.6; +} + +#selectable { + font-size: 13px; +} + +.avatar { + border-radius: 0.4em; + overflow: hidden; + margin-right: 0.5em; + vertical-align: middle; +} + +#home, #page, .postcontent { + font-size: 1.2em; + min-width: 25em; + max-width: 35em; + margin: 0 auto; + margin-top: 1em; + padding-top: 1em; + padding-bottom: 1em; +} + +#home img, #page img, .postcontent img { + min-width: 25em; + max-width: 35em; +} + +#home th, #page th, .postcontent th, #home td, #page td, .postcontent td { + padding: 0.25em 0.5em; +} + +#post, #home, #page, .singlepostcontent, .posts li { + border-top: 1px solid rgba(255,255,255,0.08); + box-shadow: 0 -1px 0 rgba(0,0,0,0.5); +} + +#home ul, #page ul, .postcontent ul { + list-style: inherit; +} + +#home h1, #page h1 { + font-size: 250%; + font-weight: 800; + text-align: center; + padding-bottom: 0.5em; +} + +#home h2, #page h2 { + font-size: 175%; + font-weight: 700; + text-align: left; + padding-bottom: 0.3em; +} + +#home h3, #page h3 { + font-size: 150%; + font-weight: 700; + text-align: left; + padding-bottom: 0.3em; +} + +#home code, #page code { + font-size: 100%; +} + +#home pre code, #page pre code { + font-size: 80%; +} + +/*}}}*/ + +/* @section Informations {{{ +******************************************************************************/ + +#informations { + border-top: 1px solid rgba(0,0,0,0.5); +} + +#informations ul { + margin: 0; +} + +#informations .row, #border-bottom { + border-bottom: 1px solid rgba(0,0,0,0.5); + border-top: 1px solid rgba(255,255,255,0.08); + padding: 2em 20px 0; +} + +#informations .row .col-1 { + width: 49%; + float: left; + padding: 0 0 1em; +} + +#informations .row .col-2 { + width: 49%; + float: right; + padding: 0 0 1em; +} + +@media screen and (min-width: 700px) { + #informations .highlight { + margin-inline-end: 0; + -moz-margin-end: 0; + -webkit-margin-end: 0; + } +} + +.button { + text-align: center; + margin: 1em 0 2em; +} + +#informations .button a { + background: rgba(162,107,20,0.3); + padding: 8px 10px 6px; + border-radius: 0.4em; + -moz-border-radius: 0.4em; + -webkit-border-radius: 0.4em; + box-shadow: 0 0 5px rgba(0,0,0,0.4); + -moz-box-shadow: 0 0 5px rgba(0,0,0,0.4); + -webkit-box-shadow: 0 0 5px rgba(0,0,0,0.4); + text-decoration: none; + font-size: larger; +} + +#informations .button a:hover { + background: rgba(162,107,20,0.25); +} + +#informations .button-large { + padding: 2em 0 1em; + font-size: 120%; +} + +#informations .quote { + text-align: center; + color: #816f51; + padding-bottom: 2em; +} + +#informations .quote blockquote { + font-size: 140%; + padding: 0 15%; +} + +#informations .quote blockquote span { + font-size: 140%; + line-height: 0.5; + vertical-align: sub; +} + +#informations .quote cite { + font-style: normal; +} + +#informations .quote cite a { + font-weight: normal; +} + +#informations .credits, #border-no-bottom { + border-bottom: none; + font-size: 70%; + text-align: center; + padding-top: 1.8em; + opacity: 0.5; +} + +#informations .credits p { + margin: 0; + padding: 0 0 0.7em; +} + +/*}}}*/ + +/* @section Mobile {{{ +******************************************************************************/ +@media screen and (max-width: 700px) { + body { + padding: 0px; + } + + h1 { + font-size: 350%; + } + + h2 { + font-size: 250%; + } + + #forkme { + width: 100px; + height: 100px; + } + + #informations .row .col-1 { + width: 100%; + padding: 0; + margin: 0; + } + + #informations .row .col-2 { + width: 100%; + float: left; + } + pre code#selectable { + width: 90%; + margin: 0 auto; + } +} +/*}}}*/ + +/* @section RTL {{{ +******************************************************************************/ +[dir="rtl"] ul { margin-left: 0; margin-right: 20px; } + +[dir="rtl"] pre { + direction: ltr; + text-align: left; +} + +[dir="rtl"] #informations .row .col-1 { + float: right; +} + +[dir="rtl"] #informations .row .col-2 { + float: left; +} + +@media screen and (max-width: 700px) { + [dir="rtl"] #informations .row .col-2 { + float: right; + } +} diff --git a/docs/favicon.ico b/docs/favicon.ico new file mode 120000 index 000000000..2082fb7fc --- /dev/null +++ b/docs/favicon.ico @@ -0,0 +1 @@ +img/favicon.ico
\ No newline at end of file diff --git a/docs/img/apple-touch-icon-114x114-precomposed.png b/docs/img/apple-touch-icon-114x114-precomposed.png Binary files differnew file mode 100644 index 000000000..88dde6feb --- /dev/null +++ b/docs/img/apple-touch-icon-114x114-precomposed.png diff --git a/docs/img/apple-touch-icon-120x120-precomposed.png b/docs/img/apple-touch-icon-120x120-precomposed.png Binary files differnew file mode 100644 index 000000000..6ff8dede5 --- /dev/null +++ b/docs/img/apple-touch-icon-120x120-precomposed.png diff --git a/docs/img/apple-touch-icon-144x144-precomposed.png b/docs/img/apple-touch-icon-144x144-precomposed.png Binary files differnew file mode 100644 index 000000000..9f76fb088 --- /dev/null +++ b/docs/img/apple-touch-icon-144x144-precomposed.png diff --git a/docs/img/apple-touch-icon-152x152-precomposed.png b/docs/img/apple-touch-icon-152x152-precomposed.png Binary files differnew file mode 100644 index 000000000..914c40b69 --- /dev/null +++ b/docs/img/apple-touch-icon-152x152-precomposed.png diff --git a/docs/img/apple-touch-icon-180x180-precomposed.png b/docs/img/apple-touch-icon-180x180-precomposed.png Binary files differnew file mode 100644 index 000000000..849e941d3 --- /dev/null +++ b/docs/img/apple-touch-icon-180x180-precomposed.png diff --git a/docs/img/apple-touch-icon-57x57-precomposed.png b/docs/img/apple-touch-icon-57x57-precomposed.png Binary files differnew file mode 100644 index 000000000..c1f0fef2a --- /dev/null +++ b/docs/img/apple-touch-icon-57x57-precomposed.png diff --git a/docs/img/apple-touch-icon-72x72-precomposed.png b/docs/img/apple-touch-icon-72x72-precomposed.png Binary files differnew file mode 100644 index 000000000..bf667da22 --- /dev/null +++ b/docs/img/apple-touch-icon-72x72-precomposed.png diff --git a/docs/img/apple-touch-icon-76x76-precomposed.png b/docs/img/apple-touch-icon-76x76-precomposed.png Binary files differnew file mode 100644 index 000000000..e683a489a --- /dev/null +++ b/docs/img/apple-touch-icon-76x76-precomposed.png diff --git a/docs/images/analytics.png b/docs/img/docs/analytics.png Binary files differindex d13725d15..d13725d15 100644 --- a/docs/images/analytics.png +++ b/docs/img/docs/analytics.png diff --git a/docs/images/brew-test-bot-failed-jenkins.png b/docs/img/docs/brew-test-bot-failed-jenkins.png Binary files differindex bdfa8205f..bdfa8205f 100644 --- a/docs/images/brew-test-bot-failed-jenkins.png +++ b/docs/img/docs/brew-test-bot-failed-jenkins.png diff --git a/docs/images/brew-test-bot-failed-pr.png b/docs/img/docs/brew-test-bot-failed-pr.png Binary files differindex 2487ac446..2487ac446 100644 --- a/docs/images/brew-test-bot-failed-pr.png +++ b/docs/img/docs/brew-test-bot-failed-pr.png diff --git a/docs/images/brew-test-bot-failed-test.png b/docs/img/docs/brew-test-bot-failed-test.png Binary files differindex 0820910e7..0820910e7 100644 --- a/docs/images/brew-test-bot-failed-test.png +++ b/docs/img/docs/brew-test-bot-failed-test.png diff --git a/docs/images/brew-test-bot-passed-jenkins.png b/docs/img/docs/brew-test-bot-passed-jenkins.png Binary files differindex be0467581..be0467581 100644 --- a/docs/images/brew-test-bot-passed-jenkins.png +++ b/docs/img/docs/brew-test-bot-passed-jenkins.png diff --git a/docs/images/brew-test-bot-passed-pr.png b/docs/img/docs/brew-test-bot-passed-pr.png Binary files differindex 06acd5880..06acd5880 100644 --- a/docs/images/brew-test-bot-passed-pr.png +++ b/docs/img/docs/brew-test-bot-passed-pr.png diff --git a/docs/images/brew-test-bot-triggered-pr.png b/docs/img/docs/brew-test-bot-triggered-pr.png Binary files differindex 3643dcdbb..3643dcdbb 100644 --- a/docs/images/brew-test-bot-triggered-pr.png +++ b/docs/img/docs/brew-test-bot-triggered-pr.png diff --git a/docs/img/favicon-16x16.png b/docs/img/favicon-16x16.png Binary files differnew file mode 100644 index 000000000..95bca9b8c --- /dev/null +++ b/docs/img/favicon-16x16.png diff --git a/docs/img/favicon-192x192.png b/docs/img/favicon-192x192.png Binary files differnew file mode 100644 index 000000000..1ac8eeecc --- /dev/null +++ b/docs/img/favicon-192x192.png diff --git a/docs/img/favicon-32x32.png b/docs/img/favicon-32x32.png Binary files differnew file mode 100644 index 000000000..724f3f07c --- /dev/null +++ b/docs/img/favicon-32x32.png diff --git a/docs/img/favicon-96x96.png b/docs/img/favicon-96x96.png Binary files differnew file mode 100644 index 000000000..2e3337c13 --- /dev/null +++ b/docs/img/favicon-96x96.png diff --git a/docs/img/favicon.ico b/docs/img/favicon.ico Binary files differnew file mode 100644 index 000000000..e220b4bc9 --- /dev/null +++ b/docs/img/favicon.ico diff --git a/docs/img/homebrew-256x256.png b/docs/img/homebrew-256x256.png Binary files differnew file mode 100644 index 000000000..85aa2a146 --- /dev/null +++ b/docs/img/homebrew-256x256.png diff --git a/manpages/brew.1 b/manpages/brew.1 index 405e67301..7cad10571 100644 --- a/manpages/brew.1 +++ b/manpages/brew.1 @@ -216,7 +216,7 @@ Pass \fB\-\-all\fR to get information on all formulae, or \fB\-\-installed\fR to See the docs for examples of using the JSON output: \fIhttp://docs\.brew\.sh/Querying\-Brew\.html\fR . .TP -\fBinstall\fR [\fB\-\-debug\fR] [\fB\-\-env=\fR\fIstd\fR|\fIsuper\fR] [\fB\-\-ignore\-dependencies\fR] [\fB\-\-only\-dependencies\fR] [\fB\-\-cc=\fR\fIcompiler\fR] [\fB\-\-build\-from\-source\fR] [\fB\-\-devel\fR|\fB\-\-HEAD\fR] [\fB\-\-keep\-tmp\fR] \fIformula\fR +\fBinstall\fR [\fB\-\-debug\fR] [\fB\-\-env=\fR(\fBstd\fR|\fBsuper\fR)] [\fB\-\-ignore\-dependencies\fR|\fB\-\-only\-dependencies\fR] [\fB\-\-cc=\fR\fIcompiler\fR] [\fB\-\-build\-from\-source\fR|\fB\-\-force\-bottle\fR] [\fB\-\-devel\fR|\fB\-\-HEAD\fR] [\fB\-\-keep\-tmp\fR] [\fB\-\-build\-bottle\fR] \fIformula\fR Install \fIformula\fR\. . .IP @@ -258,6 +258,9 @@ If \fB\-\-HEAD\fR is passed, and \fIformula\fR defines it, install the HEAD vers .IP If \fB\-\-keep\-tmp\fR is passed, the temporary files created during installation are not deleted\. . +.IP +If \fB\-\-build\-bottle\fR is passed, prepare the formula for eventual bottling during installation\. +. .TP \fBinstall\fR \fB\-\-interactive\fR [\fB\-\-git\fR] \fIformula\fR Download and patch \fIformula\fR, then open a shell\. This allows the user to run \fB\./configure \-\-help\fR and otherwise determine how to turn the software package into a Homebrew formula\. @@ -406,7 +409,10 @@ Search for \fItext\fR in the given package manager\'s list\. . .TP \fBsh\fR [\fB\-\-env=std\fR] -Instantiate a Homebrew build environment\. Uses our years\-battle\-hardened Homebrew build logic to help your \fB\./configure && make && make install\fR or even your \fBgem install\fR succeed\. Especially handy if you run Homebrew in an Xcode\-only configuration since it adds tools like \fBmake\fR to your \fBPATH\fR which otherwise build\-systems would not find\. +Start a Homebrew build environment shell\. Uses our years\-battle\-hardened Homebrew build logic to help your \fB\./configure && make && make install\fR or even your \fBgem install\fR succeed\. Especially handy if you run Homebrew in an Xcode\-only configuration since it adds tools like \fBmake\fR to your \fBPATH\fR which otherwise build systems would not find\. +. +.IP +If \fB\-\-env=std\fR is passed, use the standard \fBPATH\fR instead of superenv\'s\. . .TP \fBstyle\fR [\fB\-\-fix\fR] [\fB\-\-display\-cop\-names\fR] [\fIfiles\fR|\fItaps\fR|\fIformulae\fR] @@ -653,12 +659,30 @@ If \fB\-\-display\-filename\fR is passed, every line of output is prefixed with \fBaudit\fR exits with a non\-zero status if any errors are found\. This is useful, for instance, for implementing pre\-commit hooks\. . .TP -\fBbottle\fR [\fB\-\-verbose\fR] [\fB\-\-no\-rebuild\fR] [\fB\-\-keep\-old\fR] [\fB\-\-skip\-relocation\fR] [\fB\-\-root\-url=\fR\fIURL\fR] [\fB\-\-force\-core\-tap\fR]: - +\fBbottle\fR [\fB\-\-verbose\fR] [\fB\-\-no\-rebuild\fR|\fB\-\-keep\-old\fR] [\fB\-\-skip\-relocation\fR] [\fB\-\-root\-url=\fR\fIURL\fR] [\fB\-\-force\-core\-tap\fR] \fIformulae\fR +Generate a bottle (binary package) from a formula installed with \fB\-\-build\-bottle\fR\. +. +.IP +If the formula specifies a rebuild version, it will be incremented in the generated DSL\. Passing \fB\-\-keep\-old\fR will attempt to keep it at its original value, while \fB\-\-no\-rebuild\fR will remove it\. +. +.IP +If \fB\-\-verbose\fR is passed, print the bottling commands and any warnings encountered\. +. +.IP +If \fB\-\-skip\-relocation\fR is passed, do not check if the bottle can be marked as relocatable\. +. +.IP +If \fB\-\-root\-url\fR is passed, use the specified \fIURL\fR as the root of the bottle\'s URL instead of Homebrew\'s default\. +. +.IP +If \fB\-\-force\-core\-tap\fR is passed, build a bottle even if \fIformula\fR is not in homebrew/core or any installed taps\. . .TP -\fBbottle\fR \fB\-\-merge\fR [\fB\-\-no\-commit\fR] [\fB\-\-keep\-old\fR] [\fB\-\-write\fR] -Generate a bottle (binary package) from a formula installed with \fB\-\-build\-bottle\fR\. +\fBbottle\fR \fB\-\-merge\fR [\fB\-\-keep\-old\fR] [\fB\-\-write\fR [\fB\-\-no\-commit\fR]] \fIformulae\fR +Generate a bottle from a formula and print the new DSL merged into the existing formula\. +. +.IP +If \fB\-\-write\fR is passed, write the changes to the formula file\. A new commit will then be generated unless \fB\-\-no\-commit\fR is passed\. . .TP \fBbump\-formula\-pr\fR [\fB\-\-devel\fR] [\fB\-\-dry\-run\fR [\fB\-\-write\fR]] [\fB\-\-audit\fR|\fB\-\-strict\fR] [\fB\-\-mirror=\fR\fIURL\fR] [\fB\-\-version=\fR\fIversion\fR] [\fB\-\-message=\fR\fImessage\fR] (\fB\-\-url=\fR\fIURL\fR \fB\-\-sha256=\fR\fIsha\-256\fR|\fB\-\-tag=\fR\fItag\fR \fB\-\-revision=\fR\fIrevision\fR) \fIformula\fR @@ -816,11 +840,29 @@ If \fB\-\-keep\-tmp\fR is passed, the temporary files created for the test are n Example: \fBbrew install jruby && brew test jruby\fR . .TP -\fBtests\fR [\fB\-v\fR] [\fB\-\-coverage\fR] [\fB\-\-generic\fR] [\fB\-\-no\-compat\fR] [\fB\-\-only=\fR\fItest_script\fR\fB:\fR\fIline_number\fR] [\fB\-\-seed\fR \fIseed\fR] [\fB\-\-online\fR] [\fB\-\-official\-cmd\-taps\fR] -Run Homebrew\'s unit and integration tests\. +\fBtests\fR [\fB\-\-verbose\fR] [\fB\-\-coverage\fR] [\fB\-\-generic\fR] [\fB\-\-no\-compat\fR] [\fB\-\-only=\fR\fItest_script\fR[\fB:\fR\fIline_number\fR]] [\fB\-\-seed\fR \fIseed\fR] [\fB\-\-online\fR] [\fB\-\-official\-cmd\-taps\fR] +Run Homebrew\'s unit and integration tests\. If provided, \fB\-\-only=\fR\fItest_script\fR runs only \fItest_script\fR_spec\.rb, and \fB\-\-seed\fR randomizes tests with the provided value instead of a random seed\. +. +.IP +If \fB\-\-verbose\fR is passed, print the command that runs the tests\. +. +.IP +If \fB\-\-coverage\fR is passed, also generate code coverage reports\. +. +.IP +If \fB\-\-generic\fR is passed, only run OS\-agnostic tests\. +. +.IP +If \fB\-\-no\-compat\fR is passed, do not load the compatibility layer when running tests\. +. +.IP +If \fB\-\-online\fR is passed, include tests that use the GitHub API\. +. +.IP +If \fB\-\-official\-cmd\-taps\fR is passed, include tests that use any of the taps for official external commands\. . .TP -\fBupdate\-test\fR [\fB\-\-commit=\fR\fIcommit\fR] [\fB\-\-before=\fR\fIdate\fR] [\fB\-\-keep\-tmp\fR] +\fBupdate\-test\fR [\fB\-\-commit=\fR\fIcommit\fR] [\fB\-\-before=\fR\fIdate\fR] [\fB\-\-to\-tag\fR] [\fB\-\-keep\-tmp\fR] Runs a test of \fBbrew update\fR with a new repository clone\. . .IP @@ -850,7 +892,7 @@ Install macOS applications distributed as binaries: \fIhttps://github\.com/caskr . .TP \fBservices\fR -Integrates Homebrew formulae with macOS\'s \fBlaunchctl\fR manager: \fIhttps://github\.com/Homebrew/homebrew\-services\fR +Integrates Homebrew formulae with macOS\'s \fBlaunchctl\fR(1) manager: \fIhttps://github\.com/Homebrew/homebrew\-services\fR . .SH "CUSTOM EXTERNAL COMMANDS" Homebrew, like \fBgit\fR(1), supports external commands\. These are executable scripts that reside somewhere in the \fBPATH\fR, named \fBbrew\-\fR\fIcmdname\fR or \fBbrew\-\fR\fIcmdname\fR\fB\.rb\fR, which can be invoked like \fBbrew\fR \fIcmdname\fR\. This allows you to create your own commands without modifying Homebrew\'s internals\. |
