Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigate possibility to speed-up GWT Super DevMode launching #7122

Closed
azatsarynnyy opened this issue Nov 1, 2017 · 4 comments
Closed
Assignees
Labels
kind/enhancement A feature request - must adhere to the feature request template. sprint/current

Comments

@azatsarynnyy
Copy link
Member

azatsarynnyy commented Nov 1, 2017

gwt:codeserver Mojo forks process-classes build phase for each project from the maven reactor in order to prepare/ensure all required projects are prepared for running GWT Super DevMode. E.g. all (re-)sources have been generated etc.

Since we never (AFAIK) launch GWT Super DevMode on freshly cloned Che sources but built it first, forking process-classes build phase looks redundant and it takes a lot of time.

So it makes sense to investigate the possibility to skip process-classes build phase execution on every project during launching GWT SDM.

@azatsarynnyy azatsarynnyy added kind/enhancement A feature request - must adhere to the feature request template. team/ide labels Nov 1, 2017
@azatsarynnyy azatsarynnyy added the status/in-progress This issue has been taken by an engineer and is under active development. label Nov 7, 2017
@azatsarynnyy
Copy link
Member Author

There are a couple of ways available to speed-up launching GWT Super DevMode.

  1. Skip process-classes phase when running gwt:codeserver.
  2. Skip all maven plugins' goals which are executed up until the process-classes phase and doing unnecessary work.

Solution №1 requires a contribution to the gwt-maven-plugin or extending it in our own maven plugin.
Solution №2 requires just passing the several additional properties to the command line for launching SDM. Most of the maven plugins' goals already have such parameter - skip. We just need to add the same one for the che-core-api-dto-maven-plugin.

Now SDM runs in >3min.
Solution №1 will allow launching SDM in ~11 sec.
Solution №2 will allow launching SDM in ~ 1m.

Thus, it will be more reasonable to apply solution №2.

@azatsarynnyy azatsarynnyy removed the status/in-progress This issue has been taken by an engineer and is under active development. label Nov 10, 2017
@slemeur
Copy link
Contributor

slemeur commented Nov 10, 2017

Solution 1 seems more interesting. Why not starting with n°2 but still trying to reach the best solution by contributing back to another project?

@azatsarynnyy
Copy link
Member Author

Hi Stévan!
@slemeur I agree with you. Solution 1 also is much more interesting for me as it's an opportunity to make a contribution back. But not in this case.
I had a short discussion with the plugin's owner (Thomas Broyer) and we came to the opinion that the solution I've proposed is actually a workaround from the plugin's architecture point of view.
And saving extra 40-50 sec. in SDM launch it is not a valid reason to add such workaround to the plugin. While we can save ~2 min. solving the problem in the "right way".
Anyway, I have several other small ideas for contributing to that project 😉

@slemeur
Copy link
Contributor

slemeur commented Nov 12, 2017

Excellent ! Thanks Artem !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement A feature request - must adhere to the feature request template. sprint/current
Projects
None yet
Development

No branches or pull requests

3 participants