(примечание: мне известно о JitPack , но, похоже, он поддерживает только файлы .jar
и .aar
, а не прямые двоичные файлы или исполняемые файлы)
Я создаюшаблон проекта, который зависит от ряда сторонних библиотек, большинство из которых доступны в Maven Central.Но есть также несколько двоичных файлов командной строки, которые существуют либо в общедоступном Git, но и в другом стабильном URL-адресе.
Поскольку эти двоичные файлы будут напрямую использоваться модулем Java, который я создаю, они являются зависимостью проекта, но я не уверен, как лучше всего включить их в мою сборку Gradle.
Я не планирую делать шаблон проекта доступным через Maven, и я не хочу загружать сторонние двоичные файлы вХранилище Maven.Вместо этого я хочу, чтобы потребители моего шаблона загружали двоичные файлы при сборке или запуске.
Я обнаружил плагин gradle-download-task и смог преобразовать его в зависимость с помощью следующего.
// build.gradle
plugins {...}
def downloadXXX() {
mkdir 'bin'
download {
src 'https://github.com/.../tagged_release/xxx.exe'
dest 'bin'
onlyIfModified true
}
return files("bin/xxx.exe")
}
...
dependencies {
testImplementation ...
implementation ...
implementation downloadXXX()
}
Кажется, это работает.Наличие двоичного файла проверяется на задачах компиляции / сборки и загружается, если оно отсутствует или устарело, но оно пахнет неправильно .Хотя я новичок в Gradle, мне кажется, что я должен создать загрузочную задачу , а не просто функцию, или делать что-то еще полностью.
Я знаю, что не используя Maven IЯ пожертвую большим количеством встроенной поддержки управления версиями, но меня больше интересует а) декларация / отображение зависимостей проекта в одном месте и б) предоставление пользователям моего шаблона возможности выполнять установку в один кликнасколько это возможно.
Есть ли лучший способ?