apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'com.jfrog.bintray'

//加载属性文件
Properties properties = new Properties()
File localPropertiesFile = project.file('../bintray.properties');
File projectPropertiesFile = project.file('project.properties');

if (localPropertiesFile.exists()) {
    properties.load(localPropertiesFile.newDataInputStream())
}

if (projectPropertiesFile.exists()) {
    properties.load(projectPropertiesFile.newDataInputStream())
}

//读取属性
def projectRepositoryName = properties.getProperty('project.repositoryName')
def projectName = properties.getProperty('project.name')
def projectGroupId = properties.getProperty('project.groupId')
def projectArtifactId = properties.getProperty('project.artifactId')
def projectPackaging = properties.getProperty('project.packaging')
def projectSiteUrl = properties.getProperty('project.siteUrl')
def projectGitUrl = properties.getProperty('project.gitUrl')
def projectVersionName = android.defaultConfig.versionName

def bintrayUser = properties.getProperty('bintray.user')
def bintrayApikey = properties.getProperty('bintray.apiKey')
// def bintrayOrganizationId = properties.getProperty('bintray.organizationId');

def developerId = properties.getProperty('developer.id')
def developerName = properties.getProperty('developer.name')
def developerEmail = properties.getProperty('developer.email')

def javadocName = properties.getProperty('javadoc.name')

/*
* Could not bintrayUpload to ... HTTP/1.1 400 Bad Request [
message:Unable to bintrayUpload files: Maven group, artifact or version defined in the pom file do not match the file path ...pom']
* */
group = projectGroupId

// 配置生成POM.xml文件的参数
install {
    repositories.mavenInstaller {
        pom {
            project {
                name projectName
                groupId projectGroupId
                artifactId projectArtifactId
                version projectVersionName
                packaging projectPackaging
                url projectSiteUrl
                licenses {
                    license {
                        name 'MIT'
                    }
                }
                developers {
                    developer {
                        id developerId
                        name developerName
                        email developerEmail
                    }
                }
                scm {
                    connection projectGitUrl
                    developerConnection projectGitUrl
                    url projectSiteUrl
                }
            }
        }
    }
}

//生成sources.jar
task sourcesJar(type: Jar) {
    from android.sourceSets.main.java.srcDirs
    classifier = 'sources'
}

task javadoc(type: Javadoc) {
    source = android.sourceSets.main.java.srcDirs
    classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}

//生成javadoc.jar
task javadocJar(type: Jar, dependsOn: javadoc) {
    classifier = 'javadoc'
    from javadoc.destinationDir
}

artifacts {
    archives javadocJar
    archives sourcesJar
}

//javadoc的配置
javadoc {
    options {
        encoding 'UTF-8'
        charSet 'UTF-8'
        author true
        version projectVersionName
        links 'http://docs.oracle.com/javase/7/docs/api'
        title javadocName
    }
}


bintray {
    user = bintrayUser
    key = bintrayApikey
    configurations = ['archives']
    pkg {
        // userOrg = bintrayOrganizationId
        repo = projectRepositoryName
        name = projectName
        websiteUrl = projectSiteUrl
        vcsUrl = projectGitUrl
        licenses = ['MIT']
        publish = true
    }
}