Issue Details (XML | Word | Printable)

Key: MPECLIPSE-84
Type: New Feature New Feature
Status: Closed Closed
Resolution: Fixed
Priority: Minor Minor
Assignee: Unassigned
Reporter: Joakim Erdfelt
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
Maven 1.x Eclipse Plugin

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

Created: 18/Mar/05 11:44 AM   Updated: 16/Jan/06 11:36 PM
Component/s: None
Affects Version/s: 1.10
Fix Version/s: 1.11

Time Tracking:
Not Specified

File Attachments: 1. File eclipse-plugin-prefix.diff (3 kB)

Environment: Maven 1.0.2 and Eclipse (OS neutral)


 Description  « Hide
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)



 All   Comments   Work Log   Change History      Sort Order: Ascending order - Click to sort in descending order
Felipe Leme added a comment - 26/Jul/05 03:22 PM
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


Joakim Erdfelt added a comment - 26/Jul/05 07:19 PM
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.


Felipe Leme added a comment - 27/Jul/05 01:50 PM
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


Felipe Leme added a comment - 16/Jan/06 11:36 PM
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).