ext.publishName = "Microsoft Azure Android Serde Jackson Library"
description = "This package contains Serde implementation using Jackson for Azure Android clients."
ext.versionCode = 1

android {
    defaultConfig {
        versionCode project.versionCode
        versionName project.version
    }
}

dependencies {
    // <!-- begin: api Dependencies -->
    compileOnly project (":sdk:core:azure-core") // provided scope

    // We can't upgrade Jackson to 2.13.0 and above, as it introduced using an API not available in javax.xml.stream:stax-api:1.0-2. See: https://github.com/Azure/azure-sdk-for-android/issues/1017
    //noinspection GradleDependency
    api "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:$jacksonVersion"
    //noinspection GradleDependency
    api "com.fasterxml.jackson.dataformat:jackson-dataformat-xml:$jacksonVersion"
    api "javax.xml.stream:stax-api:$staxApiVersion" // https://stackoverflow.com/a/47371517/1473510
    // <!-- end: api Dependencies -->

    // <!-- begin: implementation Dependencies -->
    implementation project (":sdk:core:azure-core-logging")
    // We need to have a separate Jackson Databind version to include a security fix.
    implementation "com.fasterxml.jackson.core:jackson-databind:$jacksonDatabindVersion"
    // We need to specify a Woodstox version to include a security fix.
    implementation "com.fasterxml.woodstox:woodstox-core:$woodstoxVersion"
    // <!-- end: implementation Dependencies -->

    // <!-- begin: test Dependencies -->
    testImplementation project (":sdk:core:azure-core-http")

    testImplementation "org.junit.jupiter:junit-jupiter-api:$junitJupiterVersion"
    testImplementation "org.junit.jupiter:junit-jupiter-params:$junitJupiterVersion"
    testImplementation "org.mockito:mockito-core:$mockitoVersion"

    testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:$junitJupiterVersion"
    // <!-- end: test Dependencies -->
}
