cronet_http: require android API level 28 (#1088)
diff --git a/.github/workflows/cronet.yml b/.github/workflows/cronet.yml
index 37e38d5..0976a75 100644
--- a/.github/workflows/cronet.yml
+++ b/.github/workflows/cronet.yml
@@ -6,12 +6,12 @@
- main
- master
paths:
- - '.github/workflows/**'
+ - '.github/workflows/cronet.yaml'
- 'pkgs/cronet_http/**'
- 'pkgs/http_client_conformance_tests/**'
pull_request:
paths:
- - '.github/workflows/**'
+ - '.github/workflows/cronet.yaml'
- 'pkgs/cronet_http/**'
- 'pkgs/http_client_conformance_tests/**'
schedule:
@@ -58,8 +58,11 @@
uses: reactivecircus/android-emulator-runner@v2
if: always() && steps.install.outcome == 'success'
with:
+ # api-level/minSdkVersion should be help in sync in:
+ # - .github/workflows/cronet.yml
+ # - pkgs/cronet_http/android/build.gradle
+ # - pkgs/cronet_http/example/android/app/build.gradle
api-level: 28
- target: ${{ matrix.package == 'cronet_http_embedded' && 'default' || 'playstore' }}
- arch: x86_64
+ target: ${{ matrix.package == 'cronet_http_embedded' && 'google_apis' || 'playstore' }}
profile: pixel
script: cd 'pkgs/${{ matrix.package }}/example' && flutter test --timeout=1200s integration_test/
diff --git a/pkgs/cronet_http/android/build.gradle b/pkgs/cronet_http/android/build.gradle
index 164d96e..96bb197 100644
--- a/pkgs/cronet_http/android/build.gradle
+++ b/pkgs/cronet_http/android/build.gradle
@@ -46,7 +46,11 @@
}
defaultConfig {
- minSdkVersion 19
+ // api-level/minSdkVersion should be help in sync in:
+ // - .github/workflows/cronet.yml
+ // - pkgs/cronet_http/android/build.gradle
+ // - pkgs/cronet_http/example/android/app/build.gradle
+ minSdkVersion 28
}
defaultConfig {
diff --git a/pkgs/cronet_http/example/android/app/build.gradle b/pkgs/cronet_http/example/android/app/build.gradle
index 02e4b75..1f7cd94 100644
--- a/pkgs/cronet_http/example/android/app/build.gradle
+++ b/pkgs/cronet_http/example/android/app/build.gradle
@@ -46,7 +46,11 @@
applicationId "io.flutter.cronet_http_example"
// You can update the following values to match your application needs.
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-build-configuration.
- minSdkVersion 21
+ // api-level/minSdkVersion should be help in sync in:
+ // - .github/workflows/cronet.yml
+ // - pkgs/cronet_http/android/build.gradle
+ // - pkgs/cronet_http/example/android/app/build.gradle
+ minSdkVersion 28
targetSdkVersion flutter.targetSdkVersion
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
diff --git a/pkgs/cronet_http/tool/prepare_for_embedded.dart b/pkgs/cronet_http/tool/prepare_for_embedded.dart
index 2093c67..3442bc6 100644
--- a/pkgs/cronet_http/tool/prepare_for_embedded.dart
+++ b/pkgs/cronet_http/tool/prepare_for_embedded.dart
@@ -13,6 +13,9 @@
/// 1. Modifying the Gradle build file to reference the embedded Cronet.
/// 2. Modifying the *name* and *description* in `pubspec.yaml`.
/// 3. Replacing `README.md` with `README_EMBEDDED.md`.
+/// 4. Change the name of `cronet_http.dart` to `cronet_http_embedded.dart`.
+/// 5. Update all the imports from `package:cronet_http/cronet_http.dart` to
+/// `package:cronet_http_embedded/cronet_http_embedded.dart`
///
/// After running this script, `flutter pub publish`
/// can be run to update package:cronet_http_embedded.
@@ -40,8 +43,6 @@
'android/maven2/org/chromium/net/group-index.xml',
);
-/// Runs `prepare_for_embedded.dart publish` for publishing,
-/// or only the Android dependency will be modified.
void main(List<String> args) async {
if (Directory.current.path.endsWith('tool')) {
_packageDirectory = Directory.current.parent;
@@ -53,8 +54,8 @@
updateCronetDependency(latestVersion);
updatePubSpec();
updateReadme();
+ updateLibraryName();
updateImports();
- updateEntryPoint();
}
Future<String> _getLatestCronetVersion() async {
@@ -129,7 +130,7 @@
}
}
-void updateEntryPoint() {
+void updateLibraryName() {
print('Renaming cronet_http.dart to cronet_http_embedded.dart');
File(
'${_packageDirectory.path}/lib/cronet_http.dart',