История изменений
Исправление kuzulis, (текущая версия) :
Как я понял:
-
Смаке всегда генерит это в виде JSON файлов, которые при каждом чихе пересоздаются. И нужно перечитывать их каждый раз (или не так?).
-
Эти JSON файлы какие-то громоздкие, такие себе черные ящики, и как-то не внушает кол-во экспортируемых свойств.
-
Смаке не отслеживает само изменения (нет некоего сервиса/службы для этого), т.е. ИДЕ должна смотреть что что-то поменялось, формировать запрос для СМаке в виде JSON query файлов, запускать сам Смаке чтобы он перегенерил результирующий ответ в виде JSON файла… буээ..
В Qbs там по другому:
-
Запускается сам Qbs в режиме сессии (как отдельный процесс с некими аргументами) и постоянно висит активным.
-
ИДЕ «коннектится» к этому процессу и запрашивает инфу по проекту (вплоть до каждого свойства проекта/продукта/артифакта, флаги сборки, дефайны и прочее, которые настроены в проекте).
-
Весь обмен осуществляется в JSON формате (запрос/ответ/уведомление).
-
При изменениях в проекте/файлах и прочее, Qbs сам уведомляет ИДЕ об этом. т.е. не надо «перечитывать все заново», достаточно только получить кусочек изменений.
-
Qbs сам уведомляет об ошибках, начале/конце сборке (вплоть до репорта оставшегося времени, прогресса).
и прочее.. все это через JSON API протокол через пайпы.
Я не знаю, могет ли Смаке так же здорово все это делать.
Исправление kuzulis, :
Как я понял:
-
Смаке всегда генерит это в виде JSON файлов, которые при каждом чихе пересоздаются. И нужно перечитывать их каждый раз (или не так?).
-
Эти JSON файлы какие-то громоздкие, такие себе черные ящики, и как-то не внушает кол-во экспортируемых свойств.
-
Смаке не отслеживает само изменения (нет некоего сервиса/службы для этого), т.е. ИДЕ должна смотреть что что-то поменялось, формировать запрос для СМаке в виде JSON query файлов, запускать сам Смаке чтобы он перегенерил результирующий ответ в виде JSON файла… буээ..
В Qbs там по другому:
-
Запускается сам Qbs в режиме сессии (как прочесс с некими аргументами) и постоянно восит.
-
ИДЕ «коннектится» к этому процессу и запрашивает инфу по проекту (вплоть до каждого свойства проекта/продукта/артифакта которые настроены в проекте).
-
Весь обмен осуществляется в JSON формате (запрос/ответ/уведомление).
-
При изменениях в проекте/файлах и прочее, Qbs сам уведомляет ИДЕ об этом. т.е. не надо «перечитывать все заново», достаточно только получить кусочек изменений.
-
Qbs сам уведомляет об ошибках, начале/конце сборке (вплоть до репорта оставшегося времени, прогресса).
и прочее.. все это через JSON API протокол через пайпы.
Я не знаю, могет ли Смаке так же здорово все это делать.
Исходная версия kuzulis, :
Как я понял:
-
Смаке всегда генерит это в виде JSON файлов, которые при каждом чихе пересоздаются. И нужно перечитывать их каждый раз (или не так?).
-
Эти JSON файлы какие-то громоздкие, такие себе черные ящики, и как-то не внушает кол-во экспортируемых свойств.
-
Смаке не отслеживает само изменения (нет некоего сервиса/службы для этого), т.е. ИДЕ должна смотреть что что-то поменялось, формировать запрос для СМаке в виде JSON query файлов, запускать сам Смаке чтобы он перегенерил результирующий ответ в виде JSON файла… буээ..
В Qbs там по другому:
-
Запускается сам Qbs в ежиме сессии (как прочесс с некими аргументами) и постоянно восит.
-
ИДЕ «коннектится» к этому процессу и запрашивает инфу по проекту (вплоть до каждого свойства проекта/продукта/артифакта которые настроены в проекте).
-
Весь обмен осуществляется в JSON формате (запрос/ответ/уведомление).
-
При изменениях в проекте/файлах и прочее, Qbs сам уведомляет ИДЕ об этом. т.е. не надо «перечитывать все заново», достаточно только получить кусочек изменений.
-
Qbs сам уведомляет об ошибках, начале/конце сборке (вплоть до репорта оставшегося времени, прогресса).
и прочее.. все это через JSON API протокол через пайпы.
Я не знаю, могет ли Смаке так же здорово все это делать.