|
96 | 96 | echo "----------------------------------------" |
97 | 97 | fi |
98 | 98 |
|
| 99 | + if [ "$CIRCLECI" = "true" ]; then |
| 100 | + echo "=== Preparing Writable Flutter Gradle Tools for Nix Build ===" |
| 101 | + |
| 102 | + # Check if Flutter is present before using it |
| 103 | + if ! command -v flutter &> /dev/null; then |
| 104 | + echo "ERROR: Flutter command not found, cannot determine SDK path." |
| 105 | + exit 1 |
| 106 | + fi |
| 107 | + |
| 108 | + # Reliably get the Flutter SDK path from the flutter tool itself |
| 109 | + FLUTTER_SDK_PATH=$(flutter --version | grep 'Flutter version' | sed 's/.* at //') |
| 110 | + if [ -z "$FLUTTER_SDK_PATH" ]; then |
| 111 | + echo "ERROR: Could not determine Flutter SDK path." |
| 112 | + exit 1 |
| 113 | + fi |
| 114 | + echo "Found Flutter SDK at: $FLUTTER_SDK_PATH" |
| 115 | + |
| 116 | + # Define a writable path within the workspace |
| 117 | + WRITABLE_FLUTTER_TOOLS_GRADLE_PATH="$WORK_DIR/writable_flutter_tools_gradle" |
| 118 | + mkdir -p "$WRITABLE_FLUTTER_TOOLS_GRADLE_PATH" |
| 119 | + |
| 120 | + # Copy the Flutter Gradle tools to the writable location |
| 121 | + echo "Copying Flutter Gradle tools to $WRITABLE_FLUTTER_TOOLS_GRADLE_PATH..." |
| 122 | + cp -rL "$FLUTTER_SDK_PATH/packages/flutter_tools/gradle/." "$WRITABLE_FLUTTER_TOOLS_GRADLE_PATH/" |
| 123 | + |
| 124 | + # Add a Gradle property pointing to this new directory. |
| 125 | + # We use flutterToolsGradleDir to match the property in settings.gradle |
| 126 | + export GRADLE_OPTS="$GRADLE_OPTS -PflutterToolsGradleDir=$WRITABLE_FLUTTER_TOOLS_GRADLE_PATH" |
| 127 | + |
| 128 | + # Re-apply to FLUTTER_GRADLE_OPTS for CircleCI environment |
| 129 | + if [ "$CIRCLECI" = "true" ]; then |
| 130 | + export FLUTTER_GRADLE_OPTS="$GRADLE_OPTS" |
| 131 | + fi |
| 132 | + |
| 133 | + echo "Writable Flutter Gradle tools prepared." |
| 134 | + echo "Updated GRADLE_OPTS: $GRADLE_OPTS" |
| 135 | + echo "============================================================" |
| 136 | + fi |
| 137 | + |
99 | 138 | # Create a local gradle wrapper properties to ensure consistent Gradle version |
100 | 139 | mkdir -p "$WORK_DIR/gradle/wrapper" |
101 | 140 | if [ ! -f "$WORK_DIR/gradle/wrapper/gradle-wrapper.properties" ]; then |
|
0 commit comments