将android库发布为maven jar

时间:2016-02-11 09:25:18

标签: android maven gradle jar publishing

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,还是需要一个单独的插件?

0 个答案:

没有答案