apply plugin: 'com.android.tools.java'
apply plugin: 'com.android.tools.publish'
// Only present so gets released in 'release' mode.
apply plugin: 'signing'

File aaptVersionPropertiesFile = rootProject.file('../prebuilts/tools/common/aapt/aapt2_version.properties')
Properties aaptVersionProperties = new Properties()
aaptVersionPropertiesFile.withReader { aaptVersionProperties.load(it) }

group = 'com.android.tools.build'
version = rootProject.ext.buildVersion + '-' + aaptVersionProperties.getProperty("aapt2Version")

task zipDarwin(type: Jar) {
    from rootProject.file('../prebuilts/tools/common/aapt/darwin',)
    from 'NOTICE'
    classifier 'osx'
}
task zipLinux(type: Jar) {
    from rootProject.file('../prebuilts/tools/common/aapt/linux',)
    from 'NOTICE'
    classifier 'linux'
}
task zipWindows(type: Jar) {
    from rootProject.file('../prebuilts/tools/common/aapt/windows',)
    from 'NOTICE'
    classifier 'windows'
}

project.ext.pomName = 'AAPT2 binaries'
project.ext.pomDesc = 'Android resource compiler'

project.ext.publishJavaComponent = false
publishing {
    publications {
        maven(MavenPublication) {
            artifacts = [zipDarwin, zipLinux, zipWindows]
        }
    }
}
