Gradle / maven新手在这里。我创建了一个目前作为AAR发布到bintray / jcenter的库,用于Android Studio项目中的gradle。 但是,由于我的库并没有真正的Android依赖关系,并且可能在任何Java SE环境中使用,我想将它作为普通jar发布。由于我不熟悉非android java开发社区,我不确定这是否意味着我应该将它发布到Maven中心,或者开发人员通常可以很好地从bintray获取我的库,因为该库实际上是托管在bintray上的maven repo? 我应该简单地扩展我的工件以包括jar(与aar,javadoc和源jar一起),或者我是否应该单独发布jar,比如Maven central?
启动并运行bintray / jcenter的东西并非野餐,我找到了一些关于如何操作的指南,但没有一个真正完整,但最后我还有它的工作。然而,我很难找到类似的maven出版简易指南。
我的gradle文件如下所示:
Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection.
apply plugin: 'com.android.library'
apply plugin: 'com.github.dcendents.android-maven'
apply plugin: 'com.jfrog.bintray'
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
minSdkVersion 1
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
}
}
group = <my library name>
version = <my version>
dependencies {
}
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))
options.overview = 'src/main/overview.html'
}
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}
artifacts {
archives javadocJar
archives sourcesJar
}
bintray {
user = properties.getProperty("bintray.user")
key = properties.getProperty("bintray.apikey")
configurations = ['archives']
pkg {
repo = "maven"
name = <my library name>
websiteUrl = <my site url>
vcsUrl = <my git url>
licenses = ["Apache-2.0"]
publish = true
}
}
插件提供com.github.dcendents.android-maven
任务,可生成AAR,Source Jar和Javadoc Jar。我已经定义了自己的bintray任务,将库发布到bintray。创建用于发布我的库的任务的最简单方法是将其作为maven的标准jar?我也可以使用install
,还是需要一个单独的插件?