You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The NextGen-Core brings many advantages over the old core as well as being way easier to use. The simple interface is designed to be operated by external python programs if more control of the code-environment and analysis is required.
coala-quickstart currently hacks around the old bear processing facilities which are not convenient to use what makes code using it highly likely to be buggy.
To get free of that and moving towards a more reliable and better API, the NextGen-Core API should be used. The NextGen-Core already exists, however it's not yet integrated in the coala core tool itself.
I especially recall that you wanted to stop running bears immediately once you get a result from them, as this means that the tried settings are not good enough for a generated config.
My idea to solve this is to maintain a single custom processing pool and maintain many core sessions at once. If one bear fails / emits a result in one specific session, other sessions that run bear tasks belonging together in this matter can be stopped reliably.
Another issue seems to be the speed of linter bears: The effort needed to start new processes all the time is very high, especially for linters running on Python or other runtimes that have a certain amount of startup time. There are possibilities (like for Python) to keep the runtime alive and inject commands into it repeatedly running our tasks.
The NextGen-Core brings many advantages over the old core as well as being way easier to use. The simple interface is designed to be operated by external python programs if more control of the code-environment and analysis is required.
coala-quickstart currently hacks around the old bear processing facilities which are not convenient to use what makes code using it highly likely to be buggy.
To get free of that and moving towards a more reliable and better API, the NextGen-Core API should be used. The NextGen-Core already exists, however it's not yet integrated in the coala core tool itself.
The new core's main entrypoint is
run
:Its signature is as follows:
However, current bears cannot be run with that function as new v2 bears from
coalib.Core.Bear
exist to better interface with the new core.This issue is about discussing possible solutions to use the new core here in coala-quickstart.
@ishanSrt mentioned additional requirements, like:
My idea to solve this is to maintain a single custom processing pool and maintain many core sessions at once. If one bear fails / emits a result in one specific session, other sessions that run bear tasks belonging together in this matter can be stopped reliably.
Another issue seems to be the speed of linter bears: The effort needed to start new processes all the time is very high, especially for linters running on Python or other runtimes that have a certain amount of startup time. There are possibilities (like for Python) to keep the runtime alive and inject commands into it repeatedly running our tasks.
CC @ishanSrt :)
The text was updated successfully, but these errors were encountered: