Публикация
danger
Данная статья находится в разработке!
caution
Набор целевых платформ определяется автором мультиплатформенной библиотеки, и они должны предоставлять все реализации конкретной платформы для данной библиотеки.
Добавление новых таргетов для мультиплатформенной библиотеки со стороны потребителя не поддерживается.
Maven
В терминологии Maven репозиторий — это каталог, в котором хранятся все файлы проекта, библиотеки, плагины или любые другие специфичные для проекта артефакты, которые Maven может легко использовать.
Репозитории бывают трех типов:
- локальный
- центральный
- удаленный
Библиотека, созданная из многоплатформенного проекта, может быть опубликована в репозитории Maven с плагином Gradle maven-publish
, который может применяться следующим образом:
plugins {
// ...
id 'maven-publish'
}
При применении данного плагина публикации по умолчанию создаются для каждой из целей, которая может быть создана на текущем хосте. Увидеть это можно, заглянув в IceRock MOKO Maven репозиторий:
Это требует задания в проекте group
и version
:
// build.gradle.kts
group = "dev.icerock.moko"
version = libs.versions.mokoUnitsVersion.get()
# libs.versions.toml
# ...
mokoUnitsVersion = "0.6.2"
Идентификаторы артефакта по умолчанию следуют шаблону <projName>-<targetName>
, например, units-iosx64
для цели, названной iosx64
в проекте units
.
Кроме того, по умолчанию добавляется дополнительная публикация, содержащая сериализованные объявления Kotlin и используемая IDE для анализа мультиплатформенных библиотек.
По умолчанию в каждую публикацию добавляется исходный код JAR, а также его главный артефакт. Исходные коды JAR содержат исходные коды, используемые при компиляции цели main: