On 04/01/2011 7:59 AM, Leon Rosenberg wrote:
On Tue, Jan 4, 2011 at 12:11 PM, Anders Hammar<[email protected]>  wrote:
I recommend "1.0.1", as I dislike ranges (might break reproducible builds
and is just to much automagic in my taste).
"RELEASE", "LATEST" is depracted and should not be used.

When ever a new release is available you need to update the bar pom.
Well in practice I have like 10 projects, so I will probably have to
update 9 poms in worst case. For now I moved dependency management
into parent.pom.

Just remember that if your project actually makes something useful, you will soon have many versions to maintain. You will have a production version, one in pre-deployment user testing and one or two in various states of development. You need to have tagged and branched versions that build reliably and "latest" or "RELEASE" is just not going to cut it for versions.

We have about 80 projects that build our application and 2 versions in production (different clients with different upgrade roadmaps) with new versions under development. We have very tight control over every third party library or internal library version.

It is not that hard once you get your structure in place.


 Ron
Or, you could keep both projects together with an aggregating project and
have one release lifecycle for them (same version in both,
"${project.version}").
   <version>${project.version}</version>  ?
I tried it in a module in an aggregated project (another one) and get

Project build error: Resolving expression: '${project.version}':
Detected the following recursive expression cycle:
[]      pom.xml /distributeme-runtime   line 1  Maven Problem
Project build error: Resolving expression: '${version}': Detected the
following recursive expression cycle:
[version]       pom.xml /distributeme-runtime   line 1  Maven Problem

regards
Leon


/Anders

On Tue, Jan 4, 2011 at 11:46, Leon Rosenberg<[email protected]>wrote:

Hi,

say I have two projects,
foo and bar, and bar depends on foo. My question is how should I
properly declare this dependency.
 From the maintainers point of view (and I'm the maintainer of both) I
always want bar to use the newest release of foo.
So, I have a released version of foo - 1.0.1, which is known to me at
the moment I'm writing the pom for bar.
Do I reference foo in bar as:

1.0.1
or
[1.0.1,)
or
[1.0.1]
or
RELEASE
or
... ?

regards
Leon

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]




---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to