Плагин IntelliJ / IDEA Gradle не находит исходные JAR-файлы - PullRequest
1 голос
/ 14 апреля 2020

Я строю свои 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, чтобы убедиться, что я ничего не получаю оттуда.

Заранее благодарен за любую помощь!

Версии:

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