фиксация исполняемого файла с отдельно зафиксированными пакетами Java - PullRequest
0 голосов
/ 28 октября 2018

Мое приложение имеет 4 пакета Java.

com.me.utilities 
com.me.widget 
com.me.analysis 
com.me.interface

Все пакеты зависят от утилит. Пакет виджета зависит от пакета интерфейса.

Утилиты могут быть полезны для других приложений, поэтому это должен быть отдельный пакет. Анализ не зависит от виджета и интерфейса, поэтому анализ должен быть отдельным пакетом. Интерфейс может измениться, потому что организация, с которой он взаимодействует, может обанкротиться, поэтому интерфейс должен быть отдельным пакетом.

Это всего лишь одно приложение, которое создает один исполняемый файл.

На основе этой организации я выполняю коммиты для каждого пакета, но не для исполняемого файла. Я хочу начать фиксировать исполняемый файл. Одним из способов было бы зафиксировать исполняемый файл в новом git-архиве без какой-либо связи с исходным кодом, но это звучит безрассудно, если иметь исполняемый файл и нет формального способа привязать его к исходному коду.

Другим способом, который звучит немного неэффективно, было бы просто запустить новый архив git, который «добавляет» исходный код всех 4 пакетов Java, каждый из которых имеет много файлов Java, а также «добавляет» исполняемый файл. Это кажется немного странным, потому что он не учитывает 4 существующих git-архива, которые уже знают о своих соответствующих коллекциях исходного кода.

Как правильно связать эти 4 пакета с их общим исполняемым файлом?

Я использую SmartGit для рутинных коммитов и командную строку git для возврата. Я готов прекратить использование SmartGit, если это необходимо для решения этого вопроса.

1 Ответ

0 голосов
/ 28 октября 2018

Похоже, что вы ищете хранилище артефактов, такое как Nexus, Artifactory, JCenter и т. Д.

Здесь вы обычно публикуете артефакты, создаваемые сборкой, каждый раз, когда вы делаете релиз.

Это также позволяет инструментам сборки и IDE получать артефакты для библиотек, которые использует проект.Таким образом, если вы в конечном итоге превратите свой пакет утилит в отдельную библиотеку, используемую несколькими различными проектами, вам нужно будет опубликовать его в таком хранилище артефактов.И Gradle, и Maven получают свои артефакты, но также позволяют публиковать артефакты в таких хранилищах артефактов.

...