// See build.gradle for an explanation of what this file is.

apply plugin: 'com.android.library'

android {
  useLibrary 'org.apache.http.legacy'

  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7
  }

  defaultConfig {
    consumerProguardFiles 'consumer-proguard-rules.pro'
  }
}

tasks.withType(JavaCompile) {
  options.compilerArgs << "-Xlint:unchecked" << "-Werror"
}

dependencies {
    implementation "androidx.annotation:annotation:1.0.1"
    compileOnly "org.chromium.net:cronet-embedded:76.3809.111"
}

// Check if the android plugin version supports unit testing.
if (configurations.findByName("testImplementation")) {
  dependencies {
      testImplementation "org.chromium.net:cronet-embedded:76.3809.111"
      testImplementation "junit:junit:4.12"
      testImplementation "org.hamcrest:hamcrest-library:1.3"
      testImplementation "org.mockito:mockito-core:2.19.0"
      testImplementation "org.robolectric:robolectric:3.4.2"
  }
}
