apply plugin: 'com.github.dcendents.android-maven' apply plugin: 'com.jfrog.bintray' /* * Copyright (C) 2018 xuexiangjys(xuexiangjys@163.com) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ // load properties Properties properties = new Properties() File localPropertiesFile = project.file("../local.properties") if (localPropertiesFile.exists()) { properties.load(localPropertiesFile.newDataInputStream()) } File projectPropertiesFile = project.file("project.properties") if (projectPropertiesFile.exists()) { properties.load(projectPropertiesFile.newDataInputStream()) } // read properties def projectName = properties.getProperty("project.name") def projectBintrayRepository = properties.getProperty("project.bintrayRepository") def projectGroupId = properties.getProperty("project.groupId") def projectArtifactId = properties.getProperty("project.artifactId") def projectVersionName = properties.getProperty("project.version") def projectPackaging = properties.getProperty("project.packaging") def projectSiteUrl = properties.getProperty("project.siteUrl") def projectGitUrl = properties.getProperty("project.gitUrl") def developerId = properties.getProperty("developer.id") def developerName = properties.getProperty("developer.name") def developerEmail = properties.getProperty("developer.email") def bintrayUser = properties.getProperty("bintray.user") def bintrayApikey = properties.getProperty("bintray.apikey") def javadocName = properties.getProperty("javadoc.name") group = projectGroupId // This generates POM.xml with proper parameters install { repositories.mavenInstaller { pom { project { name projectName groupId projectGroupId artifactId projectArtifactId version projectVersionName packaging projectPackaging url projectSiteUrl licenses { license { name 'The Apache Software License, Version 2.0' url 'http://www.apache.org/licenses/LICENSE-2.0.txt' } } developers { developer { id developerId name developerName email developerEmail } } scm { connection projectGitUrl developerConnection projectGitUrl url projectSiteUrl } } }.writeTo("$buildDir/poms/pom-default.xml").writeTo("pom.xml") } } if (project.hasProperty("android")) { // Android libraries task sourcesJar(type: Jar) { classifier = 'sources' from android.sourceSets.main.java.srcDirs } task javadoc(type: Javadoc) { failOnError false source = android.sourceSets.main.java.srcDirs classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) } } else { // Java libraries task sourcesJar(type: Jar, dependsOn: classes) { classifier = 'sources' from sourceSets.main.allSource } } // 制作文档(Javadoc) task javadocJar(type: Jar, dependsOn: javadoc) { classifier = 'javadoc' from javadoc.destinationDir } artifacts { archives javadocJar archives sourcesJar } //解决 JavaDoc 中文注释生成失败的问题 tasks.withType(Javadoc) { options.addStringOption('Xdoclint:none', '-quiet') options.addStringOption('encoding', 'UTF-8') options.addStringOption('charSet', 'UTF-8') } // javadoc configuration javadoc { options { encoding "UTF-8" charSet 'UTF-8' author true version projectVersionName links "http://docs.oracle.com/javase/7/docs/api" title javadocName } } // bintray configuration bintray { user = bintrayUser key = bintrayApikey configurations = ['archives'] pkg { repo = projectBintrayRepository name = projectName websiteUrl = projectSiteUrl vcsUrl = projectGitUrl licenses = ["Apache-2.0"] publish = true } } /* * ********************************************************* * * ./gradlew install * ./gradlew bintrayUpload * * ********************************************************* * * 1.在项目中新建project.properties文件,然后配置如下属性: * * #project dependency info * project.groupId=com.github.xuexiangjys //组名 * project.artifactId=xutil-core //项目名 * project.version=1.0.0 //版本名 * * compile 'groupId:artifactId:version' * * #project description * project.name=XUtil * project.bintrayRepository=maven * project.packaging=aar * project.siteUrl=https://github.com/xuexiangjys/XUtil * project.gitUrl=https://github.com/xuexiangjys/XUtil.git * * #javadoc * javadoc.name=XUtil * * ********************************************************* * * 2.在项目根目录中的local.properties文件,配置如下属性: * * #bintray * bintray.user= * bintray.apikey= * * #developer * developer.id= * developer.name= * developer.email= */