Как перекомпилировать gradle-зависимость из источников? - PullRequest
0 голосов
/ 30 августа 2018

У нас есть зависимость dep , которая была изначально скомпилирована в Java 8. Проект, требующий этой зависимости, скомпилирован и запущен с Java 6. Это приводит к ошибке "bad major version".

У нас есть источники, доступные в нашем центральном репозитории для dep, и мы ищем способ загрузки источников в build.gradle:

compile('dep_group:dep_artifact:version:sources')

и затем перекомпилируйте в JDK 6, чтобы получить требуемый файл JAR.

Возможно ли это? Или есть предложения?

В качестве альтернативы, мы должны загрузить код dep offline, перекомпилировать с JDK 6, опубликовать файл jar и, наконец, добавить его в качестве зависимости. Но мы стремимся избежать этого длинного маршрута. Это только для целей тестирования, и мы не хотим публиковать новую версию, скомпилированную с более старой версией Java.

1 Ответ

0 голосов
/ 30 августа 2018

Без оригинального файла сборки (POM / build.gradle / ant.xml) вы не сможете перекомпилировать библиотеку. Если это довольно простая библиотека - возможный вариант - включить ее источники в качестве дополнительного модуля в многомодульный проект Gradle:

  1. Источники загрузки
  2. Создать папку для них в вашем проекте
  3. Создайте дополнительный модуль, как описано в Документах Gradle: https://docs.gradle.org/current/userguide/multi_project_builds.html
  4. Применить Java-плагин для модуля
  5. Установить зависимость от этого проекта в формате: compile (project (': dep'))

Наконец, когда вы создаете свой проект, Gradle скомпилирует этот модуль и будет использовать его в качестве зависимости для вашего основного модуля.

Не забудьте проверить лицензию библиотеки, например, Лицензия Apache 2 разрешает такое простое использование источников.

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