jira.codehaus.org

  • Log In Access more options
    • Online Help
    • Keyboard Shortcuts
    • About JIRA
    • JIRA Credits
    • What?s New
  • Dashboards Access more options (Alt+d)
  • Projects Access more options (Alt+p)
  • Issues Access more options (Alt+i)
  • Maven 2 & 3
  • MNG-831

[toolchain] Improve plugin API to ease configuration sharing between plugins

  • Log In
  • Views
    • XML
    • Word
    • Printable

Details

  • Type: Improvement Improvement
  • Status: Reopened Reopened
  • Priority: Major Major
  • Resolution: Unresolved
  • Affects Version/s: 2.0-beta-1
  • Fix Version/s: Issues to be reviewed for 3.x
  • Component/s: Plugin API
  • Labels:
    None
  • Complexity:
    Intermediate

Description

Plugins that need to introspect other plugin's configuration have to go via the Xpp3Dom configuration object. It'd be nice if this was easier for plugin authors. Some current use-cases are:

  • Eclipse plugin requires compiler plugin's configuration to write .settings file
  • Tomcat plugin requires war plugin's configuration to locate final war file and exploded state

Issue Links

is related to

Bug - A problem which impairs or prevents the functions of the product. MNG-823 Ability to allow mojos to communicate with each others - other than project's source root and project's attachment

  • Major - Major loss of function.
  • Closed - The issue is considered finished, the resolution is correct. Issues which are not closed can be reopened.

Improvement - An improvement or enhancement to an existing feature or task. MNG-2021 Allow properties to be dom objects

  • Minor - Minor loss of function, or other problem where easy workaround is present.
  • Open - The issue is open and ready for the assignee to start work on it.

Activity

Ascending order - Click to sort in descending order
  • All
  • Comments
  • Work Log
  • History
  • Activity
Hide
Permalink
John Casey added a comment - 27/Sep/05 1:23 PM

How much of this can be handled by POM-level properties? I'm not wild about providing a direct line of communications between any two plugins, since that could easily establish a de facto dependency between them. Mediating through the POM seems like a good idea, if it's feasible.

Show
John Casey added a comment - 27/Sep/05 1:23 PM How much of this can be handled by POM-level properties? I'm not wild about providing a direct line of communications between any two plugins, since that could easily establish a de facto dependency between them. Mediating through the POM seems like a good idea, if it's feasible.
Hide
Permalink
Brett Porter added a comment - 27/Sep/05 6:05 PM

I agree with John. This is covered by properties and MNG-823 (assuming you are after it in the lifecycle and using its modified configuration). A plugin must expose what configuration to share.

Show
Brett Porter added a comment - 27/Sep/05 6:05 PM I agree with John. This is covered by properties and MNG-823 (assuming you are after it in the lifecycle and using its modified configuration). A plugin must expose what configuration to share.
Hide
Permalink
Mark Hobson added a comment - 28/Sep/05 3:40 AM

As long as the properties that a plugin sets are well documented and namespaced. My only concern is property name clashes with user pom properties - would it be safer using the plugin context from MNG-823 across multiple plugins? That way the properties are isolated from the user and only accessible by the plugin developers.

Show
Mark Hobson added a comment - 28/Sep/05 3:40 AM As long as the properties that a plugin sets are well documented and namespaced. My only concern is property name clashes with user pom properties - would it be safer using the plugin context from MNG-823 across multiple plugins? That way the properties are isolated from the user and only accessible by the plugin developers.
Hide
Permalink
Brett Porter added a comment - 28/Sep/05 4:02 AM

I misunderstood what 823 was - it is only within the same plugin.

I have this use case for the IDEA plugin too - so I'll check whether it is necessary. Making such dependencies between plugins is one of the big pitfalls we had in m1 however, so this needs to be very carefully considered.

Show
Brett Porter added a comment - 28/Sep/05 4:02 AM I misunderstood what 823 was - it is only within the same plugin. I have this use case for the IDEA plugin too - so I'll check whether it is necessary. Making such dependencies between plugins is one of the big pitfalls we had in m1 however, so this needs to be very carefully considered.
Hide
Permalink
Brett Porter added a comment - 05/Sep/07 2:19 AM

I think toolchain + build context eliminates the need for this

Show
Brett Porter added a comment - 05/Sep/07 2:19 AM I think toolchain + build context eliminates the need for this

People

  • Assignee:
    Unassigned
    Reporter:
    Mark Hobson
Vote (2)
Watch (2)

Dates

  • Created:
    03/Sep/05 4:23 AM
    Updated:
    13/Dec/08 6:35 PM
  • Atlassian JIRA (v5.0.4#731-sha1:3aa7374)
  • Report a problem
  • Powered by a free Atlassian JIRA open source license for Codehaus. Try JIRA - bug tracking software for your team.