diff --git a/CHANGELOG.md b/CHANGELOG.md
index c5279079..f5f67f63 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
# Changelog
+## 1.1.5
+
+- Added message with notice and fix if Flutter releases URL is blocked in your country.
+
## 1.1.4
- Nested FVM config look up, to be used on monorepo projects, or nested directories.
diff --git a/coverage_badge.svg b/coverage_badge.svg
index 03724845..01c94481 100644
--- a/coverage_badge.svg
+++ b/coverage_badge.svg
@@ -8,13 +8,13 @@
-
+
coverage
coverage
- 71%
- 71%
+ 70%
+ 70%
diff --git a/lib/exceptions.dart b/lib/exceptions.dart
index 470d716a..7528faad 100644
--- a/lib/exceptions.dart
+++ b/lib/exceptions.dart
@@ -1,3 +1,4 @@
+import 'package:fvm/flutter/flutter_releases.dart';
import 'package:fvm/utils/logger.dart';
/// Logs error for verbose output
@@ -80,7 +81,9 @@ class ExceptionMissingChannelVersion implements Exception {
/// Could not fetch Flutter releases
class ExceptionCouldNotFetchReleases implements Exception {
- final message = 'Could not fetch Flutter releases.';
+ final message =
+ '''Failed to retrieve the Flutter SDK from: ${getReleasesUrl()}\n Fvm will use the value set on env FLUTTER_STORAGE_BASE_URL to check versions.\nif you're located in China, please see this page:
+ https://flutter.dev/community/china''';
/// Constructor
ExceptionCouldNotFetchReleases();
diff --git a/lib/flutter/flutter_releases.dart b/lib/flutter/flutter_releases.dart
index a804739a..dd503bf5 100644
--- a/lib/flutter/flutter_releases.dart
+++ b/lib/flutter/flutter_releases.dart
@@ -4,10 +4,16 @@ import 'dart:io';
import 'package:fvm/exceptions.dart';
import 'package:http/http.dart' as http;
+const STORAGE_BASE_URL = 'https://storage.googleapis.com';
+
/// Gets platform specific release URL
String getReleasesUrl({String platform}) {
platform ??= Platform.operatingSystem;
- return 'https://storage.googleapis.com/flutter_infra/releases/releases_$platform.json';
+ final envVars = Platform.environment;
+
+ var storageUrl = envVars['FLUTTER_STORAGE_BASE_URL'] ?? STORAGE_BASE_URL;
+
+ return '$storageUrl/flutter_infra/releases/releases_$platform.json';
}
FlutterReleases cacheReleasesRes;
diff --git a/lib/flutter/flutter_tools.dart b/lib/flutter/flutter_tools.dart
index dccbf3b6..b332526f 100644
--- a/lib/flutter/flutter_tools.dart
+++ b/lib/flutter/flutter_tools.dart
@@ -1,7 +1,7 @@
import 'dart:io';
import 'package:fvm/constants.dart';
import 'package:fvm/exceptions.dart';
-import 'package:fvm/flutter/flutter_releases.dart';
+
import 'package:fvm/utils/git.dart';
import 'package:fvm/utils/helpers.dart';
diff --git a/lib/src/version.dart b/lib/src/version.dart
index 2d981bfd..fd9e0938 100644
--- a/lib/src/version.dart
+++ b/lib/src/version.dart
@@ -1,2 +1,2 @@
// Generated code. Do not modify.
-const packageVersion = '1.1.4';
+const packageVersion = '1.1.5';
diff --git a/pubspec.yaml b/pubspec.yaml
index 3fada05e..a4525d78 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -1,6 +1,6 @@
name: fvm
description: A simple cli to manage Flutter SDK versions per project. Support channels, releases, and local cache for fast switching between versions.
-version: 1.1.4
+version: 1.1.5
homepage: https://github.com/leoafarias/fvm
environment: