annulen / premake-annulen

My development branches of premake
BSD 3-Clause "New" or "Revised" License
3 stars 0 forks source link

Обновление PremakeProjectManager #1

Open q4a opened 4 years ago

q4a commented 4 years ago

Привет. Немного лень писать на английском, поэтому пишу на русском.

Я бы хотел сделать Qt Creator плагин для работы с Premake 5. Естественно сначала проверил существующие аналоги, нашел твои исходники вот тут: https://wiki.qt.io/Premake_Project_Manager Сделал копию на github-е, но там довольно старая версия, которая работает только с Qt Creator 2.5.1 и Premake 4.

Есть несколько вопросов:

  1. Хочу посоветоваться, насколько сложно будет перевести PremakeProjectManager на новые версии Qt Creator и Premake ?
  2. Может быть есть более новые исходники, чем я нашел? https://github.com/q4a/qtcreator-premake-plugin
  3. Как думаешь, будет проще вести разработку путем посткпенной эфолюции PremakeProjectManager или будет проще взять существующий плагин для последних версий Qt Creator вроде cmakeprojectmanager/cmakeprojectmanager2 и заменить в нем часть исходников для перехода c CMake на Premake 5? https://github.com/h4tr3d/cmakeprojectmanager2
annulen commented 4 years ago

Хочу посоветоваться, насколько сложно будет перевести PremakeProjectManager на новые версии Qt Creator и Premake ?

Хрен знает, смотря насколько там поменялись API. Причем Premake'а это касется в не меньшей, а то мб даже и большей степени, чем внутренних API криейтора, так как я использовал там прямые вызовы внутренних функций и мб даже monkey patching (уже не поняю всех деталей). Помню что пытался причесать это дело путем продвижения патчей в апстрим, но в те времена было сложно и долго что-то протолкнуть через starkos'а

Кроме того, в нынешних реалия возможно некоторые вещи стоило бы сделать по-другому - LuaEditor перевсти на LanguageClient (насколько я знаю, существуют полноценные готовые сервера, но может потребовать допилка криейтора для полноценной интеграции), да и взаимодействие с premake наверное лучше было бы сделать через какой-то протокол как у cmake, а не затаскивать Lua в основной рабочий процесс

Может быть есть более новые исходники, чем я нашел?

Неа, я на гиториусе разработку вел. Я не думал, что будет столько проблем при переходе на каждую новую версию, и как-то подзабил, а допилилить до состояния, пригодного для того, чтобы хотя бы что-нибудь заапстримить, у меня не получилось (ну или я тогда так считал)

Как думаешь, будет проще вести разработку путем посткпенной эфолюции PremakeProjectManager или будет проще взять существующий плагин для последних версий Qt Creator вроде cmakeprojectmanager/cmakeprojectmanager2 и заменить в нем часть исходников для перехода c CMake на Premake 5?

Это лучше с разработчиками поговорить, с hunger'ом например. Использовать cmakeprojectmanager в качестве бойлерплейта может быть не лучшей идеей, так как там очень много всего понаверчено, может быть сложно разобраться и не все из этого применимо или может хоть как-то быть переиспользовано. Я уже не помню, что лично я использовал, возможно это был GenericProjectManager - помню что многих вещей не хватало и приходилось отдельно докручивать, смотря как они сделаны для qmake и cmake

annulen commented 4 years ago

а не затаскивать Lua в основной рабочий процесс

причем в моем коде, емнип, все еще хуже - Lua в основной гуишной нитке выполняется, что уж совсем не комильфо, так как багнутый premake-проект повесит всю идешку.

q4a commented 4 years ago

Спасибо, Я тоже думаю, что в cmakeprojectmanager может быть много наворочено, поэтому совсем в нем не уверен. Не знал про genericprojectmanager. Посмотрю сначала его.