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
When opening a large Java project in VSCode, this plugin takes an excessively long time to initialise. This appears to be because for each Maven module all dependent modules are compiled with all tests run and even Javadoc generated.
In the VSCode UI this is shown as "Priming X: Y maven-goal" in the status bar. For large projects running all tests could take hours for a single module. The plugin is almost entirely unusable during this time (e.g. basic linting functionality does not work) and because it would take such a long time to initialise, the plugin cannot be used with these projects at all.
The same Maven module looks to be processed multiple times over if it is a dependency of another module. If this is happening, then it would significantly worsen this problem. For example, with the following Maven architecture, module A is compiled 3 separate times (once for itself and then unnecessarily again for modules B & C):
Module A (no internal dependencies)
Module B (depends on A)
Module C (depends on A)
Steps to Reproduce
Open a large Java project in VSCode. E.g. gchq/Gaffer with 170k LOC and many internal dependencies.
Observe the project initialization process and the "priming" notification. For each module it will show "Priming current-module: dependent-module maven-goal" for all applicable maven goals (which seem to be those triggered by maven install).
Note that linting does not work until the above step is complete.
Expected Behaviour
The plugin should be able to initialise without compiling modules multiple times and without running maven goals which are not required (e.g. tests, javadoc, packaging).
Proposed Solution
Fix the "priming" process to not repeat itself for module dependencies and to only perform compilation - not run all Maven goals. Note that the other Java plugin for VSCode initialises vastly quicker on the same large project.
The text was updated successfully, but these errors were encountered:
When opening a large Java project in VSCode, this plugin takes an excessively long time to initialise. This appears to be because for each Maven module all dependent modules are compiled with all tests run and even Javadoc generated.
In the VSCode UI this is shown as "Priming X: Y maven-goal" in the status bar. For large projects running all tests could take hours for a single module. The plugin is almost entirely unusable during this time (e.g. basic linting functionality does not work) and because it would take such a long time to initialise, the plugin cannot be used with these projects at all.
The same Maven module looks to be processed multiple times over if it is a dependency of another module. If this is happening, then it would significantly worsen this problem. For example, with the following Maven architecture, module A is compiled 3 separate times (once for itself and then unnecessarily again for modules B & C):
Steps to Reproduce
maven install
).Expected Behaviour
The plugin should be able to initialise without compiling modules multiple times and without running maven goals which are not required (e.g. tests, javadoc, packaging).
Proposed Solution
Fix the "priming" process to not repeat itself for module dependencies and to only perform compilation - not run all Maven goals. Note that the other Java plugin for VSCode initialises vastly quicker on the same large project.
The text was updated successfully, but these errors were encountered: