Maven
  1. Maven
  2. MNG-655

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

          • Assignee:
            Unassigned
            Reporter:
            Brett Porter
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Time Tracking

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