You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by amit kumar <am...@gmail.com> on 2008/01/18 14:38:08 UTC

Avoid Dependency version

Hi,
Can I make it possible for my dependencies(jar files) declared in
<dependency> tags, not have version. Just like in case of plugin it happens,
the latest on gets fetched?
When I don't put a version in my dependency tag, it throws error.

Regards,
Amit

Re: Avoid Dependency version

Posted by Michael Meyer <mi...@bluewin.ch>.
amit kumar schrieb:
> Hi,
> The reason for I thinking about not having version component in the
> <dependency> tag might result in a better version control in terms of
> same version being used across the different modules of the project.
> Though not very sure if I am genuine enough when I think that.
As Brian said you can use the dependencyManagment section for this. You 
define the version in the toplevel pom and all sub poms inherit the 
version. I would also lock down the versions of the plugins in the 
pluginManagement section (just my two cents).

> And as Wayne pointed
> out , is it a good thing to think about?
Wayne is right, don't do it! Your build will not be reproducable. If you 
build your project today, version 1.1.1 (?) of commons-logging will be 
used. If you checkout the same code in one year there will be a newer 
version of commons-logging and if they have changed interfaces in the 
meantime it is possible that your code will not even compile.

michael

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: Avoid Dependency version

Posted by amit kumar <am...@gmail.com>.
Hi,
The reason for I thinking about not having version component in the
<dependency> tag might result in a better version control in terms of
same version being used across the different modules of the project.
Though not very sure if I am genuine enough when I think that.

Actually when I want to avoid dependency versions, I want to do it in
context of an individual project(irrespective of chil-parent
relationship).My question was that for instance if I am using
commons-logging in my dependency
<dependencies>
...
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.0.4</version>
<dependencies>

Is there a way around to avoid the version component so that the
latest version gets fetched from the repository? And as Wayne pointed
out , is it a good thing to think about?

Regards,
Amit

On Jan 19, 2008 10:44 PM, Wayne Fay <wa...@gmail.com> wrote:
> I almost replied with this same content but decided against it.
>
> Amit, you realize that you are heading down a very ugly path if you
> use any of these options, and you will get builds that are all but
> impossible to reproduce etc, right?
>
> Wayne
>
>
>
>
> On 1/19/08, Brian E. Fox <br...@reply.infinity.nu> wrote:
> > You can use dependencyManagment in a parent pom to avoid specifying the
> > version in all your child poms. If you really want the "latest" you have
> > two choices:
> > LATEST - latest snapshot
> > RELEASE - latest release
> >
> > Or you could specify a range like [0,)
> >
> > -----Original Message-----
> > From: amit kumar [mailto:amit.kumar97400@gmail.com]
> > Sent: Friday, January 18, 2008 8:38 AM
> > To: Maven Users List
> > Subject: Avoid Dependency version
> >
> > Hi,
> > Can I make it possible for my dependencies(jar files) declared in
> > <dependency> tags, not have version. Just like in case of plugin it
> > happens,
> > the latest on gets fetched?
> > When I don't put a version in my dependency tag, it throws error.
> >
> > Regards,
> > Amit
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> > For additional commands, e-mail: users-help@maven.apache.org
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: Avoid Dependency version

Posted by Wayne Fay <wa...@gmail.com>.
I almost replied with this same content but decided against it.

Amit, you realize that you are heading down a very ugly path if you
use any of these options, and you will get builds that are all but
impossible to reproduce etc, right?

Wayne

On 1/19/08, Brian E. Fox <br...@reply.infinity.nu> wrote:
> You can use dependencyManagment in a parent pom to avoid specifying the
> version in all your child poms. If you really want the "latest" you have
> two choices:
> LATEST - latest snapshot
> RELEASE - latest release
>
> Or you could specify a range like [0,)
>
> -----Original Message-----
> From: amit kumar [mailto:amit.kumar97400@gmail.com]
> Sent: Friday, January 18, 2008 8:38 AM
> To: Maven Users List
> Subject: Avoid Dependency version
>
> Hi,
> Can I make it possible for my dependencies(jar files) declared in
> <dependency> tags, not have version. Just like in case of plugin it
> happens,
> the latest on gets fetched?
> When I don't put a version in my dependency tag, it throws error.
>
> Regards,
> Amit
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: Avoid Dependency version

Posted by Michael McCallum <gh...@apache.org>.
In order to have a stable system you MUST understand what the latest release 
means... if you introduce this into your build you have no control over what 
actually ends up in it. As an end user this is not a huge deal directly 
except when people start using RELEASE/STABLE in libraries in the main 
repositories....

What is the latest "STABLE" release? it really depends on your use case. 
Perhaps a better solution would be to add more metadata into the repository 
releated to outstanding issues in jira for a particular release. You could 
then say i would like the latest build with no bugs or critical issues or 
just no critical issues

With RELEASE you end up using the latest released code of every project and 
the shit hits the fan, you might as well build all the projects from source 
yourself!

i vote a big (non binding ;-) -1 for MNG-2431

if you really want to have an unstable project then use the [0,) range but 
don't encourage people with nice looking tags...

On Tue, 22 Jan 2008 02:32:28 Tomasz Pik wrote:
> On Jan 21, 2008 2:21 PM, Guillaume Lederrey
>
> <gu...@gmail.com> wrote:
> > On 20/01/2008, Brian E. Fox <br...@reply.infinity.nu> wrote:
> > > You can use dependencyManagment in a parent pom to avoid specifying the
> > > version in all your child poms. If you really want the "latest" you
> > > have two choices:
> > > LATEST - latest snapshot
> > > RELEASE - latest release
> > >
> > > Or you could specify a range like [0,)
> >
> > Probably a dummy question on my part : I can get ranges to work, but
> > not RELEASE nor LATEST. If y put the version of a dependency to
> > either, I get :
> >
> >
> > [INFO] Failed to resolve artifact.
> >
> > Missing:
> > ----------
> > 1) myGroup:myProject:jar:RELEASE
> >
> >
> > And the usual "dependency not found, would you like to install it"
> > message.
> >
> > I tried to find docs, but found not much. Do you know since which
> > version of maven this is available ?
>
> As far as I know it works only for plugins.
> For general usage - please, vote here, maybe this issue will get
> some attention:
> http://jira.codehaus.org/browse/MNG-2431
>
> Regards,
> Tomek
>
> >   Thanks !
> >
> > > -----Original Message-----
> > > From: amit kumar [mailto:amit.kumar97400@gmail.com]
> > > Sent: Friday, January 18, 2008 8:38 AM
> > > To: Maven Users List
> > > Subject: Avoid Dependency version
> > >
> > > Hi,
> > > Can I make it possible for my dependencies(jar files) declared in
> > > <dependency> tags, not have version. Just like in case of plugin it
> > > happens,
> > > the latest on gets fetched?
> > > When I don't put a version in my dependency tag, it throws error.
> > >
> > > Regards,
> > > Amit
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> > > For additional commands, e-mail: users-help@maven.apache.org
> >
> > --
> > Jabber : gehel@amessage.ch
> > Skype : Guillaume.Lederrey
> > Projects :
> > * http://rwanda.wordpress.com/
> > * http://rwandatech.wordpress.com/
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> > For additional commands, e-mail: users-help@maven.apache.org
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org



-- 
Michael McCallum
Enterprise Engineer
mailto:gholam@apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: Avoid Dependency version

Posted by Guillaume Lederrey <gu...@gmail.com>.
On 21/01/2008, Tomasz Pik <to...@gmail.com> wrote:
> On Jan 21, 2008 2:21 PM, Guillaume Lederrey
> <gu...@gmail.com> wrote:
> > On 20/01/2008, Brian E. Fox <br...@reply.infinity.nu> wrote:
> > > You can use dependencyManagment in a parent pom to avoid specifying the
> > > version in all your child poms. If you really want the "latest" you have
> > > two choices:
> > > LATEST - latest snapshot
> > > RELEASE - latest release
> > >
> > > Or you could specify a range like [0,)
> >
> > Probably a dummy question on my part : I can get ranges to work, but
> > not RELEASE nor LATEST. If y put the version of a dependency to
> > either, I get :
> >
> >
> > [INFO] Failed to resolve artifact.
> >
> > Missing:
> > ----------
> > 1) myGroup:myProject:jar:RELEASE
> >
> >
> > And the usual "dependency not found, would you like to install it" message.
> >
> > I tried to find docs, but found not much. Do you know since which
> > version of maven this is available ?
>
> As far as I know it works only for plugins.
> For general usage - please, vote here, maybe this issue will get
> some attention:
> http://jira.codehaus.org/browse/MNG-2431

Thanks for your help ! It seems that I will stay with open ended
version ranges ...

> Regards,
> Tomek
>
> >
> >   Thanks !
> >
> >
> > > -----Original Message-----
> > > From: amit kumar [mailto:amit.kumar97400@gmail.com]
> > > Sent: Friday, January 18, 2008 8:38 AM
> > > To: Maven Users List
> > > Subject: Avoid Dependency version
> > >
> > > Hi,
> > > Can I make it possible for my dependencies(jar files) declared in
> > > <dependency> tags, not have version. Just like in case of plugin it
> > > happens,
> > > the latest on gets fetched?
> > > When I don't put a version in my dependency tag, it throws error.
> > >
> > > Regards,
> > > Amit
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> > > For additional commands, e-mail: users-help@maven.apache.org
> > >
> > >
> >
> >
> > --
> > Jabber : gehel@amessage.ch
> > Skype : Guillaume.Lederrey
> > Projects :
> > * http://rwanda.wordpress.com/
> > * http://rwandatech.wordpress.com/
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> > For additional commands, e-mail: users-help@maven.apache.org
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>


-- 
Jabber : gehel@amessage.ch
Skype : Guillaume.Lederrey
Projects :
* http://rwanda.wordpress.com/
* http://rwandatech.wordpress.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: Avoid Dependency version

Posted by Tomasz Pik <to...@gmail.com>.
On Jan 21, 2008 2:21 PM, Guillaume Lederrey
<gu...@gmail.com> wrote:
> On 20/01/2008, Brian E. Fox <br...@reply.infinity.nu> wrote:
> > You can use dependencyManagment in a parent pom to avoid specifying the
> > version in all your child poms. If you really want the "latest" you have
> > two choices:
> > LATEST - latest snapshot
> > RELEASE - latest release
> >
> > Or you could specify a range like [0,)
>
> Probably a dummy question on my part : I can get ranges to work, but
> not RELEASE nor LATEST. If y put the version of a dependency to
> either, I get :
>
>
> [INFO] Failed to resolve artifact.
>
> Missing:
> ----------
> 1) myGroup:myProject:jar:RELEASE
>
>
> And the usual "dependency not found, would you like to install it" message.
>
> I tried to find docs, but found not much. Do you know since which
> version of maven this is available ?

As far as I know it works only for plugins.
For general usage - please, vote here, maybe this issue will get
some attention:
http://jira.codehaus.org/browse/MNG-2431

Regards,
Tomek

>
>   Thanks !
>
>
> > -----Original Message-----
> > From: amit kumar [mailto:amit.kumar97400@gmail.com]
> > Sent: Friday, January 18, 2008 8:38 AM
> > To: Maven Users List
> > Subject: Avoid Dependency version
> >
> > Hi,
> > Can I make it possible for my dependencies(jar files) declared in
> > <dependency> tags, not have version. Just like in case of plugin it
> > happens,
> > the latest on gets fetched?
> > When I don't put a version in my dependency tag, it throws error.
> >
> > Regards,
> > Amit
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> > For additional commands, e-mail: users-help@maven.apache.org
> >
> >
>
>
> --
> Jabber : gehel@amessage.ch
> Skype : Guillaume.Lederrey
> Projects :
> * http://rwanda.wordpress.com/
> * http://rwandatech.wordpress.com/
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: Avoid Dependency version

Posted by Guillaume Lederrey <gu...@gmail.com>.
On 24/01/2008, Brian E. Fox <br...@reply.infinity.nu> wrote:
> I think this only gets set into the metadata when you deploy the
> artifact.

Almost. It only gets set when you deploy and you set updateReleaseInfo to true.




> -----Original Message-----
> From: Guillaume Lederrey [mailto:guillaume.lederrey@gmail.com]
> Sent: Monday, January 21, 2008 8:22 AM
> To: Maven Users List
> Subject: Re: Avoid Dependency version
>
> On 20/01/2008, Brian E. Fox <br...@reply.infinity.nu> wrote:
> > You can use dependencyManagment in a parent pom to avoid specifying
> the
> > version in all your child poms. If you really want the "latest" you
> have
> > two choices:
> > LATEST - latest snapshot
> > RELEASE - latest release
> >
> > Or you could specify a range like [0,)
>
> Probably a dummy question on my part : I can get ranges to work, but
> not RELEASE nor LATEST. If y put the version of a dependency to
> either, I get :
>
>
> [INFO] Failed to resolve artifact.
>
> Missing:
> ----------
> 1) myGroup:myProject:jar:RELEASE
>
>
> And the usual "dependency not found, would you like to install it"
> message.
>
> I tried to find docs, but found not much. Do you know since which
> version of maven this is available ?
>
>   Thanks !
>
>
> > -----Original Message-----
> > From: amit kumar [mailto:amit.kumar97400@gmail.com]
> > Sent: Friday, January 18, 2008 8:38 AM
> > To: Maven Users List
> > Subject: Avoid Dependency version
> >
> > Hi,
> > Can I make it possible for my dependencies(jar files) declared in
> > <dependency> tags, not have version. Just like in case of plugin it
> > happens,
> > the latest on gets fetched?
> > When I don't put a version in my dependency tag, it throws error.
> >
> > Regards,
> > Amit
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> > For additional commands, e-mail: users-help@maven.apache.org
> >
> >
>
>
> --
> Jabber : gehel@amessage.ch
> Skype : Guillaume.Lederrey
> Projects :
> * http://rwanda.wordpress.com/
> * http://rwandatech.wordpress.com/
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>


-- 
Jabber : gehel@amessage.ch
Skype : Guillaume.Lederrey
Projects :
* http://rwanda.wordpress.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


RE: Avoid Dependency version

Posted by "Brian E. Fox" <br...@reply.infinity.nu>.
I think this only gets set into the metadata when you deploy the
artifact.

-----Original Message-----
From: Guillaume Lederrey [mailto:guillaume.lederrey@gmail.com] 
Sent: Monday, January 21, 2008 8:22 AM
To: Maven Users List
Subject: Re: Avoid Dependency version

On 20/01/2008, Brian E. Fox <br...@reply.infinity.nu> wrote:
> You can use dependencyManagment in a parent pom to avoid specifying
the
> version in all your child poms. If you really want the "latest" you
have
> two choices:
> LATEST - latest snapshot
> RELEASE - latest release
>
> Or you could specify a range like [0,)

Probably a dummy question on my part : I can get ranges to work, but
not RELEASE nor LATEST. If y put the version of a dependency to
either, I get :


[INFO] Failed to resolve artifact.

Missing:
----------
1) myGroup:myProject:jar:RELEASE


And the usual "dependency not found, would you like to install it"
message.

I tried to find docs, but found not much. Do you know since which
version of maven this is available ?

  Thanks !


> -----Original Message-----
> From: amit kumar [mailto:amit.kumar97400@gmail.com]
> Sent: Friday, January 18, 2008 8:38 AM
> To: Maven Users List
> Subject: Avoid Dependency version
>
> Hi,
> Can I make it possible for my dependencies(jar files) declared in
> <dependency> tags, not have version. Just like in case of plugin it
> happens,
> the latest on gets fetched?
> When I don't put a version in my dependency tag, it throws error.
>
> Regards,
> Amit
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>


-- 
Jabber : gehel@amessage.ch
Skype : Guillaume.Lederrey
Projects :
* http://rwanda.wordpress.com/
* http://rwandatech.wordpress.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: Avoid Dependency version

Posted by Guillaume Lederrey <gu...@gmail.com>.
On 20/01/2008, Brian E. Fox <br...@reply.infinity.nu> wrote:
> You can use dependencyManagment in a parent pom to avoid specifying the
> version in all your child poms. If you really want the "latest" you have
> two choices:
> LATEST - latest snapshot
> RELEASE - latest release
>
> Or you could specify a range like [0,)

Probably a dummy question on my part : I can get ranges to work, but
not RELEASE nor LATEST. If y put the version of a dependency to
either, I get :


[INFO] Failed to resolve artifact.

Missing:
----------
1) myGroup:myProject:jar:RELEASE


And the usual "dependency not found, would you like to install it" message.

I tried to find docs, but found not much. Do you know since which
version of maven this is available ?

  Thanks !


> -----Original Message-----
> From: amit kumar [mailto:amit.kumar97400@gmail.com]
> Sent: Friday, January 18, 2008 8:38 AM
> To: Maven Users List
> Subject: Avoid Dependency version
>
> Hi,
> Can I make it possible for my dependencies(jar files) declared in
> <dependency> tags, not have version. Just like in case of plugin it
> happens,
> the latest on gets fetched?
> When I don't put a version in my dependency tag, it throws error.
>
> Regards,
> Amit
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>


-- 
Jabber : gehel@amessage.ch
Skype : Guillaume.Lederrey
Projects :
* http://rwanda.wordpress.com/
* http://rwandatech.wordpress.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: Avoid Dependency version

Posted by Michael McCallum <gh...@apache.org>.
On Sun, 20 Jan 2008 17:16:46 Brian E. Fox wrote:
> You can use dependencyManagment in a parent pom to avoid specifying the
> version in all your child poms. If you really want the "latest" you have
I thought the depedencyManagement section was going away in 2.1 because its a 
poor implentation of an externalised version manifest... 

why not use version ranges they work very well, and give you a bit more 
control over your deliverables.

RELEASE and LATEST I guarantee will cause you grief, and IMHO contrary to what 
is emerging as best practice.

-- 
Michael McCallum
Enterprise Engineer
mailto:gholam@apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


RE: Avoid Dependency version

Posted by "Brian E. Fox" <br...@reply.infinity.nu>.
You can use dependencyManagment in a parent pom to avoid specifying the
version in all your child poms. If you really want the "latest" you have
two choices:
LATEST - latest snapshot
RELEASE - latest release

Or you could specify a range like [0,)

-----Original Message-----
From: amit kumar [mailto:amit.kumar97400@gmail.com] 
Sent: Friday, January 18, 2008 8:38 AM
To: Maven Users List
Subject: Avoid Dependency version

Hi,
Can I make it possible for my dependencies(jar files) declared in
<dependency> tags, not have version. Just like in case of plugin it
happens,
the latest on gets fetched?
When I don't put a version in my dependency tag, it throws error.

Regards,
Amit

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org