AzureAD / microsoft-authentication-library-common-for-android

Common code used by both the Active Directory Authentication Library (ADAL) and the Microsoft Authentication Library (MSAL)
MIT License
41 stars 35 forks source link

Target, compile SDK, AGP and gradle version increase #2142

Closed somalaya closed 1 year ago

somalaya commented 1 year ago
  1. Target sdk version changed to 33

  2. Compile sdk version changed to 34

  3. AGP version changed to 7.4.2

  4. Gradle distribution url changed to 7.5 After changing above versions, I had to update other dependencies for compatibility

  5. Powerlift version changed to 1.0.3

  6. Bouncy castle version changed to 1.69

  7. robolectric version to 4.9

  8. Also, with new gradle versions, some of the properties used in gradle were deprecated (naming conventions changed). So, made those changes

  9. With gradle version changes, we should not be having a package name in AndroidManifest.xml.. instead, should add a namespace property in build.gradle. https://developer.android.com/build/publish-library/prep-lib-release#choose-namespace

  10. For apps targeting Android 14, Android restricts apps from sending implicit intents to internal app components. So , added exported attribute. https://developer.android.com/about/versions/14/behavior-changes-14#safer-intents

  11. Also, fixed a lint issue

    MicrosoftTeams-image (9)
  12. Removed SonarQube Quality gate analysis because it was not being used - Was set to default. Also, we have CodeQL that is doing the Quality gate analysis.

  13. Modified the publish task so that maven release pipeline would find the artifact to be published in common-{$version} format! This leads to the daily pipeline to break because publish task in daily pipeline has a dependency task that looks for common-dist-release.aar. Because we renamed the artifact for the mvn release pipeline to work, daily pipeline breaks. For this, I gave a flag to let common-dist-release.aar be renamed ONLY in release pipeline and not in daily pipeline. In daily pipeline, the publish task's -PprojVersion would take care of changing common-dist-release.aar to common-{version}.aar file The flag added is : -PshouldRenameBuildFile

  14. **** IMPORTANT **** I have also removed common:build task from maven release pipeline. Instead, I am making the assembleDistRelease task depend on sourcesJar task to build the Jar file. This was necessary because, if we have common:build task, it would build localDebug, localRelease, distDebug and distRelease and these will be pushed as artifacts as well.

rpdome commented 1 year ago

Have you synced with partner teams (LTW, AuthApp, CP) on the updated versions? (esp. BouncyCastle)

somalaya commented 1 year ago

Have you synced with partner teams (LTW, AuthApp, CP) on the updated versions? (esp. BouncyCastle)

No, I have not synced because I was able to generate LTW, AuthApp and CP with my changes and also the UI tests were passing. Please let me know if you still think we should ask them?

shahzaibj commented 1 year ago

The pipelines are broken

melissaahn commented 1 year ago

For Lint and CodeQL, looks like there might need to be a change to run those tasks with JDK 11 instead of 8?

somalaya commented 1 year ago

For Lint and CodeQL, looks like there might need to be a change to run those tasks with JDK 11 instead of 8?

Yes, you are right. JDK 11 will resolve these issues. Gradle 7.5 needs java 11 for Lint and CodeQL to work

somalaya commented 1 year ago

The pipelines are broken

Pipelines are broker because it uses the template in android complete. And the android complete branch being pulled in these pipelines is master branch. My fixes in android-complete are still on my branch

somalaya commented 1 year ago

Have you synced with partner teams (LTW, AuthApp, CP) on the updated versions? (esp. BouncyCastle)

No, I have not synced because I was able to generate LTW, AuthApp and CP with my changes and also the UI tests were passing. Please let me know if you still think we should ask them?

Update : CP, Auth app and OneAuth teams have verified their apps based on the private build I shared and they signed off. I am waiting for LTW team to confirm.