Опубликовать библиотеку kotlin (не Android) в jCenter

У меня есть Intellij Idea 2016.1 gradle-application (Not Android), написанный в Котлине. Мне нужно поместить его в jCenter и добавить в приложение Android в качестве зависимости. Я не могу найти никакой информации об этом. Все ссылки относятся к проекту Android. У меня нет понятия, как это можно сделать. Поиск подробных инструкций

Публикация библиотек Kotlin в jCenter абсолютно такая же, как для библиотек JAva.

buildscript { ext.kotlinVersion = '1.0.2' repositories { mavenCentral() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion" } } plugins { id "com.jfrog.bintray" version "1.6" } apply plugin: 'kotlin' apply plugin: 'maven-publish' group '<groupId>' version '<version>' sourceCompatibility = 1.6 repositories { mavenCentral() } dependencies { compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion" } bintray { user = '<bintray user name>' key = '<bintray API key>' publications = ['mavenJava'] pkg { repo = '<repository name on bintray>' name = '<artifactId>' version { name = project.version released = new Date() vcsTag = "v${project.version}" } } } task sourcesJar(type: Jar, dependsOn: project.classes) { from sourceSets.main.allSource } task javadocJar(type: Jar, dependsOn: project.javadoc) { from javadoc.destinationDir } artifacts { archives sourcesJar, javadocJar } publishing { publications { mavenJava(MavenPublication) { artifactId project.bintray.pkg.name from components.java artifact sourcesJar { classifier = 'sources' } artifact javadocJar { classifier = 'javadoc' } } } } 

Создайте репозиторий на bintray, а затем просто вызовите ./gradlew bintrayUpload . Если вы не запрашиваете плагин bintray для публикации загруженной зависимости, вам необходимо публиковать его вручную из своей учетной записи bintray.

Когда публикация будет опубликована, вы можете связать ее с jCenter со своей учетной записью. После публикации в jCenter вы можете использовать его как обычную зависимость от проекта Android.

Ответ Майкла правильный. Но если вы выполняете bintrayUpload, зависимость kotlin будет включена в файл .pom. Это приводит к добавлению kotlin libs дважды, когда вы включаете свой lib в gradle-project. Это приведет к ошибке DuplicateFileException. Я не знаю, что случилось. Возможно, я сделал какую-то глупую ошибку. Но если это ваш случай, вы можете выполнить сборку gradlew с помощью build.gradle Майкла для генерации .jar и source.jar. Затем вы можете создать свой собственный .pom-файл без зависимостей и развернуть 3 файла (jar, source.jar и .pom) для bintray вручную. Затем подключите библиотеку к jCenter.

Например:

Сгенерировано .pom с ./gradlew bintrayUpload:

 <?xml version="1.0" encoding="UTF-8"?> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> <groupId>ru.livemaster</groupId> <artifactId>LongToWords</artifactId> <version>0.1</version> <dependencies> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib</artifactId> <version>1.0.2</version> <scope>runtime</scope> </dependency> </dependencies> </project> во <?xml version="1.0" encoding="UTF-8"?> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> <groupId>ru.livemaster</groupId> <artifactId>LongToWords</artifactId> <version>0.1</version> <dependencies> <dependency> <groupId>org.jetbrains.kotlin</groupId> <artifactId>kotlin-stdlib</artifactId> <version>1.0.2</version> <scope>runtime</scope> </dependency> </dependencies> </project> 

Ваш собственный .pom для развертывания без зависимостей kotlin:

 <?xml version="1.0" encoding="UTF-8"?> <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <modelVersion>4.0.0</modelVersion> <groupId>ru.livemaster</groupId> <artifactId>LongToWords</artifactId> <version>0.1</version> </project>