Необходимо настроить следующий алгоритм поведения: чтобы сборка запускалась в режиме watch, и по остановке watch-а выполнялось определенное действие, в частности требуется чтобы проект деплоился на удаленный сервак, но после остановки watch-а, чтобы он оттуда удалился.
Единственное что удалось найти, это compiler.hooks.watchClose.tap, однако вызова данного хука не происходит при остановке watch-а, точнее вызова данного хука не происходит вообще.
Собственно вопрос: как можно решить подобную задачу? Т.е. может как-то заставить работать watchClose или же есть иные механизмы повесить обработчик на окончание работы watch-а?
Нет, проект это плагин для достаточно сложной системы, причем система крутится в единственном экземпляре в сети, разворачивать такую же для дева весьма проблематично. Поэтому сделано так, что пока ведется разработка, в системе присутсвует две версии плагина (прод и дев), но как только стопнули, то дев-версия должна удалиться. Вот дев-версия и деплоится с использованием watch-а, но чтобы не приходилось ручками удалять по окончанию, хотелось бы сей процесс автоматизировать.
Fallenyasha, вот Вы позвали меня сюда как эксперта, хотя я вод себя экспертом в данном вопросе что-то не очень ощущаю... Я вижу излишнюю сложность и большое количество точек отказа в подобном решении. Упал процесс сборки, отвалилась сеть - это пол беды, а как быть если 2 разработчика начнут процесс разработки в одно время?
Если вопрос стоит в наличии определенных файлов с одной машины в файловой системе другой машины, доступной с первой по сети, притом в наличии только при непосредственном подключении - то первое что приходит на ум, так это монтирование сетевых файловых систем (sshfs, samba, webdav, ...), проблему одновременного доступа к ресурсу это конечно не решит, но хотя бы гарантирует, что нет коннекта - нет удаленных файлов.
Суть вопроса сводится к тому, как назначить хендлер на выполнение после остановки вотча.
Про риски параллельной работы или нестабильной работы сети прекрасно понимаю.