Skip to content

Conversation

@mohitc1
Copy link
Contributor

@mohitc1 mohitc1 commented Sep 8, 2025

Updated proguard rules

  1. Keep annotation at AndroidBase64, since it is used by reflection
  2. removed com.microsoft.identity* from keeps but keeping names to help with logging and exception. So, names are not obfuscated.
  3. Updated build.gradle for jcipAnnotationVersion dependency as it provides runtime objects, to avoid any issues.
  4. Added donotwarn for compile time classes (annotations)
  5. Major version bump as it can require consumers to adjust their code to avoid build time/runtime issues.

Fixes AB#3340920

Run: https://identitydivision.visualstudio.com/Engineering/_build/results?buildId=1532428&view=results

keep base64

update rules
@github-actions
Copy link

github-actions bot commented Sep 8, 2025

❌ Work item link check failed. Description does not contain AB#{ID}.

Click here to Learn more.

@github-actions
Copy link

github-actions bot commented Sep 8, 2025

✅ Work item link check complete. Description contains link AB#3340920 to an Azure Boards work item.

@github-actions github-actions bot changed the title [Common] Update proguard rules [Common] Update proguard rules, Fixes AB#3340920 Sep 8, 2025
@mohitc1 mohitc1 marked this pull request as ready for review September 8, 2025 16:00
Copilot AI review requested due to automatic review settings September 8, 2025 16:00
@mohitc1 mohitc1 requested review from a team as code owners September 8, 2025 16:00
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR updates ProGuard obfuscation rules to fix build issues and improve debugging capabilities. The changes ensure that critical classes used by reflection are preserved while allowing better logging and exception handling through name preservation.

  • Added @Keep annotation to AndroidBase64 class to prevent obfuscation since it's used via reflection
  • Updated ProGuard rules to keep names (but allow obfuscation) for Microsoft Identity classes to improve logging
  • Added runtime dependency for JCIP annotations and corresponding ProGuard rules

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
AndroidBase64.kt Added @keep annotation and documentation explaining reflection usage
consumer-rules.pro Updated ProGuard rules for name preservation and annotation handling
build.gradle Added JCIP annotations dependency
changelog.txt Added changelog entry for the ProGuard updates

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

@mohitc1 mohitc1 merged commit 0a5a5e7 into dev Sep 16, 2025
24 of 25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants