From b914411ac8deacd8f8b8f3f6bdcb031808b37f4f Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Wed, 12 May 2021 13:37:18 +0100 Subject: [PATCH] Delete Bintray code Remove all code related to Bintray. It no longer works so there's no point keeping it around. Some of this could arguably be deprecated/disabled first/instead but: I'm not sure I see the sense in keeping stuff around that's known to be broken. --- Library/Homebrew/archive.rb | 10 +- Library/Homebrew/bintray.rb | 278 ------------------ Library/Homebrew/cli/args.rbi | 5 - Library/Homebrew/cmd/vendor-install.sh | 5 +- Library/Homebrew/dev-cmd/bottle.rb | 10 - .../Homebrew/dev-cmd/dispatch-build-bottle.rb | 2 +- Library/Homebrew/dev-cmd/mirror.rb | 26 +- Library/Homebrew/dev-cmd/pr-pull.rb | 40 +-- Library/Homebrew/dev-cmd/pr-upload.rb | 19 -- Library/Homebrew/env_config.rb | 6 - Library/Homebrew/software_spec.rb | 3 - .../sorbet/rbi/hidden-definitions/hidden.rbi | 9 - Library/Homebrew/test/dev-cmd/bottle_spec.rb | 4 - .../test/utils/bottles/bintray_spec.rb | 21 -- Library/Homebrew/utils/bottles.rb | 18 -- completions/bash/brew | 7 - completions/fish/brew.fish | 11 +- completions/zsh/_brew | 16 +- docs/Manpage.md | 14 +- manpages/brew.1 | 26 +- 20 files changed, 22 insertions(+), 508 deletions(-) delete mode 100644 Library/Homebrew/bintray.rb delete mode 100644 Library/Homebrew/test/utils/bottles/bintray_spec.rb diff --git a/Library/Homebrew/archive.rb b/Library/Homebrew/archive.rb index 46e4e6a64b..7ed40d91f7 100644 --- a/Library/Homebrew/archive.rb +++ b/Library/Homebrew/archive.rb @@ -130,8 +130,14 @@ class Archive warn_on_error: T.nilable(T::Boolean)).void } def upload_bottles(bottles_hash, warn_on_error: false) - bottles_hash.each do |_formula_name, bottle_hash| - directory = bottle_hash["bintray"]["repository"] + bottles_hash.each do |formula_full_name, bottle_hash| + _, formula_tap_repo, = formula_full_name.split("/") + directory = if formula_tap_repo + "bottles-#{tap.repo}" + else + "bottles" + end + bottle_count = bottle_hash["bottle"]["tags"].length bottle_hash["bottle"]["tags"].each_value do |tag_hash| diff --git a/Library/Homebrew/bintray.rb b/Library/Homebrew/bintray.rb deleted file mode 100644 index 35ae592a14..0000000000 --- a/Library/Homebrew/bintray.rb +++ /dev/null @@ -1,278 +0,0 @@ -# typed: false -# frozen_string_literal: true - -require "utils/curl" -require "json" - -# Bintray API client. -# -# @api private -class Bintray - extend T::Sig - - include Context - include Utils::Curl - - API_URL = "https://api.bintray.com" - URL_REGEX = %r{^https://[\w-]+\.bintray\.com/}.freeze - - class Error < RuntimeError - end - - sig { returns(String) } - def inspect - "#" - end - - sig { params(org: T.nilable(String)).void } - def initialize(org: "homebrew") - @bintray_org = org - - raise UsageError, "Must set a Bintray organisation!" unless @bintray_org - - ENV["HOMEBREW_FORCE_HOMEBREW_ON_LINUX"] = "1" if @bintray_org == "homebrew" && !OS.mac? - end - - def open_api(url, *args, auth: true) - if auth - raise UsageError, "HOMEBREW_BINTRAY_USER is unset." unless (user = Homebrew::EnvConfig.bintray_user) - raise UsageError, "HOMEBREW_BINTRAY_KEY is unset." unless (key = Homebrew::EnvConfig.bintray_key) - - args += ["--user", "#{user}:#{key}"] - end - - curl(*args, url, print_stdout: false, secrets: key) - end - - sig { - params(local_file: String, - repo: String, - package: String, - version: String, - remote_file: String, - sha256: T.nilable(String), - warn_on_error: T.nilable(T::Boolean)).void - } - def upload(local_file, repo:, package:, version:, remote_file:, sha256: nil, warn_on_error: false) - unless File.exist? local_file - msg = "#{local_file} for upload doesn't exist!" - raise Error, msg unless warn_on_error - - # Warn and return early here since we know this upload is going to fail. - opoo msg - return - end - - url = "#{API_URL}/content/#{@bintray_org}/#{repo}/#{package}/#{version}/#{remote_file}" - args = ["--upload-file", local_file] - args += ["--header", "X-Checksum-Sha2: #{sha256}"] if sha256.present? - args << "--fail" unless warn_on_error - - result = T.unsafe(self).open_api(url, *args) - - json = JSON.parse(result.stdout) - return if json["message"] == "success" - - msg = "Bottle upload failed: #{json["message"]}" - raise msg unless warn_on_error - - opoo msg - end - - sig { - params(repo: String, - package: String, - version: String, - file_count: T.nilable(Integer), - warn_on_error: T.nilable(T::Boolean)).void - } - def publish(repo:, package:, version:, file_count:, warn_on_error: false) - url = "#{API_URL}/content/#{@bintray_org}/#{repo}/#{package}/#{version}/publish" - upload_args = %w[--request POST] - upload_args += ["--fail"] unless warn_on_error - result = T.unsafe(self).open_api(url, *upload_args) - json = JSON.parse(result.stdout) - if file_count.present? && json["files"] != file_count - message = "Bottle publish failed: expected #{file_count} bottles, but published #{json["files"]} instead." - raise message unless warn_on_error - - opoo message - end - - odebug "Published #{json["files"]} bottles" - end - - sig { params(org: T.nilable(String)).returns(T::Boolean) } - def official_org?(org: @bintray_org) - %w[homebrew linuxbrew].include? org - end - - sig { params(url: String).returns(T::Boolean) } - def stable_mirrored?(url) - headers, = curl_output("--connect-timeout", "15", "--location", "--head", url) - status_code = headers.scan(%r{^HTTP/.* (\d+)}).last.first - status_code.start_with?("2") - end - - sig { - params(formula: Formula, - repo: String, - publish_package: T::Boolean, - warn_on_error: T::Boolean).returns(String) - } - def mirror_formula(formula, repo: "mirror", publish_package: false, warn_on_error: false) - package = Utils::Bottles::Bintray.package formula.name - - create_package(repo: repo, package: package) unless package_exists?(repo: repo, package: package) - - formula.downloader.fetch - - version = ERB::Util.url_encode(formula.pkg_version) - filename = ERB::Util.url_encode(formula.downloader.basename) - destination_url = "https://dl.bintray.com/#{@bintray_org}/#{repo}/#{filename}" - - odebug "Uploading to #{destination_url}" - - upload( - formula.downloader.cached_location, - repo: repo, - package: package, - version: version, - sha256: formula.stable.checksum, - remote_file: filename, - warn_on_error: warn_on_error, - ) - return destination_url unless publish_package - - odebug "Publishing #{@bintray_org}/#{repo}/#{package}/#{version}" - publish(repo: repo, package: package, version: version, file_count: 1, warn_on_error: warn_on_error) - - destination_url - end - - sig { params(repo: String, package: String).void } - def create_package(repo:, package:) - url = "#{API_URL}/packages/#{@bintray_org}/#{repo}" - data = { name: package, public_download_numbers: true } - data[:public_stats] = official_org? - open_api(url, "--header", "Content-Type: application/json", "--request", "POST", "--data", data.to_json) - end - - sig { params(repo: String, package: String).returns(T::Boolean) } - def package_exists?(repo:, package:) - url = "#{API_URL}/packages/#{@bintray_org}/#{repo}/#{package}" - begin - open_api(url, "--fail", "--silent", "--output", "/dev/null", auth: false) - rescue ErrorDuringExecution => e - stderr = e.output - .select { |type,| type == :stderr } - .map { |_, line| line } - .join - raise if e.status.exitstatus != 22 && stderr.exclude?("404 Not Found") - - false - else - true - end - end - - # Gets the SHA-256 checksum of the specified remote file. - # - # @return the checksum, the empty string (if the file doesn't have a checksum), nil (if the file doesn't exist) - sig { params(repo: String, remote_file: String).returns(T.nilable(String)) } - def remote_checksum(repo:, remote_file:) - url = "https://dl.bintray.com/#{@bintray_org}/#{repo}/#{remote_file}" - result = curl_output "--fail", "--silent", "--head", url - if result.success? - result.stdout.match(/^X-Checksum-Sha2:\s+(\h{64})\b/i)&.values_at(1)&.first || "" - else - raise Error if result.status.exitstatus != 22 && result.stderr.exclude?("404 Not Found") - - nil - end - end - - sig { params(bintray_repo: String, bintray_package: String, filename: String).returns(String) } - def file_delete_instructions(bintray_repo, bintray_package, filename) - <<~EOS - Remove this file manually in your web browser: - https://bintray.com/#{@bintray_org}/#{bintray_repo}/#{bintray_package}/view#files - Or run: - curl -X DELETE -u $HOMEBREW_BINTRAY_USER:$HOMEBREW_BINTRAY_KEY \\ - https://api.bintray.com/content/#{@bintray_org}/#{bintray_repo}/#{filename} - EOS - end - - sig { - params(bottles_hash: T::Hash[String, T.untyped], - publish_package: T::Boolean, - warn_on_error: T.nilable(T::Boolean)).void - } - def upload_bottles(bottles_hash, publish_package: false, warn_on_error: false) - formula_packaged = {} - - bottles_hash.each do |formula_name, bottle_hash| - version = ERB::Util.url_encode(bottle_hash["formula"]["pkg_version"]) - bintray_package = bottle_hash["bintray"]["package"] - bintray_repo = bottle_hash["bintray"]["repository"] - bottle_count = bottle_hash["bottle"]["tags"].length - - bottle_hash["bottle"]["tags"].each do |tag, tag_hash| - filename = Bottle::Filename.new(bottle_hash["formula"]["name"], bottle_hash["formula"]["pkg_version"], - tag, bottle_hash["bottle"]["rebuild"]).bintray - sha256 = tag_hash["sha256"] - delete_instructions = file_delete_instructions(bintray_repo, bintray_package, filename) - - odebug "Checking remote file #{@bintray_org}/#{bintray_repo}/#{filename}" - result = remote_checksum(repo: bintray_repo, remote_file: filename) - - case result - when nil - # File doesn't exist. - if !formula_packaged[formula_name] && !package_exists?(repo: bintray_repo, package: bintray_package) - odebug "Creating package #{@bintray_org}/#{bintray_repo}/#{bintray_package}" - create_package repo: bintray_repo, package: bintray_package - formula_packaged[formula_name] = true - end - - odebug "Uploading #{@bintray_org}/#{bintray_repo}/#{bintray_package}/#{version}/#{filename}" - upload(tag_hash["local_filename"], - repo: bintray_repo, - package: bintray_package, - version: version, - remote_file: filename, - sha256: sha256, - warn_on_error: warn_on_error) - when sha256 - # File exists, checksum matches. - odebug "#{filename} is already published with matching hash." - bottle_count -= 1 - when "" - # File exists, but can't find checksum - failed_message = "#{filename} is already published!" - raise Error, "#{failed_message}\n#{delete_instructions}" unless warn_on_error - - opoo failed_message - else - # File exists, but checksum either doesn't exist or is mismatched. - failed_message = <<~EOS - #{filename} is already published with a mismatched hash! - Expected: #{sha256} - Actual: #{result} - EOS - raise Error, "#{failed_message}#{delete_instructions}" unless warn_on_error - - opoo failed_message - end - end - next unless publish_package - - odebug "Publishing #{@bintray_org}/#{bintray_repo}/#{bintray_package}/#{version}" - publish(repo: bintray_repo, - package: bintray_package, - version: version, - file_count: bottle_count, - warn_on_error: warn_on_error) - end - end -end diff --git a/Library/Homebrew/cli/args.rbi b/Library/Homebrew/cli/args.rbi index 3ef5dcf0c5..5e2751c0c7 100644 --- a/Library/Homebrew/cli/args.rbi +++ b/Library/Homebrew/cli/args.rbi @@ -183,11 +183,6 @@ module Homebrew sig { returns(T.nilable(String)) } def workflow; end - sig { returns(T.nilable(String)) } - def bintray_org; end - - sig { returns(T.nilable(String)) } - def bintray_repo; end sig { returns(T.nilable(String)) } def package_name; end diff --git a/Library/Homebrew/cmd/vendor-install.sh b/Library/Homebrew/cmd/vendor-install.sh index 0ab1bc3d74..be4293183f 100644 --- a/Library/Homebrew/cmd/vendor-install.sh +++ b/Library/Homebrew/cmd/vendor-install.sh @@ -87,7 +87,7 @@ fetch() { curl_args[${#curl_args[*]}]="-q" fi - # Authorization is needed for GitHub Packages but harmless on Bintray/GitHub Releases + # Authorization is needed for GitHub Packages but harmless on GitHub Releases curl_args+=( --fail --remote-time @@ -145,8 +145,7 @@ Failed to download ${VENDOR_URL} and ${VENDOR_URL2}! Do not file an issue on GitHub about this; you will need to figure out for yourself what issue with your internet connection restricts your access to -both Bintray (used for Homebrew bottles/binary packages) and GitHub -(used for Homebrew updates). +GitHub (used for Homebrew updates and binary packages). EOS fi diff --git a/Library/Homebrew/dev-cmd/bottle.rb b/Library/Homebrew/dev-cmd/bottle.rb index f7e3883bad..9acf1ee059 100644 --- a/Library/Homebrew/dev-cmd/bottle.rb +++ b/Library/Homebrew/dev-cmd/bottle.rb @@ -10,7 +10,6 @@ require "cli/parser" require "utils/inreplace" require "erb" require "archive" -require "bintray" BOTTLE_ERB = <<-EOS bottle do @@ -584,15 +583,6 @@ module Homebrew }, } - if bottle.root_url.match?(::Bintray::URL_REGEX) || - # TODO: given the naming: ideally the Internet Archive uploader wouldn't use this. - bottle.root_url.start_with?("#{::Archive::URL_PREFIX}/") - json[f.full_name]["bintray"] = { - "package" => Utils::Bottles::Bintray.package(f.name), - "repository" => Utils::Bottles::Bintray.repository(tap), - } - end - puts "Writing #{filename.json}" if args.verbose? json_path = Pathname(filename.json) json_path.unlink if json_path.exist? diff --git a/Library/Homebrew/dev-cmd/dispatch-build-bottle.rb b/Library/Homebrew/dev-cmd/dispatch-build-bottle.rb index 8e706acc02..04c51e3cc9 100644 --- a/Library/Homebrew/dev-cmd/dispatch-build-bottle.rb +++ b/Library/Homebrew/dev-cmd/dispatch-build-bottle.rb @@ -24,7 +24,7 @@ module Homebrew flag "--workflow=", description: "Dispatch specified workflow (default: `dispatch-build-bottle.yml`)." switch "--upload", - description: "Upload built bottles to Bintray." + description: "Upload built bottles." switch "--linux", description: "Dispatch bottle for Linux (using GitHub runners)." diff --git a/Library/Homebrew/dev-cmd/mirror.rb b/Library/Homebrew/dev-cmd/mirror.rb index 5518ac87cc..5764ec7919 100644 --- a/Library/Homebrew/dev-cmd/mirror.rb +++ b/Library/Homebrew/dev-cmd/mirror.rb @@ -1,7 +1,6 @@ # typed: true # frozen_string_literal: true -require "bintray" require "cli/parser" module Homebrew @@ -13,34 +12,13 @@ module Homebrew def mirror_args Homebrew::CLI::Parser.new do description <<~EOS - Reupload the stable URL of a formula to Bintray for use as a mirror. + Reupload the stable URL of a formula for use as a mirror. EOS - flag "--bintray-org=", - description: "Upload to the specified Bintray organisation (default: `homebrew`)." - flag "--bintray-repo=", - description: "Upload to the specified Bintray repository (default: `mirror`)." - switch "--no-publish", - description: "Upload to Bintray, but don't publish." - - named_args :formula, min: 1 - hide_from_man_page! end end def mirror - args = mirror_args.parse - - odeprecated "brew mirror (Bintray will be shut down on 1st May 2021)" - - bintray_org = args.bintray_org || "homebrew" - bintray_repo = args.bintray_repo || "mirror" - - bintray = Bintray.new(org: bintray_org) - - args.named.to_formulae.each do |formula| - mirror_url = bintray.mirror_formula(formula, repo: bintray_repo, publish_package: !args.no_publish?) - ohai "Mirrored #{formula.full_name} to #{mirror_url}!" - end + odisabled "`brew mirror` (Bintray was shut down on 1st May 2021)" end end diff --git a/Library/Homebrew/dev-cmd/pr-pull.rb b/Library/Homebrew/dev-cmd/pr-pull.rb index 74ee7d8fed..9c22f9cbcd 100644 --- a/Library/Homebrew/dev-cmd/pr-pull.rb +++ b/Library/Homebrew/dev-cmd/pr-pull.rb @@ -55,8 +55,6 @@ module Homebrew description: "Download artifacts with the specified name (default: `bottles`)." flag "--archive-item=", description: "Upload to the specified Internet Archive item (default: `homebrew`)." - flag "--bintray-org=", - description: "Upload to the specified Bintray organisation (default: `homebrew`)." flag "--tap=", description: "Target tap repository (default: `homebrew/core`)." flag "--root-url=", @@ -64,9 +62,6 @@ module Homebrew flag "--root-url-using=", description: "Use the specified download strategy class for downloading the bottle's URL instead of "\ "Homebrew's default." - flag "--bintray-mirror=", - description: "Use the specified Bintray repository to automatically mirror stable URLs "\ - "defined in the formulae (default: `mirror`)." comma_array "--workflows=", description: "Retrieve artifacts from the specified workflow (default: `tests.yml`). "\ "Can be a comma-separated list to include multiple workflows." @@ -74,7 +69,6 @@ module Homebrew description: "Comma-separated list of workflows which can be ignored if they have not been run." conflicts "--clean", "--autosquash" - conflicts "--archive-item", "--bintray-org" named_args :pull_request, min: 1 end @@ -308,26 +302,6 @@ module Homebrew end end - def mirror_formulae(tap, original_commit, org:, repo:, args:, publish: true) - changed_formulae(tap, original_commit).select do |f| - stable_urls = [f.stable.url] + f.stable.mirrors - stable_urls.grep(%r{^https://dl.bintray.com/#{org}/#{repo}/}) do |mirror_url| - if args.dry_run? - puts "brew mirror #{f.full_name}" - else - odebug "Mirroring #{mirror_url}" - mirror_args = ["mirror", f.full_name] - mirror_args << "--debug" if args.debug? - mirror_args << "--verbose" if args.verbose? - mirror_args << "--bintray-org=#{org}" if org - mirror_args << "--bintray-repo=#{repo}" if repo - mirror_args << "--no-publish" unless publish - system HOMEBREW_BREW_FILE, *mirror_args - end - end - end - end - def changed_formulae(tap, original_commit) if Homebrew::EnvConfig.disable_load_formula? opoo "Can't check if updated bottles are necessary as formula loading is disabled!" @@ -368,8 +342,6 @@ module Homebrew workflows = args.workflows.presence || ["tests.yml"] artifact = args.artifact || "bottles" archive_item = args.archive_item - bintray_org = args.bintray_org || "homebrew" - mirror_repo = args.bintray_mirror || "mirror" tap = Tap.fetch(args.tap || CoreTap.instance.name) Utils::Git.set_name_email!(committer: args.committer.blank?) @@ -403,12 +375,6 @@ module Homebrew verbose: args.verbose?, resolve: args.resolve?, reason: args.message) end signoff!(tap.path, pr: pr, dry_run: args.dry_run?) unless args.clean? - - unless args.no_upload? - mirror_formulae(tap, original_commit, - org: bintray_org, repo: mirror_repo, publish: !args.no_publish?, - args: args) - end end unless formulae_need_bottles?(tap, original_commit, user, repo, pr, args: args) @@ -447,11 +413,7 @@ module Homebrew upload_args << "--committer=#{args.committer}" if args.committer upload_args << "--root-url=#{args.root_url}" if args.root_url upload_args << "--root-url-using=#{args.root_url_using}" if args.root_url_using - upload_args << if archive_item.present? - "--archive-item=#{archive_item}" - else - "--bintray-org=#{bintray_org}" - end + upload_args << "--archive-item=#{archive_item}" if archive_item.present? safe_system HOMEBREW_BREW_FILE, *upload_args end end diff --git a/Library/Homebrew/dev-cmd/pr-upload.rb b/Library/Homebrew/dev-cmd/pr-upload.rb index 847cfcccb9..4607686504 100644 --- a/Library/Homebrew/dev-cmd/pr-upload.rb +++ b/Library/Homebrew/dev-cmd/pr-upload.rb @@ -3,7 +3,6 @@ require "cli/parser" require "archive" -require "bintray" require "github_packages" require "github_releases" @@ -34,8 +33,6 @@ module Homebrew description: "Specify a committer name and email in `git`'s standard author format." flag "--archive-item=", description: "Upload to the specified Internet Archive item (default: `homebrew`)." - flag "--bintray-org=", - description: "Upload to the specified Bintray organisation (default: `homebrew`)." flag "--github-org=", description: "Upload to the specified GitHub organisation's GitHub Packages (default: `homebrew`)." flag "--root-url=", @@ -65,12 +62,6 @@ module Homebrew end end - def bintray?(bottles_hash) - @bintray ||= bottles_hash.values.all? do |bottle_hash| - bottle_hash["bottle"]["root_url"].match? Bintray::URL_REGEX - end - end - def github_releases?(bottles_hash) @github_releases ||= bottles_hash.values.all? do |bottle_hash| root_url = bottle_hash["bottle"]["root_url"] @@ -126,8 +117,6 @@ module Homebrew nil elsif internet_archive?(bottles_hash) "Internet Archive" - elsif bintray?(bottles_hash) - "Bintray" elsif github_releases?(bottles_hash) "GitHub Releases" else @@ -176,14 +165,6 @@ module Homebrew archive = Archive.new(item: archive_item) archive.upload_bottles(bottles_hash, warn_on_error: args.warn_on_upload_failure?) - elsif bintray?(bottles_hash) - odeprecated "brew pr-upload for Bintray (Bintray will be shut down on 1st May 2021)" - - bintray_org = args.bintray_org || "homebrew" - bintray = Bintray.new(org: bintray_org) - bintray.upload_bottles(bottles_hash, - publish_package: !args.no_publish?, - warn_on_error: args.warn_on_upload_failure?) elsif github_releases?(bottles_hash) github_releases = GitHubReleases.new github_releases.upload_bottles(bottles_hash) diff --git a/Library/Homebrew/env_config.rb b/Library/Homebrew/env_config.rb index 95b1937295..def50503d5 100644 --- a/Library/Homebrew/env_config.rb +++ b/Library/Homebrew/env_config.rb @@ -33,12 +33,6 @@ module Homebrew description: "Use this as the `bat` configuration file.", default_text: "`$HOME/.bat/config`.", }, - HOMEBREW_BINTRAY_KEY: { - description: "Use this API key when accessing the Bintray API (where bottles are stored).", - }, - HOMEBREW_BINTRAY_USER: { - description: "Use this username when accessing the Bintray API (where bottles are stored).", - }, HOMEBREW_BOOTSNAP: { description: "If set, use Bootsnap to speed up repeated `brew` calls. "\ "A no-op when using Homebrew's vendored, relocatable Ruby on macOS (as it doesn't work).", diff --git a/Library/Homebrew/software_spec.rb b/Library/Homebrew/software_spec.rb index 3be1f16e2d..22cfe6589b 100644 --- a/Library/Homebrew/software_spec.rb +++ b/Library/Homebrew/software_spec.rb @@ -13,7 +13,6 @@ require "patch" require "compilers" require "os/mac/version" require "extend/on_os" -require "bintray" class SoftwareSpec extend T::Sig @@ -461,8 +460,6 @@ class BottleSpecification if var.nil? @root_url ||= if (github_packages_url = GitHubPackages.root_url_if_match(Homebrew::EnvConfig.bottle_domain)) github_packages_url - elsif Homebrew::EnvConfig.bottle_domain.match?(::Bintray::URL_REGEX) - "#{Homebrew::EnvConfig.bottle_domain}/#{Utils::Bottles::Bintray.repository(tap)}" else Homebrew::EnvConfig.bottle_domain end diff --git a/Library/Homebrew/sorbet/rbi/hidden-definitions/hidden.rbi b/Library/Homebrew/sorbet/rbi/hidden-definitions/hidden.rbi index d5d3a53ac7..2a12046c49 100644 --- a/Library/Homebrew/sorbet/rbi/hidden-definitions/hidden.rbi +++ b/Library/Homebrew/sorbet/rbi/hidden-definitions/hidden.rbi @@ -2893,11 +2893,6 @@ class Binding def irb(); end end -class Bintray - extend ::T::Private::Methods::MethodHooks - extend ::T::Private::Methods::SingletonMethodHooks -end - module Bootsnap def bundler?(); end VERSION = ::T.let(nil, ::T.untyped) @@ -8161,10 +8156,6 @@ module Homebrew::EnvConfig def self.bat_config_path(); end - def self.bintray_key(); end - - def self.bintray_user(); end - def self.bootsnap?(); end def self.bottle_domain(); end diff --git a/Library/Homebrew/test/dev-cmd/bottle_spec.rb b/Library/Homebrew/test/dev-cmd/bottle_spec.rb index 3564901578..d5d0950c40 100644 --- a/Library/Homebrew/test/dev-cmd/bottle_spec.rb +++ b/Library/Homebrew/test/dev-cmd/bottle_spec.rb @@ -680,10 +680,6 @@ def stub_hash(parameters) "sha256":"#{parameters[:sha256]}" } } - }, - "bintray":{ - "package":"#{parameters[:name]}", - "repository":"bottles" } } } diff --git a/Library/Homebrew/test/utils/bottles/bintray_spec.rb b/Library/Homebrew/test/utils/bottles/bintray_spec.rb deleted file mode 100644 index eb96058337..0000000000 --- a/Library/Homebrew/test/utils/bottles/bintray_spec.rb +++ /dev/null @@ -1,21 +0,0 @@ -# typed: false -# frozen_string_literal: true - -require "utils/bottles" - -describe Utils::Bottles::Bintray do - describe "::package" do - it "converts a Formula name to a package name" do - expect(described_class.package("openssl@1.1")).to eq("openssl:1.1") - expect(described_class.package("gtk+")).to eq("gtkx") - expect(described_class.package("llvm")).to eq("llvm") - end - end - - describe "::repository" do - it "returns the repository for a given Tap" do - expect(described_class.repository(Tap.new("homebrew", "bintray-test"))) - .to eq("bottles-bintray-test") - end - end -end diff --git a/Library/Homebrew/utils/bottles.rb b/Library/Homebrew/utils/bottles.rb index 43c89e27cd..0ee920ea32 100644 --- a/Library/Homebrew/utils/bottles.rb +++ b/Library/Homebrew/utils/bottles.rb @@ -215,24 +215,6 @@ module Utils end end - # Helper functions for bottles hosted on Bintray. - module Bintray - def self.package(formula_name) - package_name = formula_name.to_s.dup - package_name.tr!("+", "x") - package_name.sub!(/(.)@(\d)/, "\\1:\\2") # Handle foo@1.2 style formulae. - package_name - end - - def self.repository(tap = nil) - if tap.nil? || tap.core_tap? - "bottles" - else - "bottles-#{tap.repo}" - end - end - end - # Collector for bottle specifications. class Collector extend T::Sig diff --git a/completions/bash/brew b/completions/bash/brew index b742579eec..a3a79b154e 100644 --- a/completions/bash/brew +++ b/completions/bash/brew @@ -1383,11 +1383,8 @@ _brew_mirror() { case "${cur}" in -*) __brewcomp " - --bintray-org - --bintray-repo --debug --help - --no-publish --quiet --verbose " @@ -1395,7 +1392,6 @@ _brew_mirror() { ;; *) esac - __brew_complete_formulae } _brew_missing() { @@ -1545,8 +1541,6 @@ _brew_pr_pull() { --archive-item --artifact --autosquash - --bintray-mirror - --bintray-org --branch-okay --clean --committer @@ -1580,7 +1574,6 @@ _brew_pr_upload() { -*) __brewcomp " --archive-item - --bintray-org --committer --debug --dry-run diff --git a/completions/fish/brew.fish b/completions/fish/brew.fish index b71c079f23..7af2c0f4ea 100644 --- a/completions/fish/brew.fish +++ b/completions/fish/brew.fish @@ -585,7 +585,7 @@ __fish_brew_complete_arg 'dispatch-build-bottle' -l linux -d 'Dispatch bottle fo __fish_brew_complete_arg 'dispatch-build-bottle' -l macos -d 'Version of macOS the bottle should be built for' __fish_brew_complete_arg 'dispatch-build-bottle' -l quiet -d 'Make some output more quiet' __fish_brew_complete_arg 'dispatch-build-bottle' -l tap -d 'Target tap repository (default: `homebrew/core`)' -__fish_brew_complete_arg 'dispatch-build-bottle' -l upload -d 'Upload built bottles to Bintray' +__fish_brew_complete_arg 'dispatch-build-bottle' -l upload -d 'Upload built bottles' __fish_brew_complete_arg 'dispatch-build-bottle' -l verbose -d 'Make some output more verbose' __fish_brew_complete_arg 'dispatch-build-bottle' -l workflow -d 'Dispatch specified workflow (default: `dispatch-build-bottle.yml`)' __fish_brew_complete_arg 'dispatch-build-bottle' -a '(__fish_brew_suggest_formulae_all)' @@ -967,15 +967,11 @@ __fish_brew_complete_arg 'migrate' -l verbose -d 'Make some output more verbose' __fish_brew_complete_arg 'migrate' -a '(__fish_brew_suggest_formulae_installed)' -__fish_brew_complete_cmd 'mirror' 'Reupload the stable URL of a formula to Bintray for use as a mirror' -__fish_brew_complete_arg 'mirror' -l bintray-org -d 'Upload to the specified Bintray organisation (default: `homebrew`)' -__fish_brew_complete_arg 'mirror' -l bintray-repo -d 'Upload to the specified Bintray repository (default: `mirror`)' +__fish_brew_complete_cmd 'mirror' 'Reupload the stable URL of a formula for use as a mirror' __fish_brew_complete_arg 'mirror' -l debug -d 'Display any debugging information' __fish_brew_complete_arg 'mirror' -l help -d 'Show this message' -__fish_brew_complete_arg 'mirror' -l no-publish -d 'Upload to Bintray, but don\'t publish' __fish_brew_complete_arg 'mirror' -l quiet -d 'Make some output more quiet' __fish_brew_complete_arg 'mirror' -l verbose -d 'Make some output more verbose' -__fish_brew_complete_arg 'mirror' -a '(__fish_brew_suggest_formulae_all)' __fish_brew_complete_cmd 'missing' 'Check the given formula kegs for missing dependencies' @@ -1058,8 +1054,6 @@ __fish_brew_complete_cmd 'pr-pull' 'Download and publish bottles, and apply the __fish_brew_complete_arg 'pr-pull' -l archive-item -d 'Upload to the specified Internet Archive item (default: `homebrew`)' __fish_brew_complete_arg 'pr-pull' -l artifact -d 'Download artifacts with the specified name (default: `bottles`)' __fish_brew_complete_arg 'pr-pull' -l autosquash -d 'Automatically reformat and reword commits in the pull request to our preferred format' -__fish_brew_complete_arg 'pr-pull' -l bintray-mirror -d 'Use the specified Bintray repository to automatically mirror stable URLs defined in the formulae (default: `mirror`)' -__fish_brew_complete_arg 'pr-pull' -l bintray-org -d 'Upload to the specified Bintray organisation (default: `homebrew`)' __fish_brew_complete_arg 'pr-pull' -l branch-okay -d 'Do not warn if pulling to a branch besides the repository default (useful for testing)' __fish_brew_complete_arg 'pr-pull' -l clean -d 'Do not amend the commits from pull requests' __fish_brew_complete_arg 'pr-pull' -l committer -d 'Specify a committer name and email in `git`\'s standard author format' @@ -1084,7 +1078,6 @@ __fish_brew_complete_arg 'pr-pull' -l workflows -d 'Retrieve artifacts from the __fish_brew_complete_cmd 'pr-upload' 'Apply the bottle commit and publish bottles to a host' __fish_brew_complete_arg 'pr-upload' -l archive-item -d 'Upload to the specified Internet Archive item (default: `homebrew`)' -__fish_brew_complete_arg 'pr-upload' -l bintray-org -d 'Upload to the specified Bintray organisation (default: `homebrew`)' __fish_brew_complete_arg 'pr-upload' -l committer -d 'Specify a committer name and email in `git`\'s standard author format' __fish_brew_complete_arg 'pr-upload' -l debug -d 'Display any debugging information' __fish_brew_complete_arg 'pr-upload' -l dry-run -d 'Print what would be done rather than doing it' diff --git a/completions/zsh/_brew b/completions/zsh/_brew index fe36e5cc0e..2ccd77924e 100644 --- a/completions/zsh/_brew +++ b/completions/zsh/_brew @@ -177,7 +177,7 @@ __brew_internal_commands() { 'log:Show the `git log` for formula, or show the log for the Homebrew repository if no formula is provided' 'man:Generate Homebrew'\''s manpages' 'migrate:Migrate renamed packages to new names, where formula are old names of packages' - 'mirror:Reupload the stable URL of a formula to Bintray for use as a mirror' + 'mirror:Reupload the stable URL of a formula for use as a mirror' 'missing:Check the given formula kegs for missing dependencies' 'options:Show install options specific to formula' 'outdated:List installed casks and formulae that have an updated version available' @@ -721,7 +721,7 @@ _brew_dispatch_build_bottle() { '(--linux)--macos[Version of macOS the bottle should be built for]' \ '--quiet[Make some output more quiet]' \ '--tap[Target tap repository (default: `homebrew/core`)]' \ - '--upload[Upload built bottles to Bintray]' \ + '--upload[Upload built bottles]' \ '--verbose[Make some output more verbose]' \ '--workflow[Dispatch specified workflow (default: `dispatch-build-bottle.yml`)]' \ - formula \ @@ -1191,15 +1191,10 @@ _brew_migrate() { # brew mirror _brew_mirror() { _arguments \ - '--bintray-org[Upload to the specified Bintray organisation (default: `homebrew`)]' \ - '--bintray-repo[Upload to the specified Bintray repository (default: `mirror`)]' \ '--debug[Display any debugging information]' \ '--help[Show this message]' \ - '--no-publish[Upload to Bintray, but don'\''t publish]' \ '--quiet[Make some output more quiet]' \ - '--verbose[Make some output more verbose]' \ - - formula \ - '*::formula:__brew_formulae' + '--verbose[Make some output more verbose]' } # brew missing @@ -1301,11 +1296,9 @@ _brew_pr_publish() { # brew pr-pull _brew_pr_pull() { _arguments \ - '(--bintray-org)--archive-item[Upload to the specified Internet Archive item (default: `homebrew`)]' \ + '--archive-item[Upload to the specified Internet Archive item (default: `homebrew`)]' \ '--artifact[Download artifacts with the specified name (default: `bottles`)]' \ '(--clean)--autosquash[Automatically reformat and reword commits in the pull request to our preferred format]' \ - '--bintray-mirror[Use the specified Bintray repository to automatically mirror stable URLs defined in the formulae (default: `mirror`)]' \ - '(--archive-item)--bintray-org[Upload to the specified Bintray organisation (default: `homebrew`)]' \ '--branch-okay[Do not warn if pulling to a branch besides the repository default (useful for testing)]' \ '(--autosquash)--clean[Do not amend the commits from pull requests]' \ '--committer[Specify a committer name and email in `git`'\''s standard author format]' \ @@ -1332,7 +1325,6 @@ _brew_pr_pull() { _brew_pr_upload() { _arguments \ '--archive-item[Upload to the specified Internet Archive item (default: `homebrew`)]' \ - '--bintray-org[Upload to the specified Bintray organisation (default: `homebrew`)]' \ '--committer[Specify a committer name and email in `git`'\''s standard author format]' \ '--debug[Display any debugging information]' \ '--dry-run[Print what would be done rather than doing it]' \ diff --git a/docs/Manpage.md b/docs/Manpage.md index a340e167fb..5ab6404ff6 100644 --- a/docs/Manpage.md +++ b/docs/Manpage.md @@ -1027,7 +1027,7 @@ Build bottles for these formulae with GitHub Actions. * `--workflow`: Dispatch specified workflow (default: `dispatch-build-bottle.yml`). * `--upload`: - Upload built bottles to Bintray. + Upload built bottles. * `--linux`: Dispatch bottle for Linux (using GitHub runners). @@ -1185,16 +1185,12 @@ Requires write access to the repository. Download artifacts with the specified name (default: `bottles`). * `--archive-item`: Upload to the specified Internet Archive item (default: `homebrew`). -* `--bintray-org`: - Upload to the specified Bintray organisation (default: `homebrew`). * `--tap`: Target tap repository (default: `homebrew/core`). * `--root-url`: Use the specified *`URL`* as the root of the bottle's URL instead of Homebrew's default. * `--root-url-using`: Use the specified download strategy class for downloading the bottle's URL instead of Homebrew's default. -* `--bintray-mirror`: - Use the specified Bintray repository to automatically mirror stable URLs defined in the formulae (default: `mirror`). * `--workflows`: Retrieve artifacts from the specified workflow (default: `tests.yml`). Can be a comma-separated list to include multiple workflows. * `--ignore-missing-artifacts`: @@ -1218,8 +1214,6 @@ Apply the bottle commit and publish bottles to a host. Specify a committer name and email in `git`'s standard author format. * `--archive-item`: Upload to the specified Internet Archive item (default: `homebrew`). -* `--bintray-org`: - Upload to the specified Bintray organisation (default: `homebrew`). * `--github-org`: Upload to the specified GitHub organisation's GitHub Packages (default: `homebrew`). * `--root-url`: @@ -1805,12 +1799,6 @@ example, run `export HOMEBREW_NO_INSECURE_REDIRECT=1` rather than just *Default:* `$HOME/.bat/config`. -- `HOMEBREW_BINTRAY_KEY` -
Use this API key when accessing the Bintray API (where bottles are stored). - -- `HOMEBREW_BINTRAY_USER` -
Use this username when accessing the Bintray API (where bottles are stored). - - `HOMEBREW_BOOTSNAP`
If set, use Bootsnap to speed up repeated `brew` calls. A no-op when using Homebrew's vendored, relocatable Ruby on macOS (as it doesn't work). diff --git a/manpages/brew.1 b/manpages/brew.1 index 003aa3fb95..5bbf40cfb1 100644 --- a/manpages/brew.1 +++ b/manpages/brew.1 @@ -1449,7 +1449,7 @@ Dispatch specified workflow (default: \fBdispatch\-build\-bottle\.yml\fR)\. . .TP \fB\-\-upload\fR -Upload built bottles to Bintray\. +Upload built bottles\. . .TP \fB\-\-linux\fR @@ -1668,10 +1668,6 @@ Download artifacts with the specified name (default: \fBbottles\fR)\. Upload to the specified Internet Archive item (default: \fBhomebrew\fR)\. . .TP -\fB\-\-bintray\-org\fR -Upload to the specified Bintray organisation (default: \fBhomebrew\fR)\. -. -.TP \fB\-\-tap\fR Target tap repository (default: \fBhomebrew/core\fR)\. . @@ -1684,10 +1680,6 @@ Use the specified \fIURL\fR as the root of the bottle\'s URL instead of Homebrew Use the specified download strategy class for downloading the bottle\'s URL instead of Homebrew\'s default\. . .TP -\fB\-\-bintray\-mirror\fR -Use the specified Bintray repository to automatically mirror stable URLs defined in the formulae (default: \fBmirror\fR)\. -. -.TP \fB\-\-workflows\fR Retrieve artifacts from the specified workflow (default: \fBtests\.yml\fR)\. Can be a comma\-separated list to include multiple workflows\. . @@ -1727,10 +1719,6 @@ Specify a committer name and email in \fBgit\fR\'s standard author format\. Upload to the specified Internet Archive item (default: \fBhomebrew\fR)\. . .TP -\fB\-\-bintray\-org\fR -Upload to the specified Bintray organisation (default: \fBhomebrew\fR)\. -. -.TP \fB\-\-github\-org\fR Upload to the specified GitHub organisation\'s GitHub Packages (default: \fBhomebrew\fR)\. . @@ -2519,18 +2507,6 @@ Use this as the \fBbat\fR configuration file\. \fIDefault:\fR \fB$HOME/\.bat/config\fR\. . .TP -\fBHOMEBREW_BINTRAY_KEY\fR -. -.br -Use this API key when accessing the Bintray API (where bottles are stored)\. -. -.TP -\fBHOMEBREW_BINTRAY_USER\fR -. -.br -Use this username when accessing the Bintray API (where bottles are stored)\. -. -.TP \fBHOMEBREW_BOOTSNAP\fR . .br