mirror of
https://github.com/flutter/flutter.git
synced 2025-06-03 00:51:18 +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) {
|
void changeIfNecessary(String key, String value) {
|
||||||
if (settings.values[key] != value) {
|
if (settings.values[key] != value) {
|
||||||
settings.values[key] = value;
|
if (value == null) {
|
||||||
|
settings.values.remove(key);
|
||||||
|
} else {
|
||||||
|
settings.values[key] = value;
|
||||||
|
}
|
||||||
changed = true;
|
changed = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -240,15 +244,16 @@ void updateLocalProperties({
|
|||||||
|
|
||||||
if (androidSdk != null)
|
if (androidSdk != null)
|
||||||
changeIfNecessary('sdk.dir', escapePath(androidSdk.directory));
|
changeIfNecessary('sdk.dir', escapePath(androidSdk.directory));
|
||||||
|
|
||||||
changeIfNecessary('flutter.sdk', escapePath(Cache.flutterRoot));
|
changeIfNecessary('flutter.sdk', escapePath(Cache.flutterRoot));
|
||||||
if (buildInfo != null)
|
|
||||||
|
if (buildInfo != null) {
|
||||||
changeIfNecessary('flutter.buildMode', buildInfo.modeName);
|
changeIfNecessary('flutter.buildMode', buildInfo.modeName);
|
||||||
final String buildName = buildInfo?.buildName ?? manifest.buildName;
|
final String buildName = buildInfo.buildName ?? manifest.buildName;
|
||||||
if (buildName != null)
|
|
||||||
changeIfNecessary('flutter.versionName', buildName);
|
changeIfNecessary('flutter.versionName', buildName);
|
||||||
final int buildNumber = buildInfo?.buildNumber ?? manifest.buildNumber;
|
final int buildNumber = buildInfo.buildNumber ?? manifest.buildNumber;
|
||||||
if (buildNumber != null)
|
changeIfNecessary('flutter.versionCode', buildNumber?.toString());
|
||||||
changeIfNecessary('flutter.versionCode', '$buildNumber');
|
}
|
||||||
|
|
||||||
if (changed)
|
if (changed)
|
||||||
settings.writeContents(localProperties);
|
settings.writeContents(localProperties);
|
||||||
|
@ -325,6 +325,48 @@ flutter:
|
|||||||
expectedBuildNumber: '3',
|
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 New Issue
Block a user