Здравствуйте, karbofos42, Вы писали:
K>·>Конечно, настроить нужно — указать адреса, пароли, явки. А дальше у тебя хоть каждые пол часа будут проверяться версии, зависимости, лицензии и т.п.
K>·>Ты же предлагаешь делать всё вручную, описывая в доках со скриншотами как это делать. Нет, спасибо, я слишком ленивый чтобы этим заниматься.
K>Я вообще не понимаю зачем это автоматизировать. Мне не нужны последние версии библиотек только потому, что они вышли.
Ты тут выше требовал, что тебе непременно нужно 42.7.0, а текущее 42.6.0 тебя не устраивает, т.к. на mvnrepository ты увидел, что вышла новая версия 6 дней назад.

Я тоже тебя не понял — зачем, но пытался предложить тебе решение.
K>От того, что у меня в проекте появится PR, который в файле проекта версии библиотек перепишет, я его не одобрю.
K>Если с текущей версией библиотеки есть проблема, то я почитаю чего там менялось, попробую обновиться и перепроверю, что проблема ушла.
K>Если всё работает нормально, то зачем мне обновляться?
Уменьшать технический долг. Иначе когда тебе понадобится обновиться, выяснится, что при переходе с очень старой версии на нужную всё сломалось и вообще неясно как чинить.
Плюс часто это обязуют делать при обнаружении дыр. Тот же mvnrepository ведёт список Vulnerabilities для библиотек.
K>·>Так он это делает сам, автоматически.
K>Сначала нужно вручную его настроить, а потом не забыть, что обновляется он с какой-то периодичностью.
Как и любой автоматический билд...

Или собираешь ты тоже вручную?
K>Выложишь свою библиотеку в свой закрытый репозиторий и жди, когда индекс обновится? Или скорее всего плюнешь и просто пропишешь нужную версию вручную?
Индекс для автокомплита, чтобы в процессе набора кода тебе что-то показалось сразу. Апдейт явно провеяет новые версии напрямую.
K>·>Ты видимо не понял. pom.xml это и есть документация по сборке, которую читает и выполняет машина. Если там что-то не указано, оно просто не собирается.
K>Это ты видимо не понял. Как заказчику проверить, что исполнитель ему предоставил собирающиеся исходники и вообще их собирает?
Эээ.. что за хрень? А какой-нибудь Newtonsoft.Json у себя на серверах собираешь? И Студию?
K>Завтра он захочет отдать проект на доработку другому разработчику и окажется, что на руках у него не всё, что нужно для сборки?
Т.е. исходников с msbuild-файлом не хватает? Ну это проблема msbuild.
K>По-моему логично заказчику на своей стороне настроить сборку, тестировать и использовать то, что у него собралось, а не что подрядчик прислал или на своей стороне настроил.
Нет, не логично. Или ты gentoo-шник?
K>·>У меня будет ошибка "не могу скачать артефакт XXX с сервера YYY — доступ запрещён". И там уже обычно ясно куда и к кому идти и какие пароли для чего искать.
K>·>У тебя будет ошибка "Нет такого XXX". Дальше что? Куда идти?
K>Я новому сотруднику предоставлю настроенное рабочее место и документацию о том где что брать.
K>Ну, вот пришёл новый человек и получил ошибку доступа к репозиторию и что? Пойдёт к своему руководителю и спросит доступ.
Именно. Он спросит про конкретный сервер, конкретный credentials. Так или иначе придётся как-то оформлять информацию о том какие источники артефактов требуются для каждого конкретного проекта. Лучше это оформлять как часть исходников проекта, а не некая абстрактная документация хз где и хз насколько устаревшая.
Есть такие системы, что при заходе на запрещённый сервер появляется "access denied" и ссылочка "создать тикет". Т.е. к тебе не человек придёт, к тебе придёт запрос заапрувить доступ к ресурсу такому-то человеку.
K>Будет ошибка, что нет такого-то пакета — точно так же пойдёт и спросит чего не собирается проект.
K>Не вижу никакой разницы.
Разница в том, что будет инфа о том _где_ этот пакет лежит.
K>·>Более того, в больших организациях будет какой-нибудь AD, где работнику дают права на сервера и это сразу доступно с его компа, settings.xml поддерживается инфраструктурой. Да и вообще обычно RO-доступ есть по умолчанию.
K>И конфиг Nuget внезапно прекрасно через AD прокидывается.
А в чём тогда проблема-то тогда? Если тебе очень хочется спрятать информацию о репозиториях, чтоб враг не догадался, ты её можешь разместить в settings.xml на каждом конкретном компе, а не в pom.xml самих проектов. Или вообще через командную строку передавать, пока никто не смотрит.