diff --git a/.github/labeler.yml b/.github/labeler.yml index b49eaf2cc5..6d477b3173 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -1,16 +1,21 @@ # Configuration for .github/workflows/pull_request_label.yml. 'type-infra': - - '.github/**' + - changed-files: + - any-glob-to-any-file: '.github/**' 'package:cronet_http': - - 'pkgs/cronet_http/**' + - changed-files: + - any-glob-to-any-file: 'pkgs/cronet_http/**' 'package:cupertino_http': - - 'pkgs/cupertino_http/**' + - changed-files: + - any-glob-to-any-file: 'pkgs/cupertino_http/**' 'package:http': - - 'pkgs/http/**' + - changed-files: + - any-glob-to-any-file: 'pkgs/http/**' 'package:http_client_conformance_tests': - - 'pkgs/http_client_conformance_tests/**' + - changed-files: + - any-glob-to-any-file: 'pkgs/http_client_conformance_tests/**' \ No newline at end of file diff --git a/.github/workflows/pull_request_label.yml b/.github/workflows/pull_request_label.yml index 9933aad40d..54e3df537c 100644 --- a/.github/workflows/pull_request_label.yml +++ b/.github/workflows/pull_request_label.yml @@ -16,7 +16,7 @@ jobs: pull-requests: write runs-on: ubuntu-latest steps: - - uses: actions/labeler@ac9175f8a1f3625fd0d4fb234536d26811351594 + - uses: actions/labeler@8558fd74291d67161a8a78ce36a881fa63b766a9 with: repo-token: "${{ secrets.GITHUB_TOKEN }}" sync-labels: true diff --git a/pkgs/cronet_http/tool/prepare_for_embedded.dart b/pkgs/cronet_http/tool/prepare_for_embedded.dart index 3442bc6843..aef0865ae8 100644 --- a/pkgs/cronet_http/tool/prepare_for_embedded.dart +++ b/pkgs/cronet_http/tool/prepare_for_embedded.dart @@ -42,6 +42,14 @@ final _cronetVersionUri = Uri.https( 'dl.google.com', 'android/maven2/org/chromium/net/group-index.xml', ); +// Finds the Google Play Services Cronet dependency line. For example: +// ' implementation "com.google.android.gms:play-services-cronet:18.0.1"' +final implementationRegExp = RegExp( + '^\\s*implementation [\'"]' + '$_gmsDependencyName' + ':\\d+.\\d+.\\d+[\'"]', + multiLine: true, +); void main(List args) async { if (Directory.current.path.endsWith('tool')) { @@ -51,7 +59,8 @@ void main(List args) async { } final latestVersion = await _getLatestCronetVersion(); - updateCronetDependency(latestVersion); + updateBuildGradle(latestVersion); + updateExampleBuildGradle(); updatePubSpec(); updateReadme(); updateLibraryName(); @@ -75,22 +84,30 @@ Future _getLatestCronetVersion() async { } /// Update android/build.gradle. -void updateCronetDependency(String latestVersion) { - final fBuildGradle = File('${_packageDirectory.path}/android/build.gradle'); - final gradleContent = fBuildGradle.readAsStringSync(); - final implementationRegExp = RegExp( - '^\\s*implementation [\'"]' - '$_gmsDependencyName' - ':\\d+.\\d+.\\d+[\'"]', - multiLine: true, - ); +void updateBuildGradle(String latestVersion) { + final buildGradle = File('${_packageDirectory.path}/android/build.gradle'); + final gradleContent = buildGradle.readAsStringSync(); final newImplementation = '$_embeddedDependencyName:$latestVersion'; - print('Patching $newImplementation'); + print('Updating ${buildGradle.path}: adding $newImplementation'); final newGradleContent = gradleContent.replaceAll( implementationRegExp, ' implementation "$newImplementation"', ); - fBuildGradle.writeAsStringSync(newGradleContent); + buildGradle.writeAsStringSync(newGradleContent); +} + +/// Remove the cronet reference from ./example/android/app/build.gradle. +void updateExampleBuildGradle() { + final buildGradle = + File('${_packageDirectory.path}/example/android/app/build.gradle'); + final gradleContent = buildGradle.readAsStringSync(); + + print('Updating ${buildGradle.path}: removing cronet reference'); + final newGradleContent = gradleContent.replaceAll( + implementationRegExp, + ' // NOTE: removed in package:cronet_http_embedded', + ); + buildGradle.writeAsStringSync(newGradleContent); } /// Update pubspec.yaml and example/pubspec.yaml.