Uploaded image for project: 'Maven'
  1. Maven
  2. MNG-655

don't load extensions into the main container

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.0.5
    • Component/s: Plugins and Lifecycle
    • Labels:
      None

      Description

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

        Activity

        Hide
        jdcasey 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
        jdcasey 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
        brettporter Brett Porter added a comment -

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

        Show
        brettporter Brett Porter added a comment - do you think that this should be held over for 2.1?
        Hide
        jdcasey 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
        jdcasey 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
        jvanzyl Jason van Zyl added a comment -

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

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

          People

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

            Dates

            • Created:
              Updated:
              Resolved:

              Time Tracking

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

                Development