Maven 1.x Eclipse Plugin
  1. Maven 1.x Eclipse Plugin
  2. MPECLIPSE-84

PATCH - Add project name prefix for working with multiple versions of artifact.

    Details

    • Type: New Feature New Feature
    • Status: Closed Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 1.10
    • Fix Version/s: 1.11
    • Labels:
      None
    • Environment:
      Maven 1.0.2 and Eclipse (OS neutral)
    • Number of attachments :
      1

      Description

      The maven-eclipse-plugin creates a .project file with a name of $

      {pom.artifactId}

      , which is fine if working with a single version of that single project, but when working on multiple version (maintenance on an old version, bug fixing current release, and active research on a future release) then that simple of a name makes things confusing in eclipse.

      The patch (hopefully attached) will allow for a maven.eclipse.project.prefix variable that will prepend some text to the project name to allow for eclipse to have multiple versions of the same project loaded.

      Ideally, this approach would also allow for a multiproject ecilpse generation with all of the projects having the same prefix (since Eclipse sorts the projects by name, this would have the effect of grouping all of those related multiprojects together)

        Activity

        Hide
        Felipe Leme added a comment -

        Joakin,

        Rather than providing a prefix, we should use a property for the whole name; something like this:

        on plugin.properties:

        maven.eclipse.project.name=$

        {pom.artifactId}

        on project.jelly:

        <name>$

        {maven.eclipse.project.name}

        </name>

        Could you update your code (including the test cases) with this property and send a new patch so I could apply it to SVN? (unfortunately, I'm lacking the time to do the change myself).

        Tks,

        – Felipe

        Show
        Felipe Leme added a comment - Joakin, Rather than providing a prefix, we should use a property for the whole name; something like this: on plugin.properties: maven.eclipse.project.name=$ {pom.artifactId} on project.jelly: <name>$ {maven.eclipse.project.name} </name> Could you update your code (including the test cases) with this property and send a new patch so I could apply it to SVN? (unfortunately, I'm lacking the time to do the change myself). Tks, – Felipe
        Hide
        Joakim Erdfelt added a comment -

        Interesting approach, but this would require every project in a multi-project to define this property.

        We have a custom modified eclipse plugin at use where I work. (We like maven-proxy!)

        The pattern we see is as such ...

        • We have a large multi-project to work with. (depending on branch, from 49 to 71 artifacts)
        • Some of us have to work in more than 1 branch of the project at a time.
        • Some of us have local branches for experimental work, while the HEAD branch is for active work.
        • We wanted a way to uniquely identify and/or group an entire multi-project from within eclipse.
        • Each developer can place a build.properties file in the root of the multiproject with a single entry like such ...
          $ maven.eclipse.project.prefix=B32
        • Then when we run ...
          $ maven -Dgoal=eclipse:eclipse multiproject:goal
          we generate a whole set of projects suitable for importing into eclipse.
        • Having this property be merely a prefix to the existing artifactId name, makes all of the projects belonging to each other 'group' together from within eclipse, instead of interleaving themselves.

        This has proven to be extremely convenient for all of us using this modification and having to work with multiple version of the same artifact.

        NOTE: With the release of eclipse 3.1 it is now possible to maintain different workspaces for the different branches reliably.

        Show
        Joakim Erdfelt added a comment - Interesting approach, but this would require every project in a multi-project to define this property. We have a custom modified eclipse plugin at use where I work. (We like maven-proxy!) The pattern we see is as such ... We have a large multi-project to work with. (depending on branch, from 49 to 71 artifacts) Some of us have to work in more than 1 branch of the project at a time. Some of us have local branches for experimental work, while the HEAD branch is for active work. We wanted a way to uniquely identify and/or group an entire multi-project from within eclipse. Each developer can place a build.properties file in the root of the multiproject with a single entry like such ... $ maven.eclipse.project.prefix=B32 Then when we run ... $ maven -Dgoal=eclipse:eclipse multiproject:goal we generate a whole set of projects suitable for importing into eclipse. Having this property be merely a prefix to the existing artifactId name, makes all of the projects belonging to each other 'group' together from within eclipse, instead of interleaving themselves. This has proven to be extremely convenient for all of us using this modification and having to work with multiple version of the same artifact. NOTE: With the release of eclipse 3.1 it is now possible to maintain different workspaces for the different branches reliably.
        Hide
        Felipe Leme added a comment -

        Joakin,

        What about this:

        1.Instead of setting maven.eclipse.project.prefix=B32, every developer set something like: mycompany.prefix=B32

        2.On the project.properties inherited by all multi-projects, you set:

        maven.eclipse.project.name=$

        {mycompany.prefix}

        -$

        {pom.artifactId}

        Would it work?

        – Felipe

        Show
        Felipe Leme added a comment - Joakin, What about this: 1.Instead of setting maven.eclipse.project.prefix=B32, every developer set something like: mycompany.prefix=B32 2.On the project.properties inherited by all multi-projects, you set: maven.eclipse.project.name=$ {mycompany.prefix} -$ {pom.artifactId} Would it work? – Felipe
        Hide
        Felipe Leme added a comment -

        Fixed, by creating the maven.eclipse.project.name, which is more generic than simply adding a prefix (see my previous post regarding how to emulate the prefix).

        Show
        Felipe Leme added a comment - Fixed, by creating the maven.eclipse.project.name, which is more generic than simply adding a prefix (see my previous post regarding how to emulate the prefix).

          People

          • Assignee:
            Unassigned
            Reporter:
            Joakim Erdfelt
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: