Я строю свои Java проекты с Gradle и публикую следующие настройки:
apply plugin: 'java-library'
apply plugin: 'maven-publish'
java {
withSourcesJar()
}
publishing {
publications {
libs(MavenPublication) {
from components.java
}
}
repositories {
maven {
credentials {
username depotUsername
password depotPassword
}
url "${depotUrl}/repository/internal/"
}
}
}
Когда я запускаю publishAllPublicationsToMavenRepository
, все работает как положено: я вижу результаты на моем сервере (используя нашу библиотеку serdes в качестве примера):
.
├── 0.0.1
│ ├── serdes-0.0.1.jar
│ ├── serdes-0.0.1.jar.md5
│ ├── serdes-0.0.1.jar.sha1
│ ├── serdes-0.0.1.jar.sha256
│ ├── serdes-0.0.1.jar.sha512
│ ├── serdes-0.0.1.module
│ ├── serdes-0.0.1.module.md5
│ ├── serdes-0.0.1.module.sha1
│ ├── serdes-0.0.1.module.sha256
│ ├── serdes-0.0.1.module.sha512
│ ├── serdes-0.0.1.pom
│ ├── serdes-0.0.1.pom.md5
│ ├── serdes-0.0.1.pom.sha1
│ ├── serdes-0.0.1.pom.sha256
│ ├── serdes-0.0.1.pom.sha512
│ ├── serdes-0.0.1-sources.jar
│ ├── serdes-0.0.1-sources.jar.md5
│ ├── serdes-0.0.1-sources.jar.sha1
│ ├── serdes-0.0.1-sources.jar.sha256
│ └── serdes-0.0.1-sources.jar.sha512
├── maven-metadata.xml
├── maven-metadata.xml.md5
├── maven-metadata.xml.sha1
├── maven-metadata.xml.sha256
└── maven-metadata.xml.sha512
Однако, когда я пытаюсь решить эту проблему в другом проекте, я запускаю плагин idea
и не получаю источники JAR. Я могу искать имя класса в IntelliJ, и у меня есть только возможность просмотреть декомпилированный код. Если я загляну в файл .iml
, я также увижу, что нет jar-кода источника:
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar:///Users/tom/.gradle/caches/modules-2/files-2.1/io.majeure/serdes/0.0.1/fb710e84a3a74e2548423d258f9ae13da5c35cf8/serdes-0.0.1.jar!/"/>
</CLASSES>
<JAVADOC/>
<SOURCES/>
</library>
</orderEntry>
Это работает для зависимостей, которые я опускаю из MavenCentral, и я могу просматривать исходные файлы из этих файлов. в IntelliJ просто отлично:
<orderEntry type="module-library">
<library>
<CLASSES>
<root url="jar:///Users/tom/.gradle/caches/modules-2/files-2.1/com.google.guava/guava/28.2-jre/8ec9ed76528425762174f0011ce8f74ad845b756/guava-28.2-jre.jar!/"/>
</CLASSES>
<JAVADOC/>
<SOURCES>
<root url="jar:///Users/tom/.gradle/caches/modules-2/files-2.1/com.google.guava/guava/28.2-jre/79474f7d08b9a8d03f827161825711d9d62ef09a/guava-28.2-jre-sources.jar!/"/>
</SOURCES>
</library>
</orderEntry>
Что мне здесь не хватает? Я уже пытался уничтожить мой кеш Gradle и удалил мое локальное хранилище Maven, чтобы убедиться, что я ничего не получаю оттуда.
Заранее благодарен за любую помощь!
Версии: