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 Integration for Eclipse
  • MNGECLIPSE-340

Parent-pom support

  • Log In
  • Views
    • XML
    • Word
    • Printable

Details

  • Type: New Feature New Feature
  • Status: Open Open
  • Priority: Major Major
  • Resolution: Unresolved
  • Affects Version/s: None
  • Fix Version/s: 1.1
  • Component/s: POM Editor
  • Labels:
    None

Description

Not entirely sure on options for this.

Usecases:
From an enterprise standpoint, have a parent-pom that has the default SCM, repos, reports, etc, and constantly copy-pasting them into the project POM's.

Also, for modular projects, there are usually parent-poms as well.

Possibly use the repository indexing to identify groupid/artifacts that ONLY have POM files? Maybe optimize to only search within the groupid heiarchy (i.e. search within org.company.department.project, then org.company.department, then org.company for POM-only artifacts).

Activity

Ascending order - Click to sort in descending order
  • All
  • Comments
  • Work Log
  • History
  • Activity
Hide
Permalink
Eugene Kuleshov added a comment - 03/Jun/07 12:49 AM

What exactly you suggesting here? Can you please be more specific?

Show
Eugene Kuleshov added a comment - 03/Jun/07 12:49 AM What exactly you suggesting here? Can you please be more specific?
Hide
Permalink
darren hartford added a comment - 04/Jun/07 7:19 AM

This is a wishlist item.

An example of a project that uses a parent-pom can be found at: http://mirrors.ibiblio.org/pub/mirrors/maven2/maven/wagon-provider-parent/1.0-alpha-1/wagon-provider-parent-1.0-alpha-1.pom

There is a section within the pom details a parent pom:

=======
<project>
....
<parent>
<groupId>maven</groupId>
<artifactId>wagon</artifactId>
<version>1.0-alpha-1</version>
</parent>
=======

This parent definition could be populated by the POM editor by searching for projects that are pom.xml-only artifact projects to easily find and extend. Example: http://mirrors.ibiblio.org/pub/mirrors/maven2/maven/wagon/1.0-alpha-1/ only has pom.xml and the artifact <type>pom</type> also indicates this is a pom.xml-only project, making it very likely it is intended as a parent pom.

By having the search ability, should reduce copy-paste syndrome related to parent-pom section, as well as help keep up-to-date with the most recent version (or, at least the ability to see which versions are available) of the parent-pom.

Show
darren hartford added a comment - 04/Jun/07 7:19 AM This is a wishlist item. An example of a project that uses a parent-pom can be found at: http://mirrors.ibiblio.org/pub/mirrors/maven2/maven/wagon-provider-parent/1.0-alpha-1/wagon-provider-parent-1.0-alpha-1.pom There is a section within the pom details a parent pom: ======= <project> .... <parent> <groupId>maven</groupId> <artifactId>wagon</artifactId> <version>1.0-alpha-1</version> </parent> ======= This parent definition could be populated by the POM editor by searching for projects that are pom.xml-only artifact projects to easily find and extend. Example: http://mirrors.ibiblio.org/pub/mirrors/maven2/maven/wagon/1.0-alpha-1/ only has pom.xml and the artifact <type>pom</type> also indicates this is a pom.xml-only project, making it very likely it is intended as a parent pom. By having the search ability, should reduce copy-paste syndrome related to parent-pom section, as well as help keep up-to-date with the most recent version (or, at least the ability to see which versions are available) of the parent-pom.
Hide
Permalink
Eugene Kuleshov added a comment - 04/Jun/07 9:57 AM

Ok. But, I am still not sure how you expect this feature to work and how user would interact with such search.

Show
Eugene Kuleshov added a comment - 04/Jun/07 9:57 AM Ok. But, I am still not sure how you expect this feature to work and how user would interact with such search.
Hide
Permalink
Stefano Lenzi added a comment - 09/Mar/08 10:50 AM

I don't know how much it could be useful but here is my interpretation:

Emily an Eclipse user which works with the org.cybergarage.cyberlink project she has downloaded the whole directories from https://cgupnpjava.svn.sourceforge.net/svnroot/cgupnpjava/trunk/cyberlink, so she has a filesyetem on her local computer like that:
cyberlink\pom.xml
cyberlink\upnp-stack\pom.xml
cyberlink\samples\pom.xml
cyberlink\samples\light\pom.xml

Use Case Alpha:
Emily is now editing the cyberlink\samples\light\pom.xml file and she discover inside her Problems' Eclipse View that the pom is pointing to an old version of the parent pom.xml so a quickfix will update the information to the latest. The M2Plugin has discovered the "conflict" by inspecting:

  • the cyberlink\samples\light\pom.xml <parent> section
  • pom.xml file contained in parent folders of the light project, i.e.: cyberlink\samples\pom.xml and cyberlink\pom.xml
  • looking on the project maven2 repository in case that no "meaningful" parent folder are exists

Use Case Beta:
Emily is creating a new project in cyberlink\samples\hifi and she is now editing the cyberlink\samples\hifi\pom.xml . The M2Eclipse is smart enough to propose in the Problems' Eclipse View a warning which states <parent> section is missing and as quick fix it will propose to use one of pom.xml file contained in the parent folders, i.e.: cyberlink\samples\pom.xml, or cyberlink\pom.xml.

IMHO, the advantages of the previous Use case are: ease the process to keep parent section updated with the latest version for former, ease the creation of pom.xml for new "sub-module" for the latter.

WDYT?

Show
Stefano Lenzi added a comment - 09/Mar/08 10:50 AM I don't know how much it could be useful but here is my interpretation: Emily an Eclipse user which works with the org.cybergarage.cyberlink project she has downloaded the whole directories from https://cgupnpjava.svn.sourceforge.net/svnroot/cgupnpjava/trunk/cyberlink, so she has a filesyetem on her local computer like that: cyberlink\pom.xml cyberlink\upnp-stack\pom.xml cyberlink\samples\pom.xml cyberlink\samples\light\pom.xml Use Case Alpha: Emily is now editing the cyberlink\samples\light\pom.xml file and she discover inside her Problems' Eclipse View that the pom is pointing to an old version of the parent pom.xml so a quickfix will update the information to the latest. The M2Plugin has discovered the "conflict" by inspecting:
  • the cyberlink\samples\light\pom.xml <parent> section
  • pom.xml file contained in parent folders of the light project, i.e.: cyberlink\samples\pom.xml and cyberlink\pom.xml
  • looking on the project maven2 repository in case that no "meaningful" parent folder are exists
Use Case Beta: Emily is creating a new project in cyberlink\samples\hifi and she is now editing the cyberlink\samples\hifi\pom.xml . The M2Eclipse is smart enough to propose in the Problems' Eclipse View a warning which states <parent> section is missing and as quick fix it will propose to use one of pom.xml file contained in the parent folders, i.e.: cyberlink\samples\pom.xml, or cyberlink\pom.xml. IMHO, the advantages of the previous Use case are: ease the process to keep parent section updated with the latest version for former, ease the creation of pom.xml for new "sub-module" for the latter. WDYT?
Hide
Permalink
darren hartford added a comment - 10/Mar/08 8:28 AM

Thanks Stefano, that is appropriate description of the use cases.

Along use case Beta (new project or new module of a complex project), I have always shown people to

1) look for an existing project with the parent POM already in place.

2) copy the <parent> section and paste it into the new project/module.

Very old school.

Show
darren hartford added a comment - 10/Mar/08 8:28 AM Thanks Stefano, that is appropriate description of the use cases. Along use case Beta (new project or new module of a complex project), I have always shown people to 1) look for an existing project with the parent POM already in place. 2) copy the <parent> section and paste it into the new project/module. Very old school.
Hide
Permalink
Eugene Kuleshov added a comment - 22/May/08 1:25 PM

Please note that xml pom editor now provides completion in parent section (groupid, artifactid and version) scoped to the indexed pom artifacts.

We'll have similar search feature in the form-based editor, and we'll work on advanced quick-fix features in the future.

Show
Eugene Kuleshov added a comment - 22/May/08 1:25 PM Please note that xml pom editor now provides completion in parent section (groupid, artifactid and version) scoped to the indexed pom artifacts. We'll have similar search feature in the form-based editor, and we'll work on advanced quick-fix features in the future.

People

  • Assignee:
    Unassigned
    Reporter:
    darren hartford
Vote (0)
Watch (3)

Dates

  • Created:
    25/May/07 12:58 PM
    Updated:
    29/Jun/08 10:12 AM
  • 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.