Skip to content

Commit

Permalink
Revert automated changes made to deprecated settings.gradle (plugins.…
Browse files Browse the repository at this point in the history
…each) (#140037)

Restore testing deprecated settings.gradle (plugins.each).

Updated presumably by accident in #83067

Split from #137115
See also flutter/flutter#137115 (comment)
  • Loading branch information
Gustl22 authored Dec 20, 2023
1 parent 62d6999 commit da0cd69
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 27 deletions.
6 changes: 3 additions & 3 deletions dev/integration_tests/gradle_deprecated_settings/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Deprecated settings.gradle

This project is meant to test that apps using the current `android/settings.gradle`
can still be built. This project can be removed once apps have been migrated to
this new file.
This project is meant to test that apps using the deprecated
`android/settings.gradle` (_PluginEach_ used until Flutter v1.22.0) can still be built.
This project can be removed once apps have been migrated to this new file.

Issue: https://github.com/flutter/flutter/issues/54566
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,23 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// This file is auto generated.
// To update all the settings.gradle files in the Flutter repo,
// See dev/tools/bin/generate_gradle_lockfiles.dart.
// This is the `settings.gradle` file that apps were created with until Flutter
// v1.22.0. This file has changed, so it must be migrated in existing projects.

pluginManagement {
def flutterSdkPath = {
def properties = new Properties()
file("local.properties").withInputStream { properties.load(it) }
def flutterSdkPath = properties.getProperty("flutter.sdk")
assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
return flutterSdkPath
}
settings.ext.flutterSdkPath = flutterSdkPath()
include ':app'

includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle")
def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
def properties = new Properties()

plugins {
id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false
}
def plugins = new Properties()
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
if (pluginsFile.exists()) {
pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
}

include ":app"

apply from: "${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle/app_plugin_loader.gradle"
plugins.each { name, path ->
def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
include ":$name"
project(":$name").projectDir = pluginDirectory
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

import 'package:file/src/interface/file.dart';
import 'package:file_testing/file_testing.dart';
import 'package:flutter_tools/src/base/io.dart';

Expand All @@ -16,6 +17,40 @@ void main() {
final String workingDirectory = fileSystem.path.join(getFlutterRoot(), 'dev', 'integration_tests', 'gradle_deprecated_settings');
final String flutterBin = fileSystem.path.join(getFlutterRoot(), 'bin', 'flutter');

final File settingsDotGradleFile = fileSystem.file(
fileSystem.path.join(workingDirectory, 'android', 'settings.gradle'));
const String expectedSettingsDotGradle = r"""
// Copyright 2014 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.
// This is the `settings.gradle` file that apps were created with until Flutter
// v1.22.0. This file has changed, so it must be migrated in existing projects.
include ':app'
def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
def properties = new Properties()
def plugins = new Properties()
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
if (pluginsFile.exists()) {
pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
}
plugins.each { name, path ->
def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
include ":$name"
project(":$name").projectDir = pluginDirectory
}
""";

expect(
settingsDotGradleFile.readAsStringSync().trim().replaceAll('\r', ''),
equals(expectedSettingsDotGradle.trim()),
);

final ProcessResult result = await processManager.run(<String>[
flutterBin,
'build',
Expand All @@ -25,11 +60,7 @@ void main() {
'--verbose',
], workingDirectory: workingDirectory);

printOnFailure('Output of flutter build apk:');
printOnFailure(result.stdout.toString());
printOnFailure(result.stderr.toString());

expect(result.exitCode, 0);
expect(result, const ProcessResultMatcher());

final String apkPath = fileSystem.path.join(
workingDirectory, 'build', 'app', 'outputs', 'flutter-apk', 'app-debug.apk');
Expand Down

0 comments on commit da0cd69

Please sign in to comment.