LINUX.ORG.RU

История изменений

Исправление kuzulis, (текущая версия) :

Как я понял:

  • Смаке всегда генерит это в виде JSON файлов, которые при каждом чихе пересоздаются. И нужно перечитывать их каждый раз (или не так?).

  • Эти JSON файлы какие-то громоздкие, такие себе черные ящики, и как-то не внушает кол-во экспортируемых свойств.

  • Смаке не отслеживает само изменения (нет некоего сервиса/службы для этого), т.е. ИДЕ должна смотреть что что-то поменялось, формировать запрос для СМаке в виде JSON query файлов, запускать сам Смаке чтобы он перегенерил результирующий ответ в виде JSON файла… буээ..

В Qbs там по другому:

  1. Запускается сам Qbs в режиме сессии (как отдельный процесс с некими аргументами) и постоянно висит активным.

  2. ИДЕ «коннектится» к этому процессу и запрашивает инфу по проекту (вплоть до каждого свойства проекта/продукта/артифакта, флаги сборки, дефайны и прочее, которые настроены в проекте).

  3. Весь обмен осуществляется в JSON формате (запрос/ответ/уведомление).

  4. При изменениях в проекте/файлах и прочее, Qbs сам уведомляет ИДЕ об этом. т.е. не надо «перечитывать все заново», достаточно только получить кусочек изменений.

  5. Qbs сам уведомляет об ошибках, начале/конце сборке (вплоть до репорта оставшегося времени, прогресса).

и прочее.. все это через JSON API протокол через пайпы.

Я не знаю, могет ли Смаке так же здорово все это делать.

Исправление kuzulis, :

Как я понял:

  • Смаке всегда генерит это в виде JSON файлов, которые при каждом чихе пересоздаются. И нужно перечитывать их каждый раз (или не так?).

  • Эти JSON файлы какие-то громоздкие, такие себе черные ящики, и как-то не внушает кол-во экспортируемых свойств.

  • Смаке не отслеживает само изменения (нет некоего сервиса/службы для этого), т.е. ИДЕ должна смотреть что что-то поменялось, формировать запрос для СМаке в виде JSON query файлов, запускать сам Смаке чтобы он перегенерил результирующий ответ в виде JSON файла… буээ..

В Qbs там по другому:

  1. Запускается сам Qbs в режиме сессии (как прочесс с некими аргументами) и постоянно восит.

  2. ИДЕ «коннектится» к этому процессу и запрашивает инфу по проекту (вплоть до каждого свойства проекта/продукта/артифакта которые настроены в проекте).

  3. Весь обмен осуществляется в JSON формате (запрос/ответ/уведомление).

  4. При изменениях в проекте/файлах и прочее, Qbs сам уведомляет ИДЕ об этом. т.е. не надо «перечитывать все заново», достаточно только получить кусочек изменений.

  5. Qbs сам уведомляет об ошибках, начале/конце сборке (вплоть до репорта оставшегося времени, прогресса).

и прочее.. все это через JSON API протокол через пайпы.

Я не знаю, могет ли Смаке так же здорово все это делать.

Исходная версия kuzulis, :

Как я понял:

  • Смаке всегда генерит это в виде JSON файлов, которые при каждом чихе пересоздаются. И нужно перечитывать их каждый раз (или не так?).

  • Эти JSON файлы какие-то громоздкие, такие себе черные ящики, и как-то не внушает кол-во экспортируемых свойств.

  • Смаке не отслеживает само изменения (нет некоего сервиса/службы для этого), т.е. ИДЕ должна смотреть что что-то поменялось, формировать запрос для СМаке в виде JSON query файлов, запускать сам Смаке чтобы он перегенерил результирующий ответ в виде JSON файла… буээ..

В Qbs там по другому:

  1. Запускается сам Qbs в ежиме сессии (как прочесс с некими аргументами) и постоянно восит.

  2. ИДЕ «коннектится» к этому процессу и запрашивает инфу по проекту (вплоть до каждого свойства проекта/продукта/артифакта которые настроены в проекте).

  3. Весь обмен осуществляется в JSON формате (запрос/ответ/уведомление).

  4. При изменениях в проекте/файлах и прочее, Qbs сам уведомляет ИДЕ об этом. т.е. не надо «перечитывать все заново», достаточно только получить кусочек изменений.

  5. Qbs сам уведомляет об ошибках, начале/конце сборке (вплоть до репорта оставшегося времени, прогресса).

и прочее.. все это через JSON API протокол через пайпы.

Я не знаю, могет ли Смаке так же здорово все это делать.