Size: a a a

Clojure — русскоговорящее сообщество

2020 February 17

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
каким образом это очевидно?
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
если мы говорим про депсы - все работает приблизительно одинаково по времени, а с последними изменениями - даже быстрее за счет параллельной загрузки зависимостей
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
Maxim Penzin
не понял в каком контексте тут централизованное хранилище? и чем гит лучше?
тем что гит может работать децентрализовано?
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
Kirill Chernyshov
каким образом это очевидно?
репу склонировать - это заметно больше работы, чем один зип сдёрнуть
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
далеко не всегда так
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
Kirill Chernyshov
тем что гит может работать децентрализовано?
ну и мавен может :)
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
тото у меня CI краснеет когда у clojars проблемы)
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
так сделай локальный прокси-репо
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
с тем же успехом можно посоветовать склонировать локально репу)
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
вроде нексус умеет такое сразу же, но я сам не включал.
источник

MP

Maxim Penzin in Clojure — русскоговорящее сообщество
Kirill Chernyshov
с тем же успехом можно посоветовать склонировать локально репу)
ну там вопрос больше, чтобы все прозрачно было, то есть как раз  в режиме прокси.
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
именно так депсовый гит модуль и работает - нет локального клона с определенным хэшом - пойдем вытягивать из ремоута, если есть - используем то что есть
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
предельно прозрачно
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Так собираем локально всегда?
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Или в гит кладём джарники?
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
в депсах нет понятия “собираем”
это либа для формирования classpaths исключитьельно
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
Вопрос в том, пересобираем ли мы все зависимости на каждом билде, или ставим какой-то плагин, который складывает билды локально в кэш
источник

MB

Mikhail Borisov in Clojure — русскоговорящее сообщество
В общем, выглядит как переизобретение велосипеда
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
Mikhail Borisov
В общем, выглядит как переизобретение велосипеда
хотябы https://clojure.org/reference/deps_and_cli#_rationale вот этот абзац стоит прочитать перед тем как делать выводы
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
депсы *НЕ* билдят зависимости,
депсы кэшируют :mvn-based зависимости так же как maven
гит зависимости кэшируются локально в отдельной директории, но принципиально не отличаются от кэша maven
единственный артефакт работы депсов - это длинная строка classpath в которой перечисленны пути до всех локальных ресурсов, включая ресурсы проекта, гит зависимостей, локальных проектов и пути до всех jar’ок который обычно лежат в $HOME/.m2
этот “артефакт” кэшируется локально для проекта на основе хэша все deps.edn файлов которые учавствовали в его формировании. если что-то измениться (например добавится новая зависимость) кэш инвалидируется и classpath формируется новый
источник