С некоторыми сотоварищами развернулась интересная дискуссия. Как известно для того, чтобы собрать и задеплоить свой продукт на жабе требуется N-ное количество сторонних пакетиков в виде JAR-файлов.
Так вот, я доказываю, что для коммерческого продукта необходимо иметь полный и замкнутый цикл разработки, который включает в себя полное дерево исходников и пересборку 3rd-party jar-файлов, любое обращение к сети во время сборки должно быть запрещено.
Противоположная точка зрения -- все выкачивается из интернета в виде бинарных jar-файликов (в идеале при каждой сборке, как вариант -- кашируется 1 раз для локального использования).
Как по вашему -- кто прав и почему? ;-)
Так вот, я доказываю, что для коммерческого продукта необходимо иметь полный и замкнутый цикл разработки, который включает в себя полное дерево исходников и пересборку 3rd-party jar-файлов, любое обращение к сети во время сборки должно быть запрещено.
Противоположная точка зрения -- все выкачивается из интернета в виде бинарных jar-файликов (в идеале при каждой сборке, как вариант -- кашируется 1 раз для локального использования).
Как по вашему -- кто прав и почему? ;-)
no subject
Date: 2012-08-06 19:50 (UTC)Если сторонние библиотеки поставляются с исходниками, "иметь их". Каждый раз их собирать, если вы их уже собрали и оттестиировали, не обязательно. Можно включить бинарные. Главное, чтобы результат был проверенным и предсказуемым. Цель - минимизация рисков, но не работа ради работы и не исходники ради исходников.
Пример. У меня в билд включается pdf. Ее тестирует и собирает специальный человек. Нужно ли мне ее заново собирать (такая возможность есть) из исходников, если человек ее собрал, закомитил ее и исходники от нее? Считаю, что необязатально.