Я пытаюсь извлечь часть моего проекта Kotlin Gradle в отдельный репозиторий.Это мультиплатформенный проект Kotlin (https://github.com/krzema12/fsynth), и я хочу извлечь того, что находится в пакете plotassert .
Я следовал https://kotlinlang.org/docs/tutorials/multiplatform-library.html. Чтобы проверить его локально,Я опубликовал недавно извлеченный проект в локальный репозиторий Maven, выполнив задачу publishToMavenLocal
Gradle, а затем поместил mavenLocal()
в раздел repositories
основного проекта ( здесь , как первый элемент). В core
зависимости проекта ( здесь ) Я положил
compile "it.krzeminski.plotassert:PlotAssert:0.0.1"
Проблема в том, что IntelliJ / Gradle не видит эту зависимость, также при попытке использовать какой-то класс из кода:
Если я намеренно использую какое-то неправильное имя зависимости, Gradle замечает это:
, так что это означает, что каким-то образом он видит, что зависимость существует в локальном репо. Я также вижу в ~/.m2/repository
, что локальная публикация создала несколько файлов:
:~/.m2/repository$ tree
.
└── it
└── krzeminski
└── plotassert
├── PlotAssert
│ ├── 0.0.1
│ │ ├── PlotAssert-0.0.1.module
│ │ └── PlotAssert-0.0.1.pom
│ └── maven-metadata-local.xml
├── PlotAssert-js
│ ├── 0.0.1
│ │ ├── PlotAssert-js-0.0.1.jar
│ │ ├── PlotAssert-js-0.0.1.module
│ │ ├── PlotAssert-js-0.0.1.pom
│ │ └── PlotAssert-js-0.0.1-sources.jar
│ └── maven-metadata-local.xml
├── PlotAssert-jvm
│ ├── 0.0.1
│ │ ├── PlotAssert-jvm-0.0.1.jar
│ │ ├── PlotAssert-jvm-0.0.1.module
│ │ ├── PlotAssert-jvm-0.0.1.pom
│ │ └── PlotAssert-jvm-0.0.1-sources.jar
│ └── maven-metadata-local.xml
├── PlotAssert-linux
│ ├── 0.0.1
│ │ ├── PlotAssert-linux-0.0.1.klib
│ │ ├── PlotAssert-linux-0.0.1.module
│ │ ├── PlotAssert-linux-0.0.1.pom
│ │ └── PlotAssert-linux-0.0.1-sources.jar
│ └── maven-metadata-local.xml
└── PlotAssert-metadata
├── 0.0.1
│ ├── PlotAssert-metadata-0.0.1.jar
│ ├── PlotAssert-metadata-0.0.1.module
│ ├── PlotAssert-metadata-0.0.1.pom
│ └── PlotAssert-metadata-0.0.1-sources.jar
└── maven-metadata-local.xml
Разве это не так?Gradle или IntelliJ неверно? Насколько я понимаю, он должен перечислить эту зависимостьв разделе «Исходные наборы», как это было в случае неправильного имени.
Я еще не пробовал публиковать недавно извлеченный проект в каком-либо онлайн-репозитории, потому что я хотел бы иметь возможность выполнять локальные итерациивместо того, чтобы публиковать каждое изменение.
Не могли бы вы дать мне указатель на то, что мне здесь не хватает?