From 4f8132b0bbbec9458eab63772636f54a603629ba Mon Sep 17 00:00:00 2001 From: Kamalesh Paluru Date: Wed, 19 Jan 2022 05:05:41 -0500 Subject: [PATCH 1/3] Added dependencies for Phones and Tablets Excluding ads (first four). --- .../src/main/kotlin/dependencies/Google.kt | 112 +++++++++++++++++- 1 file changed, 111 insertions(+), 1 deletion(-) diff --git a/plugins/dependencies/src/main/kotlin/dependencies/Google.kt b/plugins/dependencies/src/main/kotlin/dependencies/Google.kt index 451d80d67..16c3e1381 100644 --- a/plugins/dependencies/src/main/kotlin/dependencies/Google.kt +++ b/plugins/dependencies/src/main/kotlin/dependencies/Google.kt @@ -50,6 +50,25 @@ object Google : IsNotADependency { object Android : IsNotADependency { + /** + * Strict version checking plugin + * + * Use this plugin if you're not using the Google Services plugin, but still want strict version checking + * of your dependencies. + * + * Guide: [Strict version matching](https://developers.google.com/android/guides/versioning#strict-version-matching) + * + * @see playServicesGradlePlugin + */ + val versionMatcherPlugin = DependencyNotation("com.google.android.gms", "strict-version-matcher-plugin") + + /** + * Open-source licenses plugin + * + * @see PlayServices.openSourceLicenses + */ + val openSourceLicensesPlugin = DependencyNotation("com.google.android.gms", "oss-licenses-plugin") + val browserHelper = DependencyNotation("com.google.androidbrowserhelper", "androidbrowserhelper") /** @@ -112,8 +131,27 @@ object Google : IsNotADependency { /** Google Analytics */ val analytics = module("play-services-analytics") + /** + * Google App Set API + * + * The app set ID API returns an ID scoped to the set of apps published under + * the same Google Play developer account. + * + * Guide: [Identify developer-owned apps](https://developer.android.com/training/articles/app-set-id) + */ + val appset = module("play-services-appset") + /** Google Account Login */ - val auth = module("play-services-auth") + val auth = Auth + + object Auth : DependencyNotationAndGroup(group = group, name = "play-services-auth") { + + /** Google SMS Retriever */ + val apiPhone = module("play-services-auth-api-phone") + + /** Google Block Store */ + val blockstore = module("play-services-auth-blockstore") + } /** Google Awareness */ val awareness = module("play-services-awareness") @@ -121,6 +159,13 @@ object Google : IsNotADependency { /** Base client library and Google Actions */ val base = module("play-services-base") + /** + * Extends the base client library. + * + * @see PlayServices.base + */ + val basement = module("play-services-basement") + /** * Extend your app to the big screen with Google Cast. * @@ -153,6 +198,30 @@ object Google : IsNotADependency { val tv = module("play-services-cast-tv") } + /** + * Chromium network stack (Cronet) + * + * Cronet takes advantage of multiple technologies that reduce the latency + * and increase the throughput of the network requests that your app needs to work. + * + * Guide: [Perform network operations using Cronet](https://developer.android.com/guide/topics/connectivity/cronet) + * + * GitHub sample: [GoogleChromeLabs/cronet-sample](https://github.com/GoogleChromeLabs/cronet-sample) + */ + val cronet = module("play-services-cronet") + + /** + * Fast IDentity Online (FIDO) Authentication + * + * FIDO is a set of standards for fast, simple, strong authentication. + * It enables app and web developers to use simple APIs to securely authenticate users. + * + * Guide: [FIDO Authentication](https://developers.google.com/identity/fido) + * + * Codelab: [Build your first WebAuthn app](https://developers.google.com/codelabs/webauthn-reauth/#0) + */ + val fido = module("play-services-fido") + /** Google Drive */ val drive = module("play-services-drive") @@ -242,15 +311,56 @@ object Google : IsNotADependency { /** Google Nearby */ val nearby = module("play-services-nearby") + /** + * Open-source Licenses + * + * Set of tools designed to give developers an easier way to express the open source software notices + * of libraries used in their apps. + * + * Guide: [Include open source notices](https://developers.google.com/android/guides/opensource) + * + * GitHub page: [google/play-services-plugins](https://github.com/google/play-services-plugins) + * + * @see openSourceLicensesPlugin + */ + val openSourceLicenses = module("play-services-oss-licenses") + + /** + * Screen lock quality check + * + * [Usage](https://developer.android.com/work/versions/android-10#screen_lock_quality_check) + */ + val passwordComplexity = module("play-services-password-complexity") + /** Google Panorama Viewer */ val panorama = module("play-services-panorama") /** Google Pay for Passes */ val pay = module("play-services-pay") + /** + * reCAPTCHA Enterprise for app instrumentation + * + * Guide: [Integrate reCAPTCHA Enterprise with Android apps](https://cloud.google.com/recaptcha-enterprise/docs/instrument-android-apps) + * + * ### API reference: + * - [com.google.android.gms.recaptcha](https://developers.google.com/android/reference/com/google/android/gms/recaptcha/package-summary) + */ + val recaptcha = module("play-services-recaptcha") + /** SafetyNet */ val safetynet = module("play-services-safetynet") + /** + * Google Tag Manager + * + * The Google Tag Manager interface can be used to implement and manage measurement tags and pixels + * in mobile applications without having to rebuild and resubmit application binaries to app marketplaces. + * + * Guides: [Google Tag Manager](https://developers.google.com/tag-platform/tag-manager/android/v5#next_steps) + */ + val tagmanager = module("play-services-tagmanager") + /** * Google Tasks API (yet another "Future" type, because they're not using Kotlin coroutines yet). * We recommend to use it with [KotlinX.Coroutines.playServices]. From 6a3f1a2df84a67d525ca52c91bb082fb2b20db4a Mon Sep 17 00:00:00 2001 From: Kamalesh Paluru Date: Wed, 19 Jan 2022 05:06:53 -0500 Subject: [PATCH 2/3] Fixed typo Fixed Minor typo. --- plugins/dependencies/src/main/kotlin/dependencies/Google.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/dependencies/src/main/kotlin/dependencies/Google.kt b/plugins/dependencies/src/main/kotlin/dependencies/Google.kt index 16c3e1381..2350020ce 100644 --- a/plugins/dependencies/src/main/kotlin/dependencies/Google.kt +++ b/plugins/dependencies/src/main/kotlin/dependencies/Google.kt @@ -363,7 +363,7 @@ object Google : IsNotADependency { /** * Google Tasks API (yet another "Future" type, because they're not using Kotlin coroutines yet). - * We recommend to use it with [KotlinX.Coroutines.playServices]. + * We recommend using it with [KotlinX.Coroutines.playServices]. */ val tasks = module("play-services-tasks") From 520e48472c17f2f115b84ffa2d9347a619c9eb9e Mon Sep 17 00:00:00 2001 From: Kamalesh Paluru Date: Wed, 19 Jan 2022 05:37:22 -0500 Subject: [PATCH 3/3] Ran `./gradlew check` Tested on sample-android. --- .../resources/bundled-dependencies-validated.txt | 12 ++++++++++++ .../resources/dependencies-mapping-validated.txt | 12 ++++++++++++ .../dependencies-versions-key-validated.txt | 12 ++++++++++++ 3 files changed, 36 insertions(+) diff --git a/plugins/dependencies/src/test/resources/bundled-dependencies-validated.txt b/plugins/dependencies/src/test/resources/bundled-dependencies-validated.txt index 433589035..432b7f9b0 100644 --- a/plugins/dependencies/src/test/resources/bundled-dependencies-validated.txt +++ b/plugins/dependencies/src/test/resources/bundled-dependencies-validated.txt @@ -334,14 +334,21 @@ com.google.android.fhir:data-capture com.google.android.fhir:engine com.google.android.fhir:workflow com.google.android.flexbox:flexbox +com.google.android.gms:oss-licenses-plugin com.google.android.gms:play-services-analytics +com.google.android.gms:play-services-appset com.google.android.gms:play-services-auth +com.google.android.gms:play-services-auth-api-phone +com.google.android.gms:play-services-auth-blockstore com.google.android.gms:play-services-awareness com.google.android.gms:play-services-base +com.google.android.gms:play-services-basement com.google.android.gms:play-services-cast com.google.android.gms:play-services-cast-framework com.google.android.gms:play-services-cast-tv +com.google.android.gms:play-services-cronet com.google.android.gms:play-services-drive +com.google.android.gms:play-services-fido com.google.android.gms:play-services-fitness com.google.android.gms:play-services-games com.google.android.gms:play-services-gcm @@ -356,13 +363,18 @@ com.google.android.gms:play-services-mlkit-image-labeling-custom com.google.android.gms:play-services-mlkit-language-id com.google.android.gms:play-services-mlkit-text-recognition com.google.android.gms:play-services-nearby +com.google.android.gms:play-services-oss-licenses com.google.android.gms:play-services-panorama +com.google.android.gms:play-services-password-complexity com.google.android.gms:play-services-pay +com.google.android.gms:play-services-recaptcha com.google.android.gms:play-services-safetynet +com.google.android.gms:play-services-tagmanager com.google.android.gms:play-services-tasks com.google.android.gms:play-services-vision com.google.android.gms:play-services-wallet com.google.android.gms:play-services-wearable +com.google.android.gms:strict-version-matcher-plugin com.google.android.material:compose-theme-adapter com.google.android.material:material com.google.android.play:core diff --git a/plugins/dependencies/src/test/resources/dependencies-mapping-validated.txt b/plugins/dependencies/src/test/resources/dependencies-mapping-validated.txt index b70eaa7d5..4e35af6e2 100644 --- a/plugins/dependencies/src/test/resources/dependencies-mapping-validated.txt +++ b/plugins/dependencies/src/test/resources/dependencies-mapping-validated.txt @@ -334,14 +334,21 @@ com.google.android.fhir..data-capture=Google.android.fhir.dataCapture com.google.android.fhir..engine=Google.android.fhir.engine com.google.android.fhir..workflow=Google.android.fhir.workflow com.google.android.flexbox..flexbox=Google.android.flexbox +com.google.android.gms..oss-licenses-plugin=Google.android.openSourceLicensesPlugin com.google.android.gms..play-services-analytics=Google.android.playServices.analytics +com.google.android.gms..play-services-appset=Google.android.playServices.appset +com.google.android.gms..play-services-auth-api-phone=Google.android.playServices.auth.apiPhone +com.google.android.gms..play-services-auth-blockstore=Google.android.playServices.auth.blockstore com.google.android.gms..play-services-auth=Google.android.playServices.auth com.google.android.gms..play-services-awareness=Google.android.playServices.awareness com.google.android.gms..play-services-base=Google.android.playServices.base +com.google.android.gms..play-services-basement=Google.android.playServices.basement com.google.android.gms..play-services-cast-framework=Google.android.playServices.cast.framework com.google.android.gms..play-services-cast-tv=Google.android.playServices.cast.tv com.google.android.gms..play-services-cast=Google.android.playServices.cast +com.google.android.gms..play-services-cronet=Google.android.playServices.cronet com.google.android.gms..play-services-drive=Google.android.playServices.drive +com.google.android.gms..play-services-fido=Google.android.playServices.fido com.google.android.gms..play-services-fitness=Google.android.playServices.fitness com.google.android.gms..play-services-games=Google.android.playServices.games com.google.android.gms..play-services-gcm=Google.android.playServices.gcm @@ -356,13 +363,18 @@ com.google.android.gms..play-services-mlkit-image-labeling=Google.android.playSe com.google.android.gms..play-services-mlkit-language-id=Google.android.playServices.mlKit.naturalLanguage.languageIdentification com.google.android.gms..play-services-mlkit-text-recognition=Google.android.playServices.mlKit.vision.textRecognition com.google.android.gms..play-services-nearby=Google.android.playServices.nearby +com.google.android.gms..play-services-oss-licenses=Google.android.playServices.openSourceLicenses com.google.android.gms..play-services-panorama=Google.android.playServices.panorama +com.google.android.gms..play-services-password-complexity=Google.android.playServices.passwordComplexity com.google.android.gms..play-services-pay=Google.android.playServices.pay +com.google.android.gms..play-services-recaptcha=Google.android.playServices.recaptcha com.google.android.gms..play-services-safetynet=Google.android.playServices.safetynet +com.google.android.gms..play-services-tagmanager=Google.android.playServices.tagmanager com.google.android.gms..play-services-tasks=Google.android.playServices.tasks com.google.android.gms..play-services-vision=Google.android.playServices.vision com.google.android.gms..play-services-wallet=Google.android.playServices.wallet com.google.android.gms..play-services-wearable=Google.android.playServices.wearOS +com.google.android.gms..strict-version-matcher-plugin=Google.android.versionMatcherPlugin com.google.android.material..compose-theme-adapter=Google.android.material.composeThemeAdapter com.google.android.material..material=Google.android.material com.google.android.play..core-ktx=Google.android.play.coreKtx diff --git a/plugins/dependencies/src/test/resources/dependencies-versions-key-validated.txt b/plugins/dependencies/src/test/resources/dependencies-versions-key-validated.txt index 1d6e31f78..d5238c928 100644 --- a/plugins/dependencies/src/test/resources/dependencies-versions-key-validated.txt +++ b/plugins/dependencies/src/test/resources/dependencies-versions-key-validated.txt @@ -334,14 +334,21 @@ com.google.android.fhir..data-capture=version.google.android.fhir.data-capture com.google.android.fhir..engine=version.google.android.fhir.engine com.google.android.fhir..workflow=version.google.android.fhir.workflow com.google.android.flexbox..flexbox=version.google.android.flexbox +com.google.android.gms..oss-licenses-plugin=version.NO-RULE com.google.android.gms..play-services-analytics=version.google.android.play-services-analytics +com.google.android.gms..play-services-appset=version.google.android.play-services-appset +com.google.android.gms..play-services-auth-api-phone=version.google.android.play-services-auth-api-phone +com.google.android.gms..play-services-auth-blockstore=version.google.android.play-services-auth-blockstore com.google.android.gms..play-services-auth=version.google.android.play-services-auth com.google.android.gms..play-services-awareness=version.google.android.play-services-awareness com.google.android.gms..play-services-base=version.google.android.play-services-base +com.google.android.gms..play-services-basement=version.google.android.play-services-basement com.google.android.gms..play-services-cast-framework=version.google.android.play-services-cast-framework com.google.android.gms..play-services-cast-tv=version.google.android.play-services-cast-tv com.google.android.gms..play-services-cast=version.google.android.play-services-cast +com.google.android.gms..play-services-cronet=version.google.android.play-services-cronet com.google.android.gms..play-services-drive=version.google.android.play-services-drive +com.google.android.gms..play-services-fido=version.google.android.play-services-fido com.google.android.gms..play-services-fitness=version.google.android.play-services-fitness com.google.android.gms..play-services-games=version.google.android.play-services-games com.google.android.gms..play-services-gcm=version.google.android.play-services-gcm @@ -356,13 +363,18 @@ com.google.android.gms..play-services-mlkit-image-labeling=version.google.androi com.google.android.gms..play-services-mlkit-language-id=version.google.android.play-services-mlkit-language-id com.google.android.gms..play-services-mlkit-text-recognition=version.google.android.play-services-mlkit-text-recognition com.google.android.gms..play-services-nearby=version.google.android.play-services-nearby +com.google.android.gms..play-services-oss-licenses=version.google.android.play-services-oss-licenses com.google.android.gms..play-services-panorama=version.google.android.play-services-panorama +com.google.android.gms..play-services-password-complexity=version.google.android.play-services-password-complexity com.google.android.gms..play-services-pay=version.google.android.play-services-pay +com.google.android.gms..play-services-recaptcha=version.google.android.play-services-recaptcha com.google.android.gms..play-services-safetynet=version.google.android.play-services-safetynet +com.google.android.gms..play-services-tagmanager=version.google.android.play-services-tagmanager com.google.android.gms..play-services-tasks=version.google.android.play-services-tasks com.google.android.gms..play-services-vision=version.google.android.play-services-vision com.google.android.gms..play-services-wallet=version.google.android.play-services-wallet com.google.android.gms..play-services-wearable=version.google.android.play-services-wearable +com.google.android.gms..strict-version-matcher-plugin=version.NO-RULE com.google.android.material..compose-theme-adapter=version.google.android.material.compose-theme-adapter com.google.android.material..material=version.google.android.material com.google.android.play..core-ktx=version.NO-RULE