mirror of
https://github.com/flutter/packages.git
synced 2025-07-03 09:08:54 +08:00
Update repo tooling (#344)
Updates to better align with the current flutter/plugins tooling: - Pulls the latest flutter_plugin_tools - Enables the new version-check functionality - Enables the new license-check functionality - Switches over to the new publish check functionality - Moves format checking to a bot that does several of the very fast checks, leaving tests as their own bot - Switches incremental_build.sh to use the new --run-on-changed-packages functionality instead of the bash check_changed_packages - Moves check_changed_packages into local_tests.sh to minimize the chances of future new code trying to use it, as it is now legacy. - Renames incremental_build.sh to tool_runner.sh, to better match its current behavior/use
This commit is contained in:
@ -2,13 +2,52 @@
|
||||
# Copyright 2013 The Flutter Authors. All rights reserved.
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
# TODO(stuartmorgan): Replace this script either with flutter_plugin_tools
|
||||
# functionality, or something pigeon-specific, to eliminate the need to have a
|
||||
# bash copy of checked_changed_packages in this repository.
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)"
|
||||
REPO_DIR="$(dirname "$SCRIPT_DIR")"
|
||||
TEST_SCRIPT_NAME="run_tests.sh"
|
||||
|
||||
source "$SCRIPT_DIR/common.sh"
|
||||
function check_changed_packages() {
|
||||
# Try get a merge base for the branch and calculate affected packages.
|
||||
# We need this check because some CIs can do a single branch clones with a limited history of commits.
|
||||
local packages
|
||||
local branch_base_sha="$(git merge-base --fork-point FETCH_HEAD HEAD || git merge-base FETCH_HEAD HEAD)"
|
||||
if [[ "$?" == 0 ]]; then
|
||||
echo "Checking for changed packages from $branch_base_sha"
|
||||
IFS=$'\n' packages=( $(git diff --name-only "$branch_base_sha" HEAD | grep -o "packages/[^/]*" | sed -e "s/packages\///g" | sort | uniq) )
|
||||
else
|
||||
error "Cannot find a merge base for the current branch to run an incremental build..."
|
||||
error "Please rebase your branch onto the latest master!"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Filter out any packages that don't have a pubspec.yaml: they have probably
|
||||
# been deleted in this PR.
|
||||
CHANGED_PACKAGES=""
|
||||
CHANGED_PACKAGE_LIST=()
|
||||
for package in "${packages[@]}"; do
|
||||
if [[ -f "$REPO_DIR/packages/$package/pubspec.yaml" ]]; then
|
||||
CHANGED_PACKAGES="${CHANGED_PACKAGES},$package"
|
||||
CHANGED_PACKAGE_LIST=("${CHANGED_PACKAGE_LIST[@]}" "$package")
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ "${#CHANGED_PACKAGE_LIST[@]}" == 0 ]]; then
|
||||
echo "No changes detected in packages."
|
||||
else
|
||||
echo "Detected changes in the following ${#CHANGED_PACKAGE_LIST[@]} package(s):"
|
||||
for package in "${CHANGED_PACKAGE_LIST[@]}"; do
|
||||
echo "$package"
|
||||
done
|
||||
echo ""
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
check_changed_packages
|
||||
|
||||
|
Reference in New Issue
Block a user