mirror of
https://github.com/flutter/flutter
synced 2024-10-13 11:42:54 +00:00
Fix flutter tool to actually honor --build-number/--build-name flags. (#25520)
This commit is contained in:
parent
0d4f279fb8
commit
693fb6560e
|
@ -231,7 +231,11 @@ void updateLocalProperties({
|
|||
|
||||
void changeIfNecessary(String key, String value) {
|
||||
if (settings.values[key] != value) {
|
||||
settings.values[key] = value;
|
||||
if (value == null) {
|
||||
settings.values.remove(key);
|
||||
} else {
|
||||
settings.values[key] = value;
|
||||
}
|
||||
changed = true;
|
||||
}
|
||||
}
|
||||
|
@ -240,15 +244,16 @@ void updateLocalProperties({
|
|||
|
||||
if (androidSdk != null)
|
||||
changeIfNecessary('sdk.dir', escapePath(androidSdk.directory));
|
||||
|
||||
changeIfNecessary('flutter.sdk', escapePath(Cache.flutterRoot));
|
||||
if (buildInfo != null)
|
||||
|
||||
if (buildInfo != null) {
|
||||
changeIfNecessary('flutter.buildMode', buildInfo.modeName);
|
||||
final String buildName = buildInfo?.buildName ?? manifest.buildName;
|
||||
if (buildName != null)
|
||||
final String buildName = buildInfo.buildName ?? manifest.buildName;
|
||||
changeIfNecessary('flutter.versionName', buildName);
|
||||
final int buildNumber = buildInfo?.buildNumber ?? manifest.buildNumber;
|
||||
if (buildNumber != null)
|
||||
changeIfNecessary('flutter.versionCode', '$buildNumber');
|
||||
final int buildNumber = buildInfo.buildNumber ?? manifest.buildNumber;
|
||||
changeIfNecessary('flutter.versionCode', buildNumber?.toString());
|
||||
}
|
||||
|
||||
if (changed)
|
||||
settings.writeContents(localProperties);
|
||||
|
|
|
@ -325,6 +325,48 @@ flutter:
|
|||
expectedBuildNumber: '3',
|
||||
);
|
||||
});
|
||||
|
||||
testUsingAndroidContext('allow build info to unset build name and number', () async {
|
||||
const String manifest = '''
|
||||
name: test
|
||||
dependencies:
|
||||
flutter:
|
||||
sdk: flutter
|
||||
flutter:
|
||||
''';
|
||||
await checkBuildVersion(
|
||||
manifest: manifest,
|
||||
buildInfo: const BuildInfo(BuildMode.release, null, buildName: null, buildNumber: null),
|
||||
expectedBuildName: null,
|
||||
expectedBuildNumber: null,
|
||||
);
|
||||
await checkBuildVersion(
|
||||
manifest: manifest,
|
||||
buildInfo: const BuildInfo(BuildMode.release, null, buildName: '1.0.2', buildNumber: 3),
|
||||
expectedBuildName: '1.0.2',
|
||||
expectedBuildNumber: '3',
|
||||
);
|
||||
await checkBuildVersion(
|
||||
manifest: manifest,
|
||||
buildInfo: const BuildInfo(BuildMode.release, null, buildName: '1.0.3', buildNumber: 4),
|
||||
expectedBuildName: '1.0.3',
|
||||
expectedBuildNumber: '4',
|
||||
);
|
||||
// Values don't get unset.
|
||||
await checkBuildVersion(
|
||||
manifest: manifest,
|
||||
buildInfo: null,
|
||||
expectedBuildName: '1.0.3',
|
||||
expectedBuildNumber: '4',
|
||||
);
|
||||
// Values get unset.
|
||||
await checkBuildVersion(
|
||||
manifest: manifest,
|
||||
buildInfo: const BuildInfo(BuildMode.release, null, buildName: null, buildNumber: null),
|
||||
expectedBuildName: null,
|
||||
expectedBuildNumber: null,
|
||||
);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue