apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'signing'
apply plugin: 'clone-artifacts'

dependencies {
    compile "com.android.tools:common:$project.ext.baseAndroidVersion"
}

def getVersion() {
    if (project.has("release")) {
        return project.ext.baseVersion
    }

    return project.ext.baseVersion + '-SNAPSHOT'
}

version = getVersion()
archivesBaseName = 'builder-model'

task publishLocal(type: Upload) {
    configuration = configurations.archives
    repositories {
        mavenDeployer {
            repository(url: uri("$rootProject.ext.androidHostOut/repo"))
        }
    }
}

// custom tasks for creating source/javadoc jars
task sourcesJar(type: Jar, dependsOn:classes) {
    classifier = 'sources'
    from sourceSets.main.allSource
}

javadoc {
    exclude               "**/internal/**"
    options.memberLevel = org.gradle.external.javadoc.JavadocMemberLevel.PROTECTED

    title                 "Android Model"
}

task javadocJar(type: Jar, dependsOn:javadoc) {
    classifier         'javadoc'
    from               javadoc.destinationDir
}
 
// add javadoc/source jar tasks as artifacts
artifacts {
    archives jar
    archives sourcesJar
    archives javadocJar
}
