You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
168 lines
4.1 KiB
168 lines
4.1 KiB
group = PROJ_GROUP
|
|
version = PROJ_VERSION
|
|
project.archivesBaseName = PROJ_ARTIFACTID
|
|
apply plugin: 'com.jfrog.bintray'
|
|
apply plugin: "com.jfrog.artifactory"
|
|
apply plugin: 'maven-publish'
|
|
|
|
task sourcesJar(type: Jar) {
|
|
from android.sourceSets.main.java.srcDirs
|
|
classifier = 'sources'
|
|
}
|
|
|
|
task javadoc(type: Javadoc) {
|
|
source = android.sourceSets.main.java.srcDirs
|
|
classpath += configurations.compile
|
|
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
|
|
}
|
|
|
|
task javadocJar(type: Jar, dependsOn: javadoc) {
|
|
classifier = 'javadoc'
|
|
from javadoc.destinationDir
|
|
}
|
|
|
|
javadoc {
|
|
options {
|
|
encoding "UTF-8"
|
|
charSet 'UTF-8'
|
|
author true
|
|
version true
|
|
links "http://docs.oracle.com/javase/7/docs/api"
|
|
title PROJ_ARTIFACTID
|
|
}
|
|
}
|
|
|
|
//添加以下信息避免JAVADOC打包时引用其它类库而出现问题,比如出现以下错误
|
|
// xxxx.java:20: 错误: 找不到符号
|
|
// public static <T> T create(JsonElement json, Class<T> classOfModel) {
|
|
// ^
|
|
// 符号: 类 JsonElement
|
|
// 位置: 类 xxxx
|
|
android.libraryVariants.all { variant ->
|
|
println variant.javaCompile.classpath.files
|
|
if (variant.name == 'release') {
|
|
//我们只需 release 的 javadoc
|
|
task("generate${variant.name.capitalize()}Javadoc", type: Javadoc) {
|
|
// title = ''
|
|
// description = ''
|
|
source = variant.javaCompile.source
|
|
classpath = files(variant.javaCompile.classpath.files, project.android.getBootClasspath())
|
|
options {
|
|
encoding "utf-8"
|
|
links "http://docs.oracle.com/javase/7/docs/api/"
|
|
linksOffline "http://d.android.com/reference", "${android.sdkDirectory}/docs/reference"
|
|
}
|
|
exclude '**/BuildConfig.java'
|
|
exclude '**/R.java'
|
|
}
|
|
task("javadoc${variant.name.capitalize()}Jar", type: Jar,
|
|
dependsOn: "generate${variant.name.capitalize()}Javadoc") {
|
|
classifier = 'javadoc'
|
|
from tasks.getByName("generate${variant.name.capitalize()}Javadoc").destinationDir
|
|
}
|
|
artifacts {
|
|
archives tasks.getByName("javadoc${variant.name.capitalize()}Jar")
|
|
}
|
|
}
|
|
}
|
|
|
|
artifacts {
|
|
archives javadocJar
|
|
archives sourcesJar
|
|
}
|
|
|
|
|
|
def pomConfig = {
|
|
scm {
|
|
connection PROJ_VCSURL
|
|
developerConnection PROJ_VCSURL
|
|
url PROJ_WEBSITEURL
|
|
}
|
|
licenses {
|
|
license {
|
|
name "The Apache Software License, Version 2.0"
|
|
url "http://www.apache.org/licenses/LICENSE-2.0.txt"
|
|
distribution "repo"
|
|
}
|
|
}
|
|
developers {
|
|
developer {
|
|
id DEVELOPER_ID
|
|
name DEVELOPER_NAME
|
|
email DEVELOPER_EMAIL
|
|
}
|
|
}
|
|
"dependencies " {
|
|
// dependency {
|
|
// groupId "com.alibaba"
|
|
// artifactId "fastjson"
|
|
// "version " "1.2.6"
|
|
// //同dependencies
|
|
// }
|
|
// }
|
|
}
|
|
}
|
|
|
|
publishing {
|
|
publications {
|
|
mavenJava(MavenPublication) {
|
|
artifactId PROJ_ARTIFACTID
|
|
artifact javadocJar
|
|
artifact sourcesJar
|
|
|
|
pom {
|
|
packaging 'aar'
|
|
}
|
|
pom.withXml {
|
|
def root = asNode()
|
|
root.appendNode('description', PROJ_DESCRIPTION)
|
|
root.children().last() + pomConfig
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
afterEvaluate {
|
|
publishing.publications.mavenJava.artifact(bundleRelease)
|
|
}
|
|
|
|
bintray {
|
|
user = hasProperty("bintrayUser") ? getProperty("bintrayUser") : getProperty("BINTRAY_USER")
|
|
key = hasProperty("bintrayKey") ? getProperty("bintrayKey") : getProperty("BINTRAY_KEY")
|
|
|
|
configurations = ['archives']
|
|
publications = ['mavenJava']
|
|
publish = true
|
|
|
|
pkg {
|
|
repo = 'maven'
|
|
name = PROJ_NAME
|
|
desc = PROJ_DESCRIPTION
|
|
websiteUrl = PROJ_WEBSITEURL
|
|
issueTrackerUrl = PROJ_ISSUETRACKERURL
|
|
vcsUrl = PROJ_VCSURL
|
|
licenses = ['Apache-2.0']
|
|
publicDownloadNumbers = true
|
|
}
|
|
}
|
|
|
|
artifactory {
|
|
contextUrl = 'http://oss.jfrog.org/artifactory'
|
|
resolve {
|
|
repository {
|
|
repoKey = 'libs-release'
|
|
}
|
|
}
|
|
publish {
|
|
repository {
|
|
repoKey = 'oss-snapshot-local' //The Artifactory repository key to publish to
|
|
username = bintray.user
|
|
password = bintray.key
|
|
maven = true
|
|
}
|
|
defaults {
|
|
publications('mavenJava')
|
|
publishArtifacts = true
|
|
}
|
|
}
|
|
} |