apply plugin: 'com.android.tools.java-library'
apply plugin: 'java-test-fixtures'
apply plugin: 'com.android.tools.kotlin'
apply plugin: 'com.android.tools.publish'
apply plugin: 'sdk-java-lib'

group = 'com.android.tools'
archivesBaseName = 'repository'
version = rootProject.ext.baseVersion

dependencies {
    implementation project(':base:common')
    implementation libs.activation
    implementation libs.apache_compress
    implementation libs.jaxb_runtime
    implementation libs.jimfs
    implementation libs.kotlin_stdlib

    testImplementation libs.junit
    testImplementation libs.truth
    testImplementation libs.mockito_core
    testImplementation project(':base:testutils')

    testFixturesImplementation project(':base:annotations')
    testFixturesImplementation project(':base:testutils')
    testFixturesImplementation libs.guava
    testFixturesImplementation libs.jimfs
}

test {
  testLogging {
    showStandardStreams = true
    showStackTraces = true
    exceptionFormat = "full"
  }
}

sourceSets {
    main.resources.srcDir 'src/main/java'
    test.resources.srcDir 'src/test/java'
}

project.ext.pomName = 'Android Tools repository'
project.ext.pomDesc = 'A library for downloading and managing package repositories'
