-
Notifications
You must be signed in to change notification settings - Fork 6k
Disallow files additional named GeneratedPluginRegistrant.java.
#50796
Changes from 1 commit
5a2a092
d8b4a0f
7504d17
cdf98d2
2f7e2de
4c34c37
293a55e
4b8e403
e9d6c2a
98203e6
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
- Loading branch information
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -18,7 +18,7 @@ unset CDPATH | |
| function follow_links() ( | ||
| cd -P "$(dirname -- "$1")" | ||
| file="$PWD/$(basename -- "$1")" | ||
| while [[ -h "$file" ]]; do | ||
| while [[ -L "$file" ]]; do | ||
| cd -P "$(dirname -- "$file")" | ||
| file="$(readlink -- "$file")" | ||
| cd -P "$(dirname -- "$file")" | ||
|
|
@@ -28,10 +28,27 @@ function follow_links() ( | |
| ) | ||
|
|
||
| SCRIPT_DIR=$(follow_links "$(dirname -- "${BASH_SOURCE[0]}")") | ||
| SRC_DIR="$(cd "$SCRIPT_DIR/../.."; pwd -P)" | ||
| SRC_DIR="$( | ||
| cd "$SCRIPT_DIR/../.." | ||
| pwd -P | ||
| )" | ||
| DART_SDK_DIR="${SRC_DIR}/third_party/dart/tools/sdks/dart-sdk" | ||
| DART="${DART_SDK_DIR}/bin/dart" | ||
|
|
||
| # Check if a file named **/GeneratedPluginRegistrant.java exists in the project. | ||
| # If it does, fail the build and print a message to the user pointing them to | ||
| # the file and instructing them to remove it. | ||
| # | ||
| # See: https://github.com/flutter/flutter/issues/143782. | ||
| GENERATED_PLUGIN_REGISTRANT_PATH=$(find "$SRC_DIR/flutter" -name "GeneratedPluginRegistrant.java") | ||
| if [[ -n "$GENERATED_PLUGIN_REGISTRANT_PATH" ]]; then | ||
| echo "GeneratedPluginRegistrant.java found in the project." | ||
| echo "This file is generated by Flutter tooling and should not be checked in." | ||
|
||
| echo "Please remove it from the project and try again." | ||
| echo "Path: $GENERATED_PLUGIN_REGISTRANT_PATH" | ||
| exit 1 | ||
| fi | ||
|
|
||
| cd "$SCRIPT_DIR" | ||
| "$DART" \ | ||
| --disable-dart-dev \ | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,55 @@ | ||
| #!/bin/bash | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. That configuration causes this test to run in ci?
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. NVM, you added it in ci/builders/linux_unopt.json
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Does this script have the execute bit set?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yup, I just typed it wrong in the CI configuration. PTAL. |
||
| # | ||
| # 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. | ||
|
|
||
| set -e | ||
|
|
||
| # Needed because if it is set, cd may print the path it changed to. | ||
| unset CDPATH | ||
|
|
||
| # On Mac OS, readlink -f doesn't work, so follow_links traverses the path one | ||
| # link at a time, and then cds into the link destination and find out where it | ||
| # ends up. | ||
| # | ||
| # The function is enclosed in a subshell to avoid changing the working directory | ||
| # of the caller. | ||
| function follow_links() ( | ||
| cd -P "$(dirname -- "$1")" | ||
| file="$PWD/$(basename -- "$1")" | ||
| while [[ -L "$file" ]]; do | ||
| cd -P "$(dirname -- "$file")" | ||
| file="$(readlink -- "$file")" | ||
| cd -P "$(dirname -- "$file")" | ||
| file="$PWD/$(basename -- "$file")" | ||
| done | ||
| echo "$file" | ||
| ) | ||
|
|
||
| SCRIPT_DIR=$(follow_links "$(dirname -- "${BASH_SOURCE[0]}")") | ||
| SRC_DIR="$( | ||
| cd "$SCRIPT_DIR/../../.." | ||
| pwd -P | ||
| )" | ||
| FLUTTER_DIR="$SRC_DIR/flutter" | ||
|
|
||
| # Creates a file named `GeneratedPluginRegistrant.java` in the project. | ||
| # This file is generated by Flutter tooling and should not be checked in. | ||
| touch "$FLUTTER_DIR/GeneratedPluginRegistrant.java" | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Optional: Consider putting this in a subdirectory given that this file would likely be deeper in the file tree. |
||
|
|
||
| # Create a trap that, on exit, removes the file. | ||
| function cleanup() { | ||
| rm -f "$FLUTTER_DIR/GeneratedPluginRegistrant.java" | ||
| } | ||
| trap cleanup EXIT | ||
|
|
||
| # Runs ../format.sh and verifies that it fails with the expected error message. | ||
| # If it fails, the script prints an error message and exits with a non-zero status. | ||
| "$FLUTTER_DIR/ci/format.sh" || { | ||
| echo "PASS: analyze.sh failed as expected" | ||
| exit 0 | ||
| } | ||
|
|
||
| echo "FAIL: format.sh did not fail as expected" | ||
| exit 1 | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Consider adding a comment explaining what -L "$file" means.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just reverted it, that was a mistake.