GWBASIC производится...
OK
10 i=0
20 print i;
30 i=i+1
40 gosub 20
run
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
22 23 24 25 26 27 28 29 30 31 32 33
Out of memory in 30
Ok
Не много глубины стека там:-)
По моему опыту, было проще развернуть все и часто использовать один и тот же номер версии для всех компонентов. Например, если моя команда работает над версией 1.0.7, все подмодули имеют номер версии 1.0.7-SNAPSHOT до момента выпуска, даже если в некоторых модулях код не изменился. Затем, когда мы развернем, мы развернем все приложение. Я думаю, что у этого есть несколько преимуществ по сравнению с частичным развертыванием. Во-первых, если вам каждый раз нужно откатиться до последней стабильной версии, вам просто нужно откатиться до 1.0.6 для всех модулей - вам не нужно помнить, что серверная часть была 1.0.3, а GUI - 1.0.6. Во-вторых, это гарантирует, что все компоненты правильно скомпилированы относительно друг друга и были протестированы как логическая группа.
Извините, я знаю, что это не конкретный ответ на ваш вопрос, но,