@scala_ru

Страница 918 из 1499
Nick
03.09.2017
14:46:30
что, эт показатель?

Oleksandr
03.09.2017
14:46:32
ну вот какие?
поиск по всем проектам есть нет проблем с разными версия зависимостей на интернал тулы

KrivdaTheTriewe
03.09.2017
14:46:46
ядра линукс и на гитхабе нету
есть зеркало, а если бы были сабмодули и его бы не было

сабмодули не работают

Google
Nick
03.09.2017
14:46:58
folex
03.09.2017
14:47:07
есть зеркало, а если бы были сабмодули и его бы не было
чот как-то не в ту сторону ушла аргументация

сабмодули не используются в ядре линукса
@krivdaallstarts я и не говорил ничего про линукс о_О

Oleksandr
03.09.2017
14:47:23
можешь также решить добавлением всех модуле в идею
говорят, что на особо крупных проектах это не работает, идея ломается

сам я такое не видел, и тоже все добавляю и идею)

Nick
03.09.2017
14:47:34
в них проблемы переноса репозиториев с одного хоста на другой
wat? эт просто ссылка внутри одного репы на другой

какие там проблемы

KrivdaTheTriewe
03.09.2017
14:47:45
@krivdaallstarts я и не говорил ничего про линукс о_О
гит создан для управления кода линукса, то есть они внедрили фичу, но ей не пользуются

KrivdaTheTriewe
03.09.2017
14:47:59
wat? эт просто ссылка внутри одного репы на другой
хостинг поменяй для репозитория

Nick
03.09.2017
14:48:07
и что?

KrivdaTheTriewe
03.09.2017
14:48:08
скажем с гитхаба на гитлаб переедь

сломаются у тебя сабмодули

Google
Nick
03.09.2017
14:48:23
че им ломаться то?

folex
03.09.2017
14:48:39
эх! :(

Nick
03.09.2017
14:49:13
@krivdaallstarts более того, я даже переезжал и у меня есть репа связанная и с гитлабом и с гитхабом

говорю же, технически эт просто ссылка на репозитории

в файле .gitmodules)

KrivdaTheTriewe
03.09.2017
14:49:40
гит давно уже перерос эти цели, очевидно о_О
сабмодули порочный путь, который был придуман для компилируемых языков энвайромент которых не предусматривает никакого управления зависимостиями, и люди вынуждены иметь все исходники в одном месте

но решили это проблему большим костылем который не работает.

folex
03.09.2017
14:50:47
Да я и не ратую за сабмодули, но аргументация с линуксом максимально странная

Nick
03.09.2017
14:50:51
не знаю, у нас в проектах работает

folex
03.09.2017
14:50:54
прям "о_О"

KrivdaTheTriewe
03.09.2017
14:51:36
Да я и не ратую за сабмодули, но аргументация с линуксом максимально странная
ни один крупный опенсорс проект не использует сабмодули

*типичный интернет* - говорить в абсолюте , но вот рил, хоть один крупный опенсорс проект приведите в качестве примера

осбенно основной язык которого поразмевает наличие тулзы по управлению зависимостями

folex
03.09.2017
14:53:27
потому и спросил, не сишник ли он %)

Жалко так и не ответил. Не узнаю, насколько ванга хорошо работает

Oleksandr
03.09.2017
14:54:16
с интернал зависимостями ещё фокус, что, при изменении каких-то утилит, надо _весь_ проект компилить заново для скалы это прямо критично

KrivdaTheTriewe
03.09.2017
14:55:00
folex
03.09.2017
14:55:19
а я не у тебя спросил %)

KrivdaTheTriewe
03.09.2017
14:57:41
а я не у тебя спросил %)
*русский интернет*

Google
Grigory
03.09.2017
15:19:03
@krivdaallstarts сишник

Alexsey
03.09.2017
16:09:40
После хайлоад капа разочаровался в акторах и стал сишником, чтобы драть всех еполлом в сракотан?

Ладно-ладно, я знаю что ты и до этого им был

Alexander
03.09.2017
16:21:03
останется только последняя часть
прочитал, отличная статья, жду следующую часть

Nick
03.09.2017
16:25:12
@folexeyy я сисишник скорее)

Viktor
03.09.2017
16:28:18
чет я не понял, почему мульти репо это плохо?
если мульте репо на доставляет неудобств, описанных в первой статье, то тогда я всеми руками за мультирепы

Nick
03.09.2017
16:28:38
@krivdaallstarts https://github.com/openssl/openssl

вот тебе один из проектов кто их юзает)

Viktor
03.09.2017
16:31:12
мне даже для мелкого бизнеса это странным кажется, зачем билдить каждый раз все?
дело в том что билдить все каждый раз не надо. У нас на проекте из 50к строк, минимальное время билда меньше минуты. Полный билд без кэша, со всеми тестами и сборкой всех артифактов - 25-35 минут

Nick
03.09.2017
16:32:16
но вот в ci делать пул на все и отслеживать все изменения станет больно

а что будет, если изменить 1 файл утилит, который везде импортится?
у меня кстати с модулями настроен каскадный билд, и если чтот поменялось и в следствии упало, то видно это будет почти сразу)

Viktor
03.09.2017
16:33:32
а что будет, если изменить 1 файл утилит, который везде импортится?
тогда конечно билдиться почти все, как и тогда когда вы меняете версии библиотек. Но как часто есть в этом необходимость по сравнеению с развитием какого-то отдельного сервиса?

Alexander
03.09.2017
16:33:42
насколько pants плугин для Intellij юзабелен?

Viktor
03.09.2017
16:34:25
насколько pants плугин для Intellij юзабелен?
Очень юзабелен! по мне, так более юзабелен чем IDEA плагин. ОЧень советую прочитать их туториал

Oleksandr
03.09.2017
16:35:47
ну и такого рода "снежный ком" изменений возникает достаточно часто

Nick
03.09.2017
16:35:52
@dveim полный рекомпаил никак не отсрочить

Google
Viktor
03.09.2017
16:35:55
а что будет, если изменить 1 файл утилит, который везде импортится?
А как быть если эта утилита в отдельном репозитории? как гарантировать что новые изменние в ней будут совместимы со всеми проектами которые ее используют?

Oleksandr
03.09.2017
16:37:23
А как быть если эта утилита в отдельном репозитории? как гарантировать что новые изменние в ней будут совместимы со всеми проектами которые ее используют?
никак, кроме полной проверки (что и происходит в случае монорепы) но, снова, в сервисе А можно не апать версию либы ради хотфикса, необходимого сервису Б

Viktor
03.09.2017
16:37:33
но вот в ci делать пул на все и отслеживать все изменения станет больно
не больно, это как раз опишу в следующей статье. Как тизер ./pants changed --include-dependees=transitive --changes-since=aa4426e51492ad29b6a3f7dbc06785e564358369

Nick
03.09.2017
16:38:24
и это называется не больно?)

Viktor
03.09.2017
16:39:48
никак, кроме полной проверки (что и происходит в случае монорепы) но, снова, в сервисе А можно не апать версию либы ради хотфикса, необходимого сервису Б
ну тогда мне видится что это долтавляет больше проблем, когда в рамках меленькой команды у тебя все зависит от разных версий библиотек. Но тут у каждого свой вкус, конечно

Alexander
03.09.2017
16:40:16
я думаю, что основной бенефит - это полная свобода модуляризации, хоть прям пакетами

Viktor
03.09.2017
16:41:17
и это называется не больно?)
А в чем тут собственно проблемы? Вы передаете предыдущий коммит и получаете список зависимостей которые зааффектил новый changeset. Дальше прогоняете только необходимые тесты и строите только необходимые артифакты.

Nick
03.09.2017
16:41:42
необходимость то кто будет определять?

Viktor
03.09.2017
16:43:26
❯ ./pants changed --include-dependees=transitive --changes- src/scala/whisk/console/main:main src/scala/whisk/console/main:main-bin src/scala/whisk/console/main:main-lib src/scala/whisk/console/recipeingredients/controller:controller tests/scala/whisk/console/ontology/controller:controller

вот результат команды

из него я знаю что мне нужно собрать и что протестировать

Nick
03.09.2017
16:44:17
где гарантии что эт не аффектит другие классы? или он и это сканирует?

Viktor
03.09.2017
16:44:52
если читали статью, то там указано что зависомоти четко определены

Nick
03.09.2017
16:45:20
ну по сути тоже, что и у нас

только у нас мулитимодульность)

Viktor
03.09.2017
16:45:28
scala_library( dependencies=[ 'src/scala/whisk/analysis/model', 'src/scala/whisk/console/recipeingredients/api', 'src/scala/whisk/console/recipeingredients/core', '3rdparty:reactivemongo-bson', '3rdparty:finatra-http', '3rdparty:finatra-swagger' ] )

определены они в рамках pants, то есть для компиляции модуля будет использовать classpath из перечисленных модулей и билиотек и ничнго другого

соотвественно отсюда консистентный граф зависимостей который используеттся и для компиляции и для тестов и для сборки

я думаю, что основной бенефит - это полная свобода модуляризации, хоть прям пакетами
делать на уровне пакетов - это как раз то, что рекомендуется

folex
03.09.2017
19:24:31
А кто-нибудь знает как на курсере купить подписку на все курсы сразу? У них в хелпе написано чо можно купить на специализацию, на курс, и на всё сразу

Google
folex
03.09.2017
19:24:41


Nikita
03.09.2017
19:26:30
А кто-нибудь знает как на курсере купить подписку на все курсы сразу? У них в хелпе написано чо можно купить на специализацию, на курс, и на всё сразу
Там сказано, что части пользователей это предлагают. Видимо, тестят. Нужно писать в саппорт, чтобы выдали

folex
03.09.2017
19:26:40
понятно, спасибо!

А то у меня странное: купили с другом подписки, у него full, а у меня ток на 1 специализацию :(

Viacheslav
03.09.2017
20:41:38
Виктор а в чем проблема с мультимодульным проектом в монорепе если это дело собирается гредлом? Мультимодульность в сбт это адское днище а вот в гредле это прекрасное счастье

В статье написано что в гредле это такое же дно как и в сбт, #янисагласен

Viacheslav
03.09.2017
20:43:10
И да у нас был проект на 120 модулей собирался антом 30 минут, перевели на гредл - 45 секунд

А чем оно днище в сбт?
Я пытался и ниасилил и такого насмотрелся пока пытался) Вобщем это моё скромное имхо

Nick
03.09.2017
20:44:22
Там же вроде надо просто указать на директорию)

https://github.com/scala-native/scala-native/blob/master/build.sbt

вполне себе даже красиво выглядит

Bulat
03.09.2017
20:46:12
плюсую про мультимодульность, на удивление гладко завелось

в сбт

правда, общий сбт-код пришлось ко всем модулям подложить через мета-проект. Там надо немного разобраться, но тоже несложно

Страница 918 из 1499