Каков наилучший способ развернуть файл Jar? - PullRequest
0 голосов
/ 02 мая 2018

Фон

Я работаю над проектом, в котором мы размещаем программное обеспечение Java и сопутствующий пакет R на Github . Пакет R можно легко установить непосредственно из исходного кода, используя devtools::install_github(), но сначала необходимо создать файл Jar.

Поскольку пакет R зависит от функций в файле Jar, это создает проблему, поскольку пакеты Jar и R часто не синхронизированы, и пользователи не могут использовать более новые функции, пока мы не выпустим новую версию. Поскольку изменения в Jar часто крошечные, не всегда имеет смысл создавать новый релиз.

Идеальное решение (?)

Есть два подхода, о которых я мог бы подумать, но я не совсем уверен, какой из них имеет больше смысла, и мне придется потратить больше времени на выяснение каждого из них:

  1. Напишите функцию на R, которая загружает исходный код из GitHub и собирает Jar с помощью чего-то вроде system("jar cfe myJar.jar myClass myClass.class". В идеале для этого есть пакет, но я не смог его найти. Я также сначала должен выяснить, как загрузить исходные файлы.

  2. Реализовать автоматическое развертывание, которое загружает Jar в один и тот же выпуск после каждой фиксации. Я видел, что Travis CI может создавать файл Jar, но он создает новую версию для каждого коммита или только из коммитированных коммитов, что не идеально. Было бы лучше, если бы у нас был один выпуск, который перезаписывался самым последним файлом Jar при каждом коммите.

Кто-нибудь имеет опыт работы с этим / может указать мне хранилище, где реализовано нечто подобное / может показать мне лучшее решение?

...