Add support for Authenticator App with opt-in flag and related config…, Fixes AB#3579566#418
Open
rohitluthra wants to merge 4 commits intomasterfrom
Open
Add support for Authenticator App with opt-in flag and related config…, Fixes AB#3579566#418rohitluthra wants to merge 4 commits intomasterfrom
rohitluthra wants to merge 4 commits intomasterfrom
Conversation
# Conflicts: # .gitconfig
|
❌ Work item link check failed. Description does not contain AB#{ID}. Click here to Learn more. |
Move hardcoded ksp / kotlin.plugin.compose / androidx.room versions out of
the root build.gradle plugins {} block and resolve them in settings.gradle
via pluginManagement.resolutionStrategy.eachPlugin, reading from
authenticator/PhoneFactor/gradle.properties.
This makes Authenticator's gradle.properties the single source of truth:
- kotlin.plugin.compose -> kotlin_version
- androidx.room -> androidx_room_persistence_version
- com.google.devtools.ksp -> pinned here (couples Kotlin+KSP increment)
Avoids silent version drift between the Kotlin compiler and KSP/Compose
plugins when Authenticator bumps kotlin_version.
fadidurah
approved these changes
Apr 17, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add Authenticator App to android-complete (opt-in)
PBI - AB#3579566
Summary
Integrates the Microsoft Authenticator app (
authenticator/PhoneFactor) into theandroid-completemulti-repo workspace as an opt-in module. When the opt-in flag is off (the committed default), the workspace builds exactly as it does today — no new modules, no new dependencies, no jetifier overhead. When turned on, all Authenticator modules, the AuthApp Maven feed, and Authenticator buildscript plugins (Hilt, Navigation Safe Args, etc.) are wired in.This lets developers who don't work on Authenticator keep a lean, fast Gradle sync, while developers who do work on it get a single unified workspace.
The opt-in flag:
includeAuthenticatorAppResolved in priority order (highest wins):
-PincludeAuthenticatorApp=trueon the command line~/.gradle/gradle.properties(per-user, never committed)local.properties(per-checkout, gitignored)gradle.properties(committed default —false)When enabling, developers must also set
android.enableJetifier=true(documented inline ingradle.properties) because some Authenticator deps (Samsung Knox supportlib, MsaSdk .aar blobs) were compiled against the legacy Android Support Library.Changes
settings.gradleincludeAuthenticatorAppfromlocal.properties→ gradle property. Conditionally register thevsts-maven-authappplugin repo andincludeall 28 Authenticator modules (:MSAuthenticator,:AadRemoteNgcLibrary,:MsaSdk*,:WalletLibrary*,:VerifiableCredential-*,:uiautomator-tests, etc.).:Macrobenchmarkis intentionally excluded (references:appinternally, not needed for local dev).build.gradleproject.ext. When on: mergeauthenticator/PhoneFactor/gradle.propertiesinto root ext, add thevsts-maven-authappbuildscript repo, and add Authenticator-required classpath deps (Hilt, Navigation Safe Args). Otherwise: behavior unchanged.gradle.propertiesincludeAuthenticatorApp=false(default) +android.enableJetifier=false(default) with detailed inline docs. Bumpedorg.gradle.jvmargsheap from-Xmx2048m→-Xmx4096mto handle the larger module graph when Authenticator is enabled..gitconfiggit droidSetupnow conditionally clones theauthenticatorrepo (AD-MFA-phonefactor-phoneApp-android) only when the opt-in flag is on, and runs submodule init for it. All otherdroid*aliases (droidStatus,droidCheckout,droidPull,droidPush,droidFetch,droidBranch,droidStash,droidNewFeature,droidShowBranches,droidCheckoutDev,droidUpdateSubmodules) gate the authenticator step on the same flag using agrepguard againstlocal.properties/gradle.properties. The authenticator working branch isworking(notdev). Also resolved a merge conflict withmaster(design-docs clone line preserved)..gitignore.github/developer-local.json,.github/orchestrator-config.json,.github/codebase-context.md).How to enable locally
Add to
local.properties(or~/.gradle/gradle.properties):