Size: a a a

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

2019 April 19

DF

Dima Fomin in Clojure — русскоговорящее сообщество
Ivan Grishaev
Нет, в проект попадает одна версия либы. Мавен складывает версии в ~/.m2
ну а как одна, если например мой проект на 1.9.0, а какая то подлиба требует [1.3.0], а у другой в депенденси [1.5.0] и т.д. :/ Они разве не подгрузятся все в проект?
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
Dima Fomin
пагади-ка!  как это эксклюдишь?
а я могу например, при dependency [midje "1.6.3"] в своем project.clj указать, что там в глубине, 3 уровнями депенденси ниже, вместо [net.cgrand/parsley "0.9.1"] нужно брать [net.cgrand/parsley "0.9.3"] ?

Here is the dependency chain:

[midje "1.6.3"]
[gui-diff "0.5.0"]
[org.clojars.trptcolin/sjacket "0.1.3" :exclusions [[org.clojure/clojure]]]
[net.cgrand/parsley "0.9.1"]
Эксклюд транзитится на все субдерево зависимостей.
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
Нет. Джава так не работает
источник

DF

Dima Fomin in Clojure — русскоговорящее сообщество
Kirill Chernyshov
Эксклюд транзитится на все субдерево зависимостей.
Класс! То что надо! спасибо
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
Разрешение будет в пользу старшей, насколько помню.
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
Зависимости резолвятся и выбираются мажорные
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
это не node.js где у каждой либы свой енвариенмент, у той -- тоже, и тд
источник

KC

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

DF

Dima Fomin in Clojure — русскоговорящее сообщество
Kirill Chernyshov
Зависимости резолвятся и выбираются мажорные
мажорные - в смысле старшие?
источник

KC

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

DF

Dima Fomin in Clojure — русскоговорящее сообщество
ясно. спасибо.
тогда правда не ясно, какой смысл в записи
[org.clojure/clojure "[1.3.0]"

если зависящая от нее либа будет юзать [1.9.0] и подтянет ее вместо [1.3.0]
источник

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
Посмотри speculative доклад от Ричи. Будет понятно как такого добиваться)
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
Библиотеки вообще не должны зависеть от org.clojure/clojure, разве что в dev-deps
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
А в dev-deps можно указать разные профили с разными кложами, чтобы проверить для старых версий
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
Например, прогнать тесты на кложе 1.7
источник

DF

Dima Fomin in Clojure — русскоговорящее сообщество
Ivan Grishaev
Библиотеки вообще не должны зависеть от org.clojure/clojure, разве что в dev-deps
всмысле, не зависеть концептуально?
ведь project.cls без :dependencies [[org.clojure/clojure "1.9.0"] невозможен :/
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
источник

IG

Ivan Grishaev in Clojure — русскоговорящее сообщество
org.clojure/clojure указана только в profiles/dev
источник

KC

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

DF

Dima Fomin in Clojure — русскоговорящее сообщество
Ivan Grishaev
org.clojure/clojure указана только в profiles/dev
о, клево! да, согласен. так прям супер
источник