fetchLatestCLIVersion static method
Future<Version?>
fetchLatestCLIVersion({
- required CommandLogger logger,
- required String localStoragePath,
- PubApiClient? pubClientOverride,
Check current Serverpod CLI version and prompt user to update if needed Returns true if the CLI should be updated, false otherwise
Implementation
static Future<Version?> fetchLatestCLIVersion({
required final CommandLogger logger,
required final String localStoragePath,
final PubApiClient? pubClientOverride,
}) async {
return PackageVersion.fetchLatestPackageVersion(
storePackageVersionData: (final PackageVersionData versionArtefact) =>
ResourceManager.storeLatestCliVersion(
cliVersionData: versionArtefact,
logger: logger,
),
loadPackageVersionData: () => ResourceManager.tryFetchLatestCliVersion(
localStoragePath: localStoragePath,
logger: logger,
),
fetchLatestPackageVersion: () async {
final pubClient = pubClientOverride ?? PubApiClient();
Version? version;
try {
version = await pubClient
.tryFetchLatestStableVersion('serverpod_cloud_cli')
.timeout(
const Duration(seconds: 2),
);
} on VersionFetchException catch (e) {
logger.error(e.message);
} on VersionParseException catch (e) {
logger.error(e.message);
} finally {
pubClient.close();
}
return version;
},
);
}