Details
-
Type:
Improvement
-
Status:
Closed
-
Priority:
Blocker
-
Resolution: Fixed
-
Affects Version/s: 2.0.10
-
Fix Version/s: 2.1.0-M1
-
Component/s: Plugins and Lifecycle
-
Labels:None
-
Complexity:Intermediate
-
Number of attachments :
Description
This is increasing time to build by anywhere from 20% up to a reported 300%, depending on whether reports and aggregator mojos are bound into the lifecycle phases that are executed. Best candidate for fixing this issue is currently to move this transition into the LIfecycleExecutor (out of the PluginManager and PluginParameterExpressionEvaluator) to make the transition less sensitive to report instantiation and forked lifecycles.
There are a couple of other potential performance improvements in the interpolator itself, such as giving a plausible buffer size to the StringWriter embedded for model interpolation, and hanging onto the plexus-interpolator RegexBasedInterpolator instance to prevent continual re-instantiation of the underlying regex Pattern object.
Moved transition code to DefautlLifecycleExecutor, away from DefaultPluginManager and PluginParameterExpressionEvaluator, to reduce number of transitions. Also, improved the efficiency of this transition to make it a little smoother, and fixed a small logical error in the transition itself.