Не могу найти общую банку в многоплатформенном проекте kotlin - PullRequest
1 голос
/ 07 мая 2020

Я создал собственный многоплатформенный проект и у меня есть реализации для jvm и ios. Как только я построил проект, он сгенерировал 5 jar-файлов

  • Name-jvm.jar
  • Name-jvm-sources.jar
  • Name- ios -sources. jar
  • Name-metadata.jar
  • Name-metadata-sources.jar

Где Name - это имя моего проекта. Но не могу получить Name-common.jar. Поэтому, когда я публикую sh то же самое в bintray, я не могу найти Name-common.jar через pom. xml присутствует. Я что-то не так с моим пониманием мультиплатформенных сборок

1 Ответ

1 голос
/ 15 мая 2020

Имена артефактов по умолчанию в модулях мультиплатформенных публикаций kotlin следующие:

если ваш проект называется name, у него будут следующие публикации для каждой цели


  1. Общий -> name-metadata.jar
  2. JVM -> name-jvm.jar
  3. JS -> name-js.jar (с именем. js внутри)
  4. Android -> name-android.jar (для типа сборки выпуска) или / и name-android-debug.jar (для отладки)

Я не являюсь пользователем kotlin / native, но я считаю, что ios будет иметь что-то вроде это

ios -> name-ios.klib et c

Итак, что касается вашей проблемы, вы можете получить доступ к своему модулю просто name-metadata.jar или с помощью gradle com.group.name:name-metadata:${version}

Если вы собираетесь использовать его в другом многоплатформенном проекте, вы можете просто ввести имя проекта (например, com.group.name:name:${version}) все время. Метаданные Gradle разрешат его для соответствующих целей

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...