blob: a09cac238555481b1a4b16ccfb33abfbf2185aec [file] [log] [blame]
#!/usr/bin/env bash
# Copyright 2021 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# Downloads a prebuilt Python and Black along with all its dependencies, then
# packages the resulting directly and uploads to CIPD.
set -eu -o pipefail
src_dir="$(dirname "${BASH_SOURCE[0]}")"
black_version="20.8b1"
python_cipd_version="version:2@3.9.4.chromium.14"
pkg_dir="${src_dir}/cipd"
mkdir -p "$pkg_dir"
# Download a prebuilt Python interpreter.
cipd install "infra/3pp/tools/cpython3/\${platform}" "$python_cipd_version" -root "$pkg_dir"
site_packages="${pkg_dir}/lib/python3.9/site-packages"
# Download Black and all of its dependencies.
PYTHONPATH="$site_packages" "${pkg_dir}/bin/python3.9" -m pip install "black==${black_version}" --prefix="${pkg_dir}"
cp "${src_dir}/black-template" "${pkg_dir}/black"
chmod +x "${pkg_dir}/black"
# Upload to CIPD.
cipd create -tag "version:${black_version}" -pkg-def "${src_dir}/cipd.yaml"