Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[m2e-users] More questions about dependency resolution

This is probably just a continuation of the recent discussions about workspace resolution vs. non-workspace resolution, but perhaps it's slightly different.  This may also be a pure Maven question, but it probably has aspects that are exclusive to the IDE environment.

I work in an environment where our big application (currently built with Ant) is composed of multiple projects.  We often have at least two release trains in process, where some of the work on particular component projects is done on different branches.  The build for each release specifies what branch is required for each project (quite often the trunk for most projects).

I'm trying to envision all the obstacles we'll have if/when we convert this large build to Maven.

It's entirely likely that some people will have to work on multiple releases at the same time, even working on the same project on different branches.

Each project will have a unique coordinate, and when built will be installed in the user's local repository.  However, I obviously have to figure out how to deal with the fact that the same project could be built on different branches, resulting in actually different artifacts, but with essentially the same Maven coordinate.

So what are reasonable strategies for dealing with this?

I suppose one possibility is to somehow define a version range for each release.  That probably works while the development of the release is in process, but I'm not sure what we would do when the release is completed and we merge our release changes back to the trunk.

I suppose this is another argument for the "branch for release" strategy, which is defined by convention (even though the name doesn't sound like this) to mean that most work goes directly to the trunk, and branches are only created for the release candidate.


Back to the top