Skip to content

MSAL Contributing

Shane Oatman edited this page Sep 26, 2019 · 3 revisions

Contribute

We enthusiastically welcome contributions and feedback. You should clone the repo and start contributing now.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

To build MSAL for android, follow the steps bellow.

Clone

MSAL uses a submodule for a "common" library shared by MSAL, ADAL and the Microsoft authentication library.

git clone --recurse-submodules https://github.com/AzureAD/microsoft-authentication-library-for-android.git
cd msal

MSAL Flavors

 flavorDimensions "main"

productFlavors {
    // The 'local' productFlavor sources common from mavenLocal and is intended to be used
    // during development.
    local {
        dimension "main"
        versionNameSuffix "-local"
    }

    // Intended for nightly builds
    snapshot {
        dimension "main"
    }

    // The 'dist' productFlavor sources common from a central repository and is intended
    // to be used for releases.
    dist {
        dimension "main"
    }
}

Flavor Dependencies

MSAL relies on a common library which is shared by MSAL, ADAL and the auth broker for Android. We're still in the midst of publishing our snapshot and release candidate builds to maven. In the meantime you'll want to comment out the depedencies for the "dist" and "snapshot" flavors. These are currently not public. This document will be updated once they are available on Maven. Expected in October 2019.

    localApi(project(":common")) {
        transitive = false
    }
/*
    snapshotApi(group: 'com.microsoft.identity', name: 'common', version: '1.0.0-RC6', changing: true)

    distApi("com.microsoft.identity:common:1.0.0-RC6") {
        transitive = false
    }
*/

Build

.\gradlew assembleLocalDebug

Run Tests

NOTE: This requires a connected device (physical device or Android Emulator)

.\gradlew connectedLocalDebugAndroidTest