Comments (5)
分别在module B和module C配置,然后进行发布就可以。
from gradle-publish.
执行gradlew bintrayUpload时出错,大意是依赖的module A不能识别。经查相关资料,需要修改bintray.gradle,加入“afterEvaluate {}”
from gradle-publish.
是在生成pom文件依赖关系时出错还是?
请问你的解决方式是?
from gradle-publish.
生成javadoc及pom时出错,解决办法是修改为以下代码:
afterEvaluate { project ->
android.libraryVariants.all { variant ->
tasks.androidJavadocs.doFirst {
classpath += files(variant.javaCompile.classpath.files)
}
}
}
task androidJavadocs(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
exclude '**/BuildConfig.java'
exclude '**/R.java'
failOnError = false
}
完整代码:
0、build.gradle
dependencies {
classpath 'com.android.tools.build:gradle:1.3.0'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.2'
}
// 这个脚本是用来发布项目到jcenter
apply from: rootProject.file('publish.gradle')
1、gradle.properties
#下面定义一些常量供publish.gradle使用
POM_GROUP=cn.qqtheme.framework
POM_VERSION_NAME=1.0.0
POM_NAME=Picker For Android
POM_ARTIFACT_ID=AndroidPicker
POM_PACKAGING=aar
POM_DESCRIPTION=安卓选择器类库,包括日期时间选择、单项选择、城市地址选择、文件目录选择、颜色选择等
POM_URL=https://github.com/gzu-liyujiang/AndroidPicker
POM_SCM_URL=https://github.com/gzu-liyujiang/AndroidPicker
POM_SCM_CONNECTION=scm:git:git://github.com/gzu-liyujiang/AndroidPicker.git
POM_SCM_DEV_CONNECTION=scm:git:ssh://[email protected]/gzu-liyujiang/AndroidPicker.git
POM_LICENCE_NAME=The Apache Software License, Version 2.0
POM_LICENCE_NAME_SHORT=Apache-2.0
POM_LICENCE_URL=http://www.apache.org/licenses/LICENSE-2.0.txt
POM_LICENCE_DIST=repo
POM_DEVELOPER_ID=lyj
POM_DEVELOPER_NAME=liyujiang
POM_DEVELOPER_EMAIL=liyujiang_tk@yeah.net
POM_DEVELOPER_URL=http://ime.qqtheme.cn
POM_GIT_URL=https://github.com/gzu-liyujiang/AndroidPicker.git
POM_ISSUE_URL=https://github.com/gzu-liyujiang/AndroidPicker/issues
2、local.properties
sdk.dir=D\:\\android-sdk
bintray.user=gzu-liyujiang
bintray.apikey=*************
3、publish.gradle
apply plugin: 'com.jfrog.bintray'
apply plugin: 'maven-publish'
publishing {
publications {
mavenJava(MavenPublication) {
groupId POM_GROUP
version POM_VERSION_NAME
artifactId POM_ARTIFACT_ID
artifact "${project.buildDir}/outputs/aar/${project.name}-release.aar"
artifact androidJavadocsJar
artifact androidSourcesJar
pom.withXml {
Node root = asNode()
root.appendNode('name', POM_ARTIFACT_ID)
root.appendNode('description', POM_DESCRIPTION)
root.appendNode('url', POM_URL)
def issues = root.appendNode('issueManagement')
issues.appendNode('system', 'github')
issues.appendNode('url', POM_ISSUE_URL)
def scm = root.appendNode('scm')
scm.appendNode('url', POM_SCM_URL)
scm.appendNode('connection', POM_SCM_CONNECTION)
scm.appendNode('developerConnection', POM_SCM_DEV_CONNECTION)
def license = root.appendNode('licenses').appendNode('license')
license.appendNode('name', POM_LICENCE_NAME)
license.appendNode('url', POM_LICENCE_URL)
license.appendNode('distribution', POM_LICENCE_DIST)
}
}
}
}
Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
bintray {
user = properties.getProperty("bintray.user")
key = properties.getProperty("bintray.apikey")
publications = ['mavenJava']
dryRun = false
publish = true
pkg {
repo = 'maven'
name = POM_ARTIFACT_ID
desc = POM_NAME
websiteUrl = POM_URL
issueTrackerUrl = POM_ISSUE_URL
vcsUrl = POM_GIT_URL
licenses = [POM_LICENCE_NAME_SHORT]
labels = ['android', 'aar']
publicDownloadNumbers = true
version {
name = POM_VERSION_NAME
vcsTag = POM_VERSION_NAME
}
}
}
afterEvaluate { project ->
android.libraryVariants.all { variant ->
tasks.androidJavadocs.doFirst {
classpath += files(variant.javaCompile.classpath.files)
}
}
}
task androidJavadocs(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
exclude '**/BuildConfig.java'
exclude '**/R.java'
failOnError = false
options {
encoding 'UTF-8'
charSet 'UTF-8'
author true
version true
links "http://docs.oracle.com/javase/7/docs/api/"
linksOffline "http://d.android.com/reference", "${android.sdkDirectory}/docs/reference"
title POM_NAME
}
}
task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {
classifier = 'javadoc'
from androidJavadocs.destinationDir
}
task androidSourcesJar(type: Jar) {
classifier = 'sources'
from android.sourceSets.main.java.sourceFiles
}
artifacts {
archives androidSourcesJar
archives androidJavadocsJar
}
参加:https://github.com/gzu-liyujiang/GradlePublishToJcenter
from gradle-publish.
@gzu-liyujiang 感谢提供案例。
from gradle-publish.
Related Issues (16)
- Gradle sync failed: Software caused connection abort: recv failed HOT 3
- gradle build tools 2.1.3 上传失败 HOT 21
- Error:No such property: archivesBaseName for class: org.gradle.api.internal.project.DefaultProject_Decorated HOT 13
- 引用脚本部分可以修改得更方便 HOT 9
- 不好用 HOT 2
- 请教个问题 HOT 2
- support 包和 R 文件不存在 HOT 1
- 有报错信息 HOT 6
- upload成功,无法link到jcenter HOT 2
- 关于提交aar HOT 3
- 本地环境java8怎么办 HOT 8
- 可以试试这种方式:http://www.tuicool.com/articles/UFzmuiY。 HOT 4
- 关于同步到Maven Central HOT 2
- 无法发布 HOT 1
- SONATYPE_KEY是什么 HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gradle-publish.