Maven 2 & 3

don't load extensions into the main container

Details

  • Type: Improvement Improvement
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: None
  • Fix Version/s: 2.0.5
  • Component/s: Plugins and Lifecycle
  • Labels:
    None
  • Complexity:
    Expert
  • Number of attachments :
    0

Description

this should be done on a project by project basis - currently, they are all loaded into the main container.

Activity

Hide
John Casey added a comment -

I'd like to make a full-fledged extension manager, and create a separate classloader/realm/container/whatever for extensions per-project inside that extension manager...this way, we can reuse the extensions approach to augmenting the build system for other things in the future...like maybe custom conflict resolution strategies, etc.

Show
John Casey added a comment - I'd like to make a full-fledged extension manager, and create a separate classloader/realm/container/whatever for extensions per-project inside that extension manager...this way, we can reuse the extensions approach to augmenting the build system for other things in the future...like maybe custom conflict resolution strategies, etc.
Hide
Brett Porter added a comment -

do you think that this should be held over for 2.1?

Show
Brett Porter added a comment - do you think that this should be held over for 2.1?
Hide
John Casey added a comment -

this needs to wait for 2.1, yes. it'll be hard to avoid problems with Class.forName() when we do this...it almost implies that we'll need a fresh plugin container for each plugin/project, so that the extensions container created for the project can be the parent of the plugin container. I know you can setParent(..), but that won't work if the plugin is holding references to components in a Map or something.

Show
John Casey added a comment - this needs to wait for 2.1, yes. it'll be hard to avoid problems with Class.forName() when we do this...it almost implies that we'll need a fresh plugin container for each plugin/project, so that the extensions container created for the project can be the parent of the plugin container. I know you can setParent(..), but that won't work if the plugin is holding references to components in a Map or something.
Hide
Jason van Zyl added a comment -

Not the case in either the branch or the trunk any longer.

Show
Jason van Zyl added a comment - Not the case in either the branch or the trunk any longer.

People

Vote (0)
Watch (1)

Dates

  • Created:
    Updated:
    Resolved:

Time Tracking

Estimated:
8h
Original Estimate - 8 hours
Remaining:
8h
Remaining Estimate - 8 hours
Logged:
Not Specified
Time Spent - Not Specified