You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ivy-user@ant.apache.org by David Sills <DS...@datasourceinc.com> on 2012/03/20 17:56:06 UTC

2 Questions for ivyIDE

All:

I love working with Eclipse and ivyIDE with 2 exceptions, and I wonder
if I am just missing something.

My environment consists of a company-wide repository, where I place the
results of building my projects, and of course a local repository, which
sometimes though not always has folders for some of the same projects.
As an example, let's assume that my project, say, "xxx-encryption"
depends on "xxx-common". All is well and Ivy does well with it.

However, I add some functionality to "xxx-common", up the build number,
and rebuild. Great. Using Eclipse, I resolve "xxx-encryption" and it
gets the correct updated value for the version number. In order to
update the "xxx-encryption" Ivy files, I build "xxx-encryption" even
though there have not been any changes to the project itself, only its
dependencies. The company-wide repository's version of ivy.xml is
correctly updated with the appropriate dependency on the new version of
"xxx-common". However, the local repository's version of ivy.xml is not!
This means that when I have a third project, say "xxx-web", that depends
on "xxx-encryption" and try to resolve that project, the old (now
incorrect) version of "xxx-common" is taken, since the local
repository's version is read first if it exists.

What am I missing? I find myself constantly manually updating the files
in the local repository in order to get the transitive dependencies
right.

Also, can someone explain to me why my Ivy container in ivyIDE doesn't
allow me to put source code locations on the JARs? That would be hugely
helpful in debugging, especially in a situation where I have a lot of
smaller projects that depend on each other and I assemble them as needed
for a specific requirement. Or do I have to create source JAR files for
each project using Ivy to make that happen? And will it happen if I do
make source JAR files?

Many thanks for anyone who can answer either or both of these questions.

David Sills


RE: 2 Questions for ivyIDE

Posted by David Sills <DS...@datasourceinc.com>.
Not sure I understood the first part, but glad to see if I can work it
through. More questions if I prove to be an idiot.

I wasn't publishing sources at all, which probably accounts for the
confusion. Only in the middle of asking the question did the idea occur
that maybe that would help.

-----Original Message-----
From: Not Zippy [mailto:notzippy@gmail.com] 
Sent: Tuesday, March 20, 2012 1:04 PM
To: ivy-user@ant.apache.org
Subject: Re: 2 Questions for ivyIDE

The local repository is a cached based repository. The frequency of the
updates is specified in the ivysettings file.  Check out <cache><ttl>
elements (Personally I specify all my cache settings to be in my
"target"
folder, and in eclipse set the resolve to occur within the workspace)

How are you publishing your sources in ivy ? Eclipse will retrieve them
if you publish them properly.

Steve

On Tue, Mar 20, 2012 at 9:56 AM, David Sills
<DS...@datasourceinc.com>wrote:

> All:
>
> I love working with Eclipse and ivyIDE with 2 exceptions, and I wonder

> if I am just missing something.
>
> My environment consists of a company-wide repository, where I place 
> the results of building my projects, and of course a local repository,

> which sometimes though not always has folders for some of the same
projects.
> As an example, let's assume that my project, say, "xxx-encryption"
> depends on "xxx-common". All is well and Ivy does well with it.
>
> However, I add some functionality to "xxx-common", up the build 
> number, and rebuild. Great. Using Eclipse, I resolve "xxx-encryption" 
> and it gets the correct updated value for the version number. In order

> to update the "xxx-encryption" Ivy files, I build "xxx-encryption" 
> even though there have not been any changes to the project itself, 
> only its dependencies. The company-wide repository's version of 
> ivy.xml is correctly updated with the appropriate dependency on the 
> new version of "xxx-common". However, the local repository's version
of ivy.xml is not!
> This means that when I have a third project, say "xxx-web", that 
> depends on "xxx-encryption" and try to resolve that project, the old 
> (now
> incorrect) version of "xxx-common" is taken, since the local 
> repository's version is read first if it exists.
>
> What am I missing? I find myself constantly manually updating the 
> files in the local repository in order to get the transitive 
> dependencies right.
>
> Also, can someone explain to me why my Ivy container in ivyIDE doesn't

> allow me to put source code locations on the JARs? That would be 
> hugely helpful in debugging, especially in a situation where I have a 
> lot of smaller projects that depend on each other and I assemble them 
> as needed for a specific requirement. Or do I have to create source 
> JAR files for each project using Ivy to make that happen? And will it 
> happen if I do make source JAR files?
>
> Many thanks for anyone who can answer either or both of these
questions.
>
> David Sills
>
>

Re: 2 Questions for ivyIDE

Posted by Not Zippy <no...@gmail.com>.
You need to specify the default attribute in your caches element to be your
cache like
<caches deafult="local-cache" ...
see http://ant.apache.org/ivy/history/latest-milestone/settings/caches.html

On Tue, Mar 20, 2012 at 11:03 AM, David Sills <DS...@datasourceinc.com>wrote:

> Many thanks. Herewith the whole ivysettings.xml file:
>
> <?xml version="1.0" encoding="UTF-8"?>
> <ivysettings>
>  <properties file="ivysettings.properties"/>
>  <settings defaultResolver="local-portfolio-lookup"
> defaultLatestStrategy="latest-lexico"/>
>   <caches
> ivyPattern="[organisation]\\[module]\\[revision]\\[artifact]-[revision].
> [ext]"
>
> artifactPattern="[organisation]\\[module]\\[revision]\\[artifact]-[revis
> ion].[ext]">
>    <cache name="local-cache" useOrigin="true" defaultTTL="eternal">
>      <ttl revision="latest.integration" duration="200ms"/>
>    </cache>
>  </caches>
>   <resolvers>
>    <chain name="local-portfolio-lookup" returnFirst="true">
>      <filesystem name="local" cache="local-cache">
>        <ivy
> pattern="${ivy.shared.dir}\\repositories\\internal\\[organisation]\\[mod
> ule]\\[revision]\\[artifact]-[revision].[ext]"/>
>        <artifact
> pattern="${ivy.shared.dir}\\repositories\\internal\\[organisation]\[modu
> le]\\[revision]\\[artifact]-[revision].[ext]"/>
>      </filesystem>
>      <filesystem name="local-snapshot" cache="local-cache">
>        <ivy
> pattern="${ivy.shared.dir}\\repositories\\snapshots\\[organisation]\\[mo
> dule]\\[revision]\\[artifact]-[revision].[ext]"/>
>        <artifact
> pattern="${ivy.shared.dir}\\repositories\\snapshots\\[organisation]\\[mo
> dule]\\[revision]\\[artifact]-[revision].[ext]"/>
>      </filesystem>
>      <url name="com.springsource.repository.bundles.release">
>        <ivy
> pattern="http://repository.springsource.com/ivy/bundles/release/[organis
> ation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
>        <artifact
> pattern="http://repository.springsource.com/ivy/bundles/release/[organis
> ation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
>      </url>
>      <url name="com.springsource.repository.bundles.external">
>        <ivy
> pattern="http://repository.springsource.com/ivy/bundles/external/[organi
> sation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
>        <artifact
> pattern="http://repository.springsource.com/ivy/bundles/external/[organi
> sation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
>      </url>
>      <url name="ibiblio">
>        <ivy
> pattern="http://www.ibiblio.org/maven/[organisation]/[type]s/[artifact]-
> [revision].[ext]"/>
>        <artifact
> pattern="http://www.ibiblio.org/maven/[organisation]/[type]s/[artifact]-
> [revision].[ext]"/>
>      </url>
>    </chain>
>  </resolvers>
> </ivysettings>
>
> -----Original Message-----
> From: Not Zippy [mailto:notzippy@gmail.com]
> Sent: Tuesday, March 20, 2012 1:59 PM
> To: ivy-user@ant.apache.org
> Subject: Re: 2 Questions for ivyIDE
>
> What does your full caches element (and sub elements) look like ? Can
> you email <caches ...>
>
> </caches>
>
> On Tue, Mar 20, 2012 at 10:53 AM, David Sills
> <DS...@datasourceinc.com>wrote:
>
> > I don't want a particular package, just all latest.integration
> > dependencies. I took the example directly from the documentation
> > (http://ant.apache.org/ivy/history/latest-milestone/settings/caches/ca
> > ch e.html). Maybe it doesn't actually work?
> >
> > -----Original Message-----
> > From: Not Zippy [mailto:notzippy@gmail.com]
> > Sent: Tuesday, March 20, 2012 1:40 PM
> > To: ivy-user@ant.apache.org
> > Subject: Re: 2 Questions for ivyIDE
> >
> > Try specifying a package in the ttl
> >
> > On Tue, Mar 20, 2012 at 10:31 AM, David Sills
> > <DS...@datasourceinc.com>wrote:
> >
> > > Not Zippy:
> > >
> > > Many thanks, but apparently I really didn't understand. With the
> > > help of the documentation, I tried:
> > >
> > >  <caches
> > >
> >
> ivyPattern="[organisation]\\[module]\\[revision]\\[artifact]-[revision].
> > > [ext]"
> > >
> > > artifactPattern="[organisation]\\[module]\\[revision]\\[artifact]-[r
> > > ev
> > > is
> > > ion].[ext]">
> > >    <cache name="local-cache" useOrigin="true" defaultTTL="eternal">
> > >      <ttl revision="latest.integration" duration="200ms"/>
> > >    </cache>
> > >  </caches>
> > >
> > > What I thought I was setting was "don't bother to update most of the
>
> > > JAR files (which are third-party and unlikely to change) but for
> > > latest.integration (all the stuff we are building) only use the
> > > cache for 200 milliseconds (essentially not doing so at all)".
> > > Unfortunately, the actual result is exactly the same as before. The
> > > local repository
> > > (cache) is not updated when the global repository is built to.
> > >
> > > Any further advice?
> > >
> > > David Sills
> > >
> > >
> > > -----Original Message-----
> > > From: Not Zippy [mailto:notzippy@gmail.com]
> > > Sent: Tuesday, March 20, 2012 1:04 PM
> > > To: ivy-user@ant.apache.org
> > > Subject: Re: 2 Questions for ivyIDE
> > >
> > > The local repository is a cached based repository. The frequency of
> > > the updates is specified in the ivysettings file.  Check out
> > > <cache><ttl> elements (Personally I specify all my cache settings to
>
> > > be in my "target"
> > > folder, and in eclipse set the resolve to occur within the
> > > workspace)
> > >
> > > How are you publishing your sources in ivy ? Eclipse will retrieve
> > > them if you publish them properly.
> > >
> > > Steve
> > >
> > > On Tue, Mar 20, 2012 at 9:56 AM, David Sills
> > > <DS...@datasourceinc.com>wrote:
> > >
> > > > All:
> > > >
> > > > I love working with Eclipse and ivyIDE with 2 exceptions, and I
> > > > wonder
> > >
> > > > if I am just missing something.
> > > >
> > > > My environment consists of a company-wide repository, where I
> > > > place the results of building my projects, and of course a local
> > > > repository,
> > >
> > > > which sometimes though not always has folders for some of the same
> > > projects.
> > > > As an example, let's assume that my project, say, "xxx-encryption"
> > > > depends on "xxx-common". All is well and Ivy does well with it.
> > > >
> > > > However, I add some functionality to "xxx-common", up the build
> > > > number, and rebuild. Great. Using Eclipse, I resolve
> > "xxx-encryption"
> > > > and it gets the correct updated value for the version number. In
> > > > order
> > >
> > > > to update the "xxx-encryption" Ivy files, I build "xxx-encryption"
> > > > even though there have not been any changes to the project itself,
>
> > > > only its dependencies. The company-wide repository's version of
> > > > ivy.xml is correctly updated with the appropriate dependency on
> > > > the new version of "xxx-common". However, the local repository's
> > > > version
> > > of ivy.xml is not!
> > > > This means that when I have a third project, say "xxx-web", that
> > > > depends on "xxx-encryption" and try to resolve that project, the
> > > > old
> >
> > > > (now
> > > > incorrect) version of "xxx-common" is taken, since the local
> > > > repository's version is read first if it exists.
> > > >
> > > > What am I missing? I find myself constantly manually updating the
> > > > files in the local repository in order to get the transitive
> > > > dependencies right.
> > > >
> > > > Also, can someone explain to me why my Ivy container in ivyIDE
> > > > doesn't
> > >
> > > > allow me to put source code locations on the JARs? That would be
> > > > hugely helpful in debugging, especially in a situation where I
> > > > have a lot of smaller projects that depend on each other and I
> > > > assemble them as needed for a specific requirement. Or do I have
> > > > to create source JAR files for each project using Ivy to make that
>
> > > > happen? And
> >
> > > > will it happen if I do make source JAR files?
> > > >
> > > > Many thanks for anyone who can answer either or both of these
> > > questions.
> > > >
> > > > David Sills
> > > >
> > > >
> > >
> >
>

RE: 2 Questions for ivyIDE

Posted by David Sills <DS...@datasourceinc.com>.
Many thanks. Herewith the whole ivysettings.xml file:

<?xml version="1.0" encoding="UTF-8"?>
<ivysettings>
  <properties file="ivysettings.properties"/>
  <settings defaultResolver="local-portfolio-lookup"
defaultLatestStrategy="latest-lexico"/>
  <caches
ivyPattern="[organisation]\\[module]\\[revision]\\[artifact]-[revision].
[ext]"
 
artifactPattern="[organisation]\\[module]\\[revision]\\[artifact]-[revis
ion].[ext]">
    <cache name="local-cache" useOrigin="true" defaultTTL="eternal">
      <ttl revision="latest.integration" duration="200ms"/>
    </cache>
  </caches>
  <resolvers>
    <chain name="local-portfolio-lookup" returnFirst="true">
      <filesystem name="local" cache="local-cache">
        <ivy
pattern="${ivy.shared.dir}\\repositories\\internal\\[organisation]\\[mod
ule]\\[revision]\\[artifact]-[revision].[ext]"/>
        <artifact
pattern="${ivy.shared.dir}\\repositories\\internal\\[organisation]\[modu
le]\\[revision]\\[artifact]-[revision].[ext]"/>
      </filesystem>
      <filesystem name="local-snapshot" cache="local-cache">
        <ivy
pattern="${ivy.shared.dir}\\repositories\\snapshots\\[organisation]\\[mo
dule]\\[revision]\\[artifact]-[revision].[ext]"/>
        <artifact
pattern="${ivy.shared.dir}\\repositories\\snapshots\\[organisation]\\[mo
dule]\\[revision]\\[artifact]-[revision].[ext]"/>
      </filesystem>
      <url name="com.springsource.repository.bundles.release">
        <ivy
pattern="http://repository.springsource.com/ivy/bundles/release/[organis
ation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
        <artifact
pattern="http://repository.springsource.com/ivy/bundles/release/[organis
ation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
      </url>
      <url name="com.springsource.repository.bundles.external">
        <ivy
pattern="http://repository.springsource.com/ivy/bundles/external/[organi
sation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
        <artifact
pattern="http://repository.springsource.com/ivy/bundles/external/[organi
sation]/[module]/[revision]/[artifact]-[revision].[ext]"/>
      </url>
      <url name="ibiblio">
        <ivy
pattern="http://www.ibiblio.org/maven/[organisation]/[type]s/[artifact]-
[revision].[ext]"/>
        <artifact
pattern="http://www.ibiblio.org/maven/[organisation]/[type]s/[artifact]-
[revision].[ext]"/>
      </url>
    </chain>
  </resolvers>
</ivysettings>

-----Original Message-----
From: Not Zippy [mailto:notzippy@gmail.com] 
Sent: Tuesday, March 20, 2012 1:59 PM
To: ivy-user@ant.apache.org
Subject: Re: 2 Questions for ivyIDE

What does your full caches element (and sub elements) look like ? Can
you email <caches ...>

</caches>

On Tue, Mar 20, 2012 at 10:53 AM, David Sills
<DS...@datasourceinc.com>wrote:

> I don't want a particular package, just all latest.integration 
> dependencies. I took the example directly from the documentation 
> (http://ant.apache.org/ivy/history/latest-milestone/settings/caches/ca
> ch e.html). Maybe it doesn't actually work?
>
> -----Original Message-----
> From: Not Zippy [mailto:notzippy@gmail.com]
> Sent: Tuesday, March 20, 2012 1:40 PM
> To: ivy-user@ant.apache.org
> Subject: Re: 2 Questions for ivyIDE
>
> Try specifying a package in the ttl
>
> On Tue, Mar 20, 2012 at 10:31 AM, David Sills
> <DS...@datasourceinc.com>wrote:
>
> > Not Zippy:
> >
> > Many thanks, but apparently I really didn't understand. With the 
> > help of the documentation, I tried:
> >
> >  <caches
> >
>
ivyPattern="[organisation]\\[module]\\[revision]\\[artifact]-[revision].
> > [ext]"
> >
> > artifactPattern="[organisation]\\[module]\\[revision]\\[artifact]-[r
> > ev
> > is
> > ion].[ext]">
> >    <cache name="local-cache" useOrigin="true" defaultTTL="eternal">
> >      <ttl revision="latest.integration" duration="200ms"/>
> >    </cache>
> >  </caches>
> >
> > What I thought I was setting was "don't bother to update most of the

> > JAR files (which are third-party and unlikely to change) but for 
> > latest.integration (all the stuff we are building) only use the 
> > cache for 200 milliseconds (essentially not doing so at all)".
> > Unfortunately, the actual result is exactly the same as before. The 
> > local repository
> > (cache) is not updated when the global repository is built to.
> >
> > Any further advice?
> >
> > David Sills
> >
> >
> > -----Original Message-----
> > From: Not Zippy [mailto:notzippy@gmail.com]
> > Sent: Tuesday, March 20, 2012 1:04 PM
> > To: ivy-user@ant.apache.org
> > Subject: Re: 2 Questions for ivyIDE
> >
> > The local repository is a cached based repository. The frequency of 
> > the updates is specified in the ivysettings file.  Check out 
> > <cache><ttl> elements (Personally I specify all my cache settings to

> > be in my "target"
> > folder, and in eclipse set the resolve to occur within the 
> > workspace)
> >
> > How are you publishing your sources in ivy ? Eclipse will retrieve 
> > them if you publish them properly.
> >
> > Steve
> >
> > On Tue, Mar 20, 2012 at 9:56 AM, David Sills
> > <DS...@datasourceinc.com>wrote:
> >
> > > All:
> > >
> > > I love working with Eclipse and ivyIDE with 2 exceptions, and I 
> > > wonder
> >
> > > if I am just missing something.
> > >
> > > My environment consists of a company-wide repository, where I 
> > > place the results of building my projects, and of course a local 
> > > repository,
> >
> > > which sometimes though not always has folders for some of the same
> > projects.
> > > As an example, let's assume that my project, say, "xxx-encryption"
> > > depends on "xxx-common". All is well and Ivy does well with it.
> > >
> > > However, I add some functionality to "xxx-common", up the build 
> > > number, and rebuild. Great. Using Eclipse, I resolve
> "xxx-encryption"
> > > and it gets the correct updated value for the version number. In 
> > > order
> >
> > > to update the "xxx-encryption" Ivy files, I build "xxx-encryption"
> > > even though there have not been any changes to the project itself,

> > > only its dependencies. The company-wide repository's version of 
> > > ivy.xml is correctly updated with the appropriate dependency on 
> > > the new version of "xxx-common". However, the local repository's 
> > > version
> > of ivy.xml is not!
> > > This means that when I have a third project, say "xxx-web", that 
> > > depends on "xxx-encryption" and try to resolve that project, the 
> > > old
>
> > > (now
> > > incorrect) version of "xxx-common" is taken, since the local 
> > > repository's version is read first if it exists.
> > >
> > > What am I missing? I find myself constantly manually updating the 
> > > files in the local repository in order to get the transitive 
> > > dependencies right.
> > >
> > > Also, can someone explain to me why my Ivy container in ivyIDE 
> > > doesn't
> >
> > > allow me to put source code locations on the JARs? That would be 
> > > hugely helpful in debugging, especially in a situation where I 
> > > have a lot of smaller projects that depend on each other and I 
> > > assemble them as needed for a specific requirement. Or do I have 
> > > to create source JAR files for each project using Ivy to make that

> > > happen? And
>
> > > will it happen if I do make source JAR files?
> > >
> > > Many thanks for anyone who can answer either or both of these
> > questions.
> > >
> > > David Sills
> > >
> > >
> >
>

Re: 2 Questions for ivyIDE

Posted by Not Zippy <no...@gmail.com>.
What does your full caches element (and sub elements) look like ? Can you
email
<caches ...>

</caches>

On Tue, Mar 20, 2012 at 10:53 AM, David Sills <DS...@datasourceinc.com>wrote:

> I don't want a particular package, just all latest.integration
> dependencies. I took the example directly from the documentation
> (http://ant.apache.org/ivy/history/latest-milestone/settings/caches/cach
> e.html). Maybe it doesn't actually work?
>
> -----Original Message-----
> From: Not Zippy [mailto:notzippy@gmail.com]
> Sent: Tuesday, March 20, 2012 1:40 PM
> To: ivy-user@ant.apache.org
> Subject: Re: 2 Questions for ivyIDE
>
> Try specifying a package in the ttl
>
> On Tue, Mar 20, 2012 at 10:31 AM, David Sills
> <DS...@datasourceinc.com>wrote:
>
> > Not Zippy:
> >
> > Many thanks, but apparently I really didn't understand. With the help
> > of the documentation, I tried:
> >
> >  <caches
> >
> ivyPattern="[organisation]\\[module]\\[revision]\\[artifact]-[revision].
> > [ext]"
> >
> > artifactPattern="[organisation]\\[module]\\[revision]\\[artifact]-[rev
> > is
> > ion].[ext]">
> >    <cache name="local-cache" useOrigin="true" defaultTTL="eternal">
> >      <ttl revision="latest.integration" duration="200ms"/>
> >    </cache>
> >  </caches>
> >
> > What I thought I was setting was "don't bother to update most of the
> > JAR files (which are third-party and unlikely to change) but for
> > latest.integration (all the stuff we are building) only use the cache
> > for 200 milliseconds (essentially not doing so at all)".
> > Unfortunately, the actual result is exactly the same as before. The
> > local repository
> > (cache) is not updated when the global repository is built to.
> >
> > Any further advice?
> >
> > David Sills
> >
> >
> > -----Original Message-----
> > From: Not Zippy [mailto:notzippy@gmail.com]
> > Sent: Tuesday, March 20, 2012 1:04 PM
> > To: ivy-user@ant.apache.org
> > Subject: Re: 2 Questions for ivyIDE
> >
> > The local repository is a cached based repository. The frequency of
> > the updates is specified in the ivysettings file.  Check out
> > <cache><ttl> elements (Personally I specify all my cache settings to
> > be in my "target"
> > folder, and in eclipse set the resolve to occur within the workspace)
> >
> > How are you publishing your sources in ivy ? Eclipse will retrieve
> > them if you publish them properly.
> >
> > Steve
> >
> > On Tue, Mar 20, 2012 at 9:56 AM, David Sills
> > <DS...@datasourceinc.com>wrote:
> >
> > > All:
> > >
> > > I love working with Eclipse and ivyIDE with 2 exceptions, and I
> > > wonder
> >
> > > if I am just missing something.
> > >
> > > My environment consists of a company-wide repository, where I place
> > > the results of building my projects, and of course a local
> > > repository,
> >
> > > which sometimes though not always has folders for some of the same
> > projects.
> > > As an example, let's assume that my project, say, "xxx-encryption"
> > > depends on "xxx-common". All is well and Ivy does well with it.
> > >
> > > However, I add some functionality to "xxx-common", up the build
> > > number, and rebuild. Great. Using Eclipse, I resolve
> "xxx-encryption"
> > > and it gets the correct updated value for the version number. In
> > > order
> >
> > > to update the "xxx-encryption" Ivy files, I build "xxx-encryption"
> > > even though there have not been any changes to the project itself,
> > > only its dependencies. The company-wide repository's version of
> > > ivy.xml is correctly updated with the appropriate dependency on the
> > > new version of "xxx-common". However, the local repository's version
> > of ivy.xml is not!
> > > This means that when I have a third project, say "xxx-web", that
> > > depends on "xxx-encryption" and try to resolve that project, the old
>
> > > (now
> > > incorrect) version of "xxx-common" is taken, since the local
> > > repository's version is read first if it exists.
> > >
> > > What am I missing? I find myself constantly manually updating the
> > > files in the local repository in order to get the transitive
> > > dependencies right.
> > >
> > > Also, can someone explain to me why my Ivy container in ivyIDE
> > > doesn't
> >
> > > allow me to put source code locations on the JARs? That would be
> > > hugely helpful in debugging, especially in a situation where I have
> > > a lot of smaller projects that depend on each other and I assemble
> > > them as needed for a specific requirement. Or do I have to create
> > > source JAR files for each project using Ivy to make that happen? And
>
> > > will it happen if I do make source JAR files?
> > >
> > > Many thanks for anyone who can answer either or both of these
> > questions.
> > >
> > > David Sills
> > >
> > >
> >
>

RE: 2 Questions for ivyIDE

Posted by David Sills <DS...@datasourceinc.com>.
I don't want a particular package, just all latest.integration
dependencies. I took the example directly from the documentation
(http://ant.apache.org/ivy/history/latest-milestone/settings/caches/cach
e.html). Maybe it doesn't actually work?

-----Original Message-----
From: Not Zippy [mailto:notzippy@gmail.com] 
Sent: Tuesday, March 20, 2012 1:40 PM
To: ivy-user@ant.apache.org
Subject: Re: 2 Questions for ivyIDE

Try specifying a package in the ttl

On Tue, Mar 20, 2012 at 10:31 AM, David Sills
<DS...@datasourceinc.com>wrote:

> Not Zippy:
>
> Many thanks, but apparently I really didn't understand. With the help 
> of the documentation, I tried:
>
>  <caches
>
ivyPattern="[organisation]\\[module]\\[revision]\\[artifact]-[revision].
> [ext]"
>
> artifactPattern="[organisation]\\[module]\\[revision]\\[artifact]-[rev
> is
> ion].[ext]">
>    <cache name="local-cache" useOrigin="true" defaultTTL="eternal">
>      <ttl revision="latest.integration" duration="200ms"/>
>    </cache>
>  </caches>
>
> What I thought I was setting was "don't bother to update most of the 
> JAR files (which are third-party and unlikely to change) but for 
> latest.integration (all the stuff we are building) only use the cache 
> for 200 milliseconds (essentially not doing so at all)". 
> Unfortunately, the actual result is exactly the same as before. The 
> local repository
> (cache) is not updated when the global repository is built to.
>
> Any further advice?
>
> David Sills
>
>
> -----Original Message-----
> From: Not Zippy [mailto:notzippy@gmail.com]
> Sent: Tuesday, March 20, 2012 1:04 PM
> To: ivy-user@ant.apache.org
> Subject: Re: 2 Questions for ivyIDE
>
> The local repository is a cached based repository. The frequency of 
> the updates is specified in the ivysettings file.  Check out 
> <cache><ttl> elements (Personally I specify all my cache settings to 
> be in my "target"
> folder, and in eclipse set the resolve to occur within the workspace)
>
> How are you publishing your sources in ivy ? Eclipse will retrieve 
> them if you publish them properly.
>
> Steve
>
> On Tue, Mar 20, 2012 at 9:56 AM, David Sills
> <DS...@datasourceinc.com>wrote:
>
> > All:
> >
> > I love working with Eclipse and ivyIDE with 2 exceptions, and I 
> > wonder
>
> > if I am just missing something.
> >
> > My environment consists of a company-wide repository, where I place 
> > the results of building my projects, and of course a local 
> > repository,
>
> > which sometimes though not always has folders for some of the same
> projects.
> > As an example, let's assume that my project, say, "xxx-encryption"
> > depends on "xxx-common". All is well and Ivy does well with it.
> >
> > However, I add some functionality to "xxx-common", up the build 
> > number, and rebuild. Great. Using Eclipse, I resolve
"xxx-encryption"
> > and it gets the correct updated value for the version number. In 
> > order
>
> > to update the "xxx-encryption" Ivy files, I build "xxx-encryption"
> > even though there have not been any changes to the project itself, 
> > only its dependencies. The company-wide repository's version of 
> > ivy.xml is correctly updated with the appropriate dependency on the 
> > new version of "xxx-common". However, the local repository's version
> of ivy.xml is not!
> > This means that when I have a third project, say "xxx-web", that 
> > depends on "xxx-encryption" and try to resolve that project, the old

> > (now
> > incorrect) version of "xxx-common" is taken, since the local 
> > repository's version is read first if it exists.
> >
> > What am I missing? I find myself constantly manually updating the 
> > files in the local repository in order to get the transitive 
> > dependencies right.
> >
> > Also, can someone explain to me why my Ivy container in ivyIDE 
> > doesn't
>
> > allow me to put source code locations on the JARs? That would be 
> > hugely helpful in debugging, especially in a situation where I have 
> > a lot of smaller projects that depend on each other and I assemble 
> > them as needed for a specific requirement. Or do I have to create 
> > source JAR files for each project using Ivy to make that happen? And

> > will it happen if I do make source JAR files?
> >
> > Many thanks for anyone who can answer either or both of these
> questions.
> >
> > David Sills
> >
> >
>

Re: 2 Questions for ivyIDE

Posted by Not Zippy <no...@gmail.com>.
Try specifying a package in the ttl

On Tue, Mar 20, 2012 at 10:31 AM, David Sills <DS...@datasourceinc.com>wrote:

> Not Zippy:
>
> Many thanks, but apparently I really didn't understand. With the help of
> the documentation, I tried:
>
>  <caches
> ivyPattern="[organisation]\\[module]\\[revision]\\[artifact]-[revision].
> [ext]"
>
> artifactPattern="[organisation]\\[module]\\[revision]\\[artifact]-[revis
> ion].[ext]">
>    <cache name="local-cache" useOrigin="true" defaultTTL="eternal">
>      <ttl revision="latest.integration" duration="200ms"/>
>    </cache>
>  </caches>
>
> What I thought I was setting was "don't bother to update most of the JAR
> files (which are third-party and unlikely to change) but for
> latest.integration (all the stuff we are building) only use the cache
> for 200 milliseconds (essentially not doing so at all)". Unfortunately,
> the actual result is exactly the same as before. The local repository
> (cache) is not updated when the global repository is built to.
>
> Any further advice?
>
> David Sills
>
>
> -----Original Message-----
> From: Not Zippy [mailto:notzippy@gmail.com]
> Sent: Tuesday, March 20, 2012 1:04 PM
> To: ivy-user@ant.apache.org
> Subject: Re: 2 Questions for ivyIDE
>
> The local repository is a cached based repository. The frequency of the
> updates is specified in the ivysettings file.  Check out <cache><ttl>
> elements (Personally I specify all my cache settings to be in my
> "target"
> folder, and in eclipse set the resolve to occur within the workspace)
>
> How are you publishing your sources in ivy ? Eclipse will retrieve them
> if you publish them properly.
>
> Steve
>
> On Tue, Mar 20, 2012 at 9:56 AM, David Sills
> <DS...@datasourceinc.com>wrote:
>
> > All:
> >
> > I love working with Eclipse and ivyIDE with 2 exceptions, and I wonder
>
> > if I am just missing something.
> >
> > My environment consists of a company-wide repository, where I place
> > the results of building my projects, and of course a local repository,
>
> > which sometimes though not always has folders for some of the same
> projects.
> > As an example, let's assume that my project, say, "xxx-encryption"
> > depends on "xxx-common". All is well and Ivy does well with it.
> >
> > However, I add some functionality to "xxx-common", up the build
> > number, and rebuild. Great. Using Eclipse, I resolve "xxx-encryption"
> > and it gets the correct updated value for the version number. In order
>
> > to update the "xxx-encryption" Ivy files, I build "xxx-encryption"
> > even though there have not been any changes to the project itself,
> > only its dependencies. The company-wide repository's version of
> > ivy.xml is correctly updated with the appropriate dependency on the
> > new version of "xxx-common". However, the local repository's version
> of ivy.xml is not!
> > This means that when I have a third project, say "xxx-web", that
> > depends on "xxx-encryption" and try to resolve that project, the old
> > (now
> > incorrect) version of "xxx-common" is taken, since the local
> > repository's version is read first if it exists.
> >
> > What am I missing? I find myself constantly manually updating the
> > files in the local repository in order to get the transitive
> > dependencies right.
> >
> > Also, can someone explain to me why my Ivy container in ivyIDE doesn't
>
> > allow me to put source code locations on the JARs? That would be
> > hugely helpful in debugging, especially in a situation where I have a
> > lot of smaller projects that depend on each other and I assemble them
> > as needed for a specific requirement. Or do I have to create source
> > JAR files for each project using Ivy to make that happen? And will it
> > happen if I do make source JAR files?
> >
> > Many thanks for anyone who can answer either or both of these
> questions.
> >
> > David Sills
> >
> >
>

RE: 2 Questions for ivyIDE

Posted by David Sills <DS...@datasourceinc.com>.
Not Zippy:

Many thanks, but apparently I really didn't understand. With the help of
the documentation, I tried:

  <caches
ivyPattern="[organisation]\\[module]\\[revision]\\[artifact]-[revision].
[ext]"
 
artifactPattern="[organisation]\\[module]\\[revision]\\[artifact]-[revis
ion].[ext]">
    <cache name="local-cache" useOrigin="true" defaultTTL="eternal">
      <ttl revision="latest.integration" duration="200ms"/>
    </cache>
  </caches>

What I thought I was setting was "don't bother to update most of the JAR
files (which are third-party and unlikely to change) but for
latest.integration (all the stuff we are building) only use the cache
for 200 milliseconds (essentially not doing so at all)". Unfortunately,
the actual result is exactly the same as before. The local repository
(cache) is not updated when the global repository is built to.

Any further advice?

David Sills


-----Original Message-----
From: Not Zippy [mailto:notzippy@gmail.com] 
Sent: Tuesday, March 20, 2012 1:04 PM
To: ivy-user@ant.apache.org
Subject: Re: 2 Questions for ivyIDE

The local repository is a cached based repository. The frequency of the
updates is specified in the ivysettings file.  Check out <cache><ttl>
elements (Personally I specify all my cache settings to be in my
"target"
folder, and in eclipse set the resolve to occur within the workspace)

How are you publishing your sources in ivy ? Eclipse will retrieve them
if you publish them properly.

Steve

On Tue, Mar 20, 2012 at 9:56 AM, David Sills
<DS...@datasourceinc.com>wrote:

> All:
>
> I love working with Eclipse and ivyIDE with 2 exceptions, and I wonder

> if I am just missing something.
>
> My environment consists of a company-wide repository, where I place 
> the results of building my projects, and of course a local repository,

> which sometimes though not always has folders for some of the same
projects.
> As an example, let's assume that my project, say, "xxx-encryption"
> depends on "xxx-common". All is well and Ivy does well with it.
>
> However, I add some functionality to "xxx-common", up the build 
> number, and rebuild. Great. Using Eclipse, I resolve "xxx-encryption" 
> and it gets the correct updated value for the version number. In order

> to update the "xxx-encryption" Ivy files, I build "xxx-encryption" 
> even though there have not been any changes to the project itself, 
> only its dependencies. The company-wide repository's version of 
> ivy.xml is correctly updated with the appropriate dependency on the 
> new version of "xxx-common". However, the local repository's version
of ivy.xml is not!
> This means that when I have a third project, say "xxx-web", that 
> depends on "xxx-encryption" and try to resolve that project, the old 
> (now
> incorrect) version of "xxx-common" is taken, since the local 
> repository's version is read first if it exists.
>
> What am I missing? I find myself constantly manually updating the 
> files in the local repository in order to get the transitive 
> dependencies right.
>
> Also, can someone explain to me why my Ivy container in ivyIDE doesn't

> allow me to put source code locations on the JARs? That would be 
> hugely helpful in debugging, especially in a situation where I have a 
> lot of smaller projects that depend on each other and I assemble them 
> as needed for a specific requirement. Or do I have to create source 
> JAR files for each project using Ivy to make that happen? And will it 
> happen if I do make source JAR files?
>
> Many thanks for anyone who can answer either or both of these
questions.
>
> David Sills
>
>

Re: 2 Questions for ivyIDE

Posted by Not Zippy <no...@gmail.com>.
The local repository is a cached based repository. The frequency of the
updates is specified in the ivysettings file.  Check out <cache><ttl>
elements (Personally I specify all my cache settings to be in my "target"
folder, and in eclipse set the resolve to occur within the workspace)

How are you publishing your sources in ivy ? Eclipse will retrieve them if
you publish them properly.

Steve

On Tue, Mar 20, 2012 at 9:56 AM, David Sills <DS...@datasourceinc.com>wrote:

> All:
>
> I love working with Eclipse and ivyIDE with 2 exceptions, and I wonder
> if I am just missing something.
>
> My environment consists of a company-wide repository, where I place the
> results of building my projects, and of course a local repository, which
> sometimes though not always has folders for some of the same projects.
> As an example, let's assume that my project, say, "xxx-encryption"
> depends on "xxx-common". All is well and Ivy does well with it.
>
> However, I add some functionality to "xxx-common", up the build number,
> and rebuild. Great. Using Eclipse, I resolve "xxx-encryption" and it
> gets the correct updated value for the version number. In order to
> update the "xxx-encryption" Ivy files, I build "xxx-encryption" even
> though there have not been any changes to the project itself, only its
> dependencies. The company-wide repository's version of ivy.xml is
> correctly updated with the appropriate dependency on the new version of
> "xxx-common". However, the local repository's version of ivy.xml is not!
> This means that when I have a third project, say "xxx-web", that depends
> on "xxx-encryption" and try to resolve that project, the old (now
> incorrect) version of "xxx-common" is taken, since the local
> repository's version is read first if it exists.
>
> What am I missing? I find myself constantly manually updating the files
> in the local repository in order to get the transitive dependencies
> right.
>
> Also, can someone explain to me why my Ivy container in ivyIDE doesn't
> allow me to put source code locations on the JARs? That would be hugely
> helpful in debugging, especially in a situation where I have a lot of
> smaller projects that depend on each other and I assemble them as needed
> for a specific requirement. Or do I have to create source JAR files for
> each project using Ivy to make that happen? And will it happen if I do
> make source JAR files?
>
> Many thanks for anyone who can answer either or both of these questions.
>
> David Sills
>
>

RE: 2 Questions for ivyIDE

Posted by David Sills <DS...@datasourceinc.com>.
All:

Many thanks for all the help. Debugging seems to be working fine now.
Now that I understand the Ivy way of doing things, it makes sense in the
larger context of using Ivy for dependency management.

David Sills


-----Original Message-----
From: archie.cobbs@gmail.com [mailto:archie.cobbs@gmail.com] On Behalf
Of Archie Cobbs
Sent: Friday, March 23, 2012 5:04 PM
To: ivy-user@ant.apache.org
Subject: Re: 2 Questions for ivyIDE

FYI,

You can tell IvyDE to link sources and javadocs explicitly using custom
attributes in your ivy.xml.

See http://ant.apache.org/ivy/ivyde/history/trunk/cpc/jarmapping.html

-Archie

On Fri, Mar 23, 2012 at 6:28 AM, David Sills
<DS...@datasourceinc.com>wrote:

> All:
>
> Many thanks to all who answered. I can finally publish sources (we'll 
> see how the debugging goes). I was wondering one point, however. If I 
> understood correctly, at least for the moment the name to use for 
> source files is:
>
> dsi-common-src-1.5.5.jar
>
> As I understand it, there is at least a chance that this will work 
> with Eclipse and ivyIDE in the debugger.
>
> Is there an equivalent form for Javadoc? Say,
>
> dsi-common-api-1.5.5.jar
>
> or some such?
>
> Thanks!
>
> David Sills
>
>


--
Archie L. Cobbs

Re: 2 Questions for ivyIDE

Posted by Archie Cobbs <ar...@dellroad.org>.
FYI,

You can tell IvyDE to link sources and javadocs explicitly using custom
attributes in your ivy.xml.

See http://ant.apache.org/ivy/ivyde/history/trunk/cpc/jarmapping.html

-Archie

On Fri, Mar 23, 2012 at 6:28 AM, David Sills <DS...@datasourceinc.com>wrote:

> All:
>
> Many thanks to all who answered. I can finally publish sources (we'll
> see how the debugging goes). I was wondering one point, however. If I
> understood correctly, at least for the moment the name to use for source
> files is:
>
> dsi-common-src-1.5.5.jar
>
> As I understand it, there is at least a chance that this will work with
> Eclipse and ivyIDE in the debugger.
>
> Is there an equivalent form for Javadoc? Say,
>
> dsi-common-api-1.5.5.jar
>
> or some such?
>
> Thanks!
>
> David Sills
>
>


-- 
Archie L. Cobbs

Re: 2 Questions for ivyIDE

Posted by Not Zippy <no...@gmail.com>.
If you look at eclipse Window->Preferences , Ivy->Classpath you will see
the suffix that eclipse will retrieve. javadoc is artifact type javadoc,
and suffix -javadoc


On Fri, Mar 23, 2012 at 4:28 AM, David Sills <DS...@datasourceinc.com>wrote:

> All:
>
> Many thanks to all who answered. I can finally publish sources (we'll
> see how the debugging goes). I was wondering one point, however. If I
> understood correctly, at least for the moment the name to use for source
> files is:
>
> dsi-common-src-1.5.5.jar
>
> As I understand it, there is at least a chance that this will work with
> Eclipse and ivyIDE in the debugger.
>
> Is there an equivalent form for Javadoc? Say,
>
> dsi-common-api-1.5.5.jar
>
> or some such?
>
> Thanks!
>
> David Sills
>
>

RE: 2 Questions for ivyIDE

Posted by David Sills <DS...@datasourceinc.com>.
All:

Many thanks to all who answered. I can finally publish sources (we'll
see how the debugging goes). I was wondering one point, however. If I
understood correctly, at least for the moment the name to use for source
files is:

dsi-common-src-1.5.5.jar

As I understand it, there is at least a chance that this will work with
Eclipse and ivyIDE in the debugger.

Is there an equivalent form for Javadoc? Say,

dsi-common-api-1.5.5.jar

or some such?

Thanks!

David Sills


Re: 2 Questions for ivyIDE

Posted by Jasper Floor <ja...@m4n.nl>.
On Tue, Mar 20, 2012 at 7:05 PM, Alan Chaney <al...@writingshow.com> wrote:
> On 3/20/2012 10:51 AM, David Sills wrote:
>>
>> What an interesting problem. I still haven't been able to publish source
>> files correctly. You indicated that the file name must be
>
> The publications element could look something like:
> <publications>
> <artifact/>
> <artifact  type="source" ext="zip"/>
> </publications>
>
> By default, this will give you someproject-1.2.3.zip  if the revision is
> 1.2.3.  The publications pattern is controlled by 'artifactspattern' in the
> publish task - default is: ${ivy.publish.src.artifacts.pattern} - see Ivy
> docs:
>
> http://ant.apache.org/ivy/history/2.2.0/use/publish.html

Hi,

Ivy newcomer mysefl but I have managed to publish sources What worked
for me is pretty much as was stated above, but for what its worth here
is my publications element:

    <publications>
        <artifact type="jar" conf="build"/>
        <artifact type="pom" />
        <artifact type="src" name="project_src" ext="jar" conf="build"/>
    </publications>

So I publish project.jar, project.pom and project_src.jar. The big
difference from above is the name element. This makes sure I get
project_src.jar rather than project.jar (which I already have via the
artifact type="jar" element). Trying to publish the library and source
under the same name doesn't work very well.

This is my publish task:

    <target name="publish" depends="build_common.init-ivy, jar,jar-src" >
        <ivy:deliver pubrevision="${artifact.revision}"
deliverpattern="dist/ivy.xml" status="${artifact.status}"/>
        <ivy:makepom ivyfile="dist/ivy.xml" pomfile="dist/project.pom"
settingsRef="compnay.settings" />
        <ivy:publish resolver="publish" update="true"
artifactspattern="dist/[artifact].[ext]" conf="build"
revision="${artifact.revision}" status="${artifact.status}"
overwrite="${artifact.overwrite}" settingsRef="company.settings" />
    </target>

Deliver makes an ivy.xml, makepom uses that to make a pom (actually,
not sure if I need to do a deliver first but it works) and publish
puts all that in a company Nexus/Maven repository. There really is no
more to it than that.

mvg,
Jasper

Re: 2 Questions for ivyIDE

Posted by Alan Chaney <al...@writingshow.com>.
On 3/20/2012 10:51 AM, David Sills wrote:
> What an interesting problem. I still haven't been able to publish source
> files correctly. You indicated that the file name must be
>
> someproject-src.jar
>
> Does "someproject" include the version number? I'm trying every
> combination I can think of to get the source file (which of course I
> have easily assembled) published, and nothing at all is working, with
> version number or without.
>
> Thanks for your help!
The publications element could look something like:
<publications>
<artifact/>
<artifact  type="source" ext="zip"/>
</publications>

By default, this will give you someproject-1.2.3.zip  if the revision is 
1.2.3.  The publications pattern is controlled by 'artifactspattern' in 
the publish task - default is: ${ivy.publish.src.artifacts.pattern} - 
see Ivy docs:

http://ant.apache.org/ivy/history/2.2.0/use/publish.html


Alan





>
> David Sills
>
>
> -----Original Message-----
> From: Alan Chaney [mailto:alan@writingshow.com]
> Sent: Tuesday, March 20, 2012 1:12 PM
> To: ivy-user@ant.apache.org
> Subject: Re: 2 Questions for ivyIDE
>
> Hi,
>
> I can't comment on the first part of your answer, but I have commented
> in line on the sources issue.
>
> On 3/20/2012 9:56 AM, David Sills wrote:
>> All:
>>
>> I love working with Eclipse and ivyIDE with 2 exceptions, and I wonder
>> if I am just missing something.
>>
>> My environment consists of a company-wide repository, where I place
>> the results of building my projects, and of course a local repository,
>> which sometimes though not always has folders for some of the same
> projects.
>> As an example, let's assume that my project, say, "xxx-encryption"
>> depends on "xxx-common". All is well and Ivy does well with it.
>>
>> However, I add some functionality to "xxx-common", up the build
>> number, and rebuild. Great. Using Eclipse, I resolve "xxx-encryption"
>> and it gets the correct updated value for the version number. In order
>> to update the "xxx-encryption" Ivy files, I build "xxx-encryption"
>> even though there have not been any changes to the project itself,
>> only its dependencies. The company-wide repository's version of
>> ivy.xml is correctly updated with the appropriate dependency on the
>> new version of "xxx-common". However, the local repository's version
> of ivy.xml is not!
>> This means that when I have a third project, say "xxx-web", that
>> depends on "xxx-encryption" and try to resolve that project, the old
>> (now
>> incorrect) version of "xxx-common" is taken, since the local
>> repository's version is read first if it exists.
>>
>> What am I missing? I find myself constantly manually updating the
>> files in the local repository in order to get the transitive
>> dependencies right.
>>
>> Also, can someone explain to me why my Ivy container in ivyIDE doesn't
>> allow me to put source code locations on the JARs? That would be
>> hugely helpful in debugging, especially in a situation where I have a
>> lot of smaller projects that depend on each other and I assemble them
>> as needed for a specific requirement. Or do I have to create source
>> JAR files for each project using Ivy to make that happen? And will it
>> happen if I do make source JAR files?
> I don't quite understand what you mean by "source code locations on the
> JARs". Its possible to publish  Ivy artifacts for sources and javadocs
> (or anything else for that matter.) You need to add them to the
> publications section of your Ivy module.
>
> Also, see this thread:
>
> http://old.nabble.com/Ivyde%2C-ivy-roundup-and-%27source%27-td33388096.h
> tml
>
> With the current released version you need to have the source and
> javadocs artifacts named with a pattern like:
>
> someproject-src.jar
>
> or
> someproject-src.zip
>
>
> However, there are a lot of ivy files out there which define the sources
> as source.jar or source.zip. The next release of ivyde will, hopefully,
> rectify this by adding in some additional metadata.
>
> In the mean time, if you have a corporate repository, you can simply
> arrange a folder structure that complies with existing mechanism and
> update your third party ivy files correspondingly. I've done this for
> one client using XSLT and an ant script.
>
> HTH
>
> ALan
>
>
>
>> Many thanks for anyone who can answer either or both of these
> questions.
>> David Sills
>>


RE: 2 Questions for ivyIDE

Posted by David Sills <DS...@datasourceinc.com>.
What an interesting problem. I still haven't been able to publish source
files correctly. You indicated that the file name must be

someproject-src.jar

Does "someproject" include the version number? I'm trying every
combination I can think of to get the source file (which of course I
have easily assembled) published, and nothing at all is working, with
version number or without.

Thanks for your help!

David Sills


-----Original Message-----
From: Alan Chaney [mailto:alan@writingshow.com] 
Sent: Tuesday, March 20, 2012 1:12 PM
To: ivy-user@ant.apache.org
Subject: Re: 2 Questions for ivyIDE

Hi,

I can't comment on the first part of your answer, but I have commented
in line on the sources issue.

On 3/20/2012 9:56 AM, David Sills wrote:
> All:
>
> I love working with Eclipse and ivyIDE with 2 exceptions, and I wonder

> if I am just missing something.
>
> My environment consists of a company-wide repository, where I place 
> the results of building my projects, and of course a local repository,

> which sometimes though not always has folders for some of the same
projects.
> As an example, let's assume that my project, say, "xxx-encryption"
> depends on "xxx-common". All is well and Ivy does well with it.
>
> However, I add some functionality to "xxx-common", up the build 
> number, and rebuild. Great. Using Eclipse, I resolve "xxx-encryption" 
> and it gets the correct updated value for the version number. In order

> to update the "xxx-encryption" Ivy files, I build "xxx-encryption" 
> even though there have not been any changes to the project itself, 
> only its dependencies. The company-wide repository's version of 
> ivy.xml is correctly updated with the appropriate dependency on the 
> new version of "xxx-common". However, the local repository's version
of ivy.xml is not!
> This means that when I have a third project, say "xxx-web", that 
> depends on "xxx-encryption" and try to resolve that project, the old 
> (now
> incorrect) version of "xxx-common" is taken, since the local 
> repository's version is read first if it exists.
>
> What am I missing? I find myself constantly manually updating the 
> files in the local repository in order to get the transitive 
> dependencies right.
>
> Also, can someone explain to me why my Ivy container in ivyIDE doesn't

> allow me to put source code locations on the JARs? That would be 
> hugely helpful in debugging, especially in a situation where I have a 
> lot of smaller projects that depend on each other and I assemble them 
> as needed for a specific requirement. Or do I have to create source 
> JAR files for each project using Ivy to make that happen? And will it 
> happen if I do make source JAR files?
I don't quite understand what you mean by "source code locations on the
JARs". Its possible to publish  Ivy artifacts for sources and javadocs
(or anything else for that matter.) You need to add them to the
publications section of your Ivy module.

Also, see this thread:

http://old.nabble.com/Ivyde%2C-ivy-roundup-and-%27source%27-td33388096.h
tml

With the current released version you need to have the source and
javadocs artifacts named with a pattern like:

someproject-src.jar

or
someproject-src.zip


However, there are a lot of ivy files out there which define the sources
as source.jar or source.zip. The next release of ivyde will, hopefully,
rectify this by adding in some additional metadata.

In the mean time, if you have a corporate repository, you can simply
arrange a folder structure that complies with existing mechanism and
update your third party ivy files correspondingly. I've done this for
one client using XSLT and an ant script.

HTH

ALan



> Many thanks for anyone who can answer either or both of these
questions.
>
> David Sills
>


Re: 2 Questions for ivyIDE

Posted by Alan Chaney <al...@writingshow.com>.
On 3/20/2012 11:03 AM, David Sills wrote:
> I see that the Ivy way is better once you are using Ivy, but it's
> frustrating when I can't figure out how to publish sources in the first
> place....
>
> -----Original Message-----
> From: Not Zippy [mailto:notzippy@gmail.com]
> Sent: Tuesday, March 20, 2012 2:01 PM
> To: ivy-user@ant.apache.org
> Subject: Re: 2 Questions for ivyIDE
>
> Eclipse may be a bit more flexible, but it is better to encapsulate it
> the way ivy does.
Well, the way I'd look at it is that Eclipse allows you to define how 
things are used in the scope of a project (or workspace) - the classpath 
in Eclipse is metadata describing the organization of the project which 
you store in the project.

On the other hand, Ivy allows you to generate things which may be used 
outside of the specific project in which they were created by using the 
publications element to create artifacts such as jars, sources, etc.

Alan



>
> On Tue, Mar 20, 2012 at 10:57 AM, David Sills
> <DS...@datasourceinc.com>wrote:
>
>> Oh, Alan, and what I meant is that on the regular Eclipse project
>> classpath one is allowed to supply source code locations along with a
>> JAR file added to the classpath. This can be another JAR or a
> directory.
>> I understand now that Ivy processes this differently. Pity, since the
>> Eclipse methodology is far more flexible.
>>
>>


Re: 2 Questions for ivyIDE

Posted by Roger <ro...@gmail.com>.
I avoid using latest.integration because it always has to go back to the 
repo to check for a later version rather than use the cache.
It does mean you have to release a new version of your 3rd tier 
dependencies to get a change in your first tier picked up but I see that 
as a good thing.

R
On 21/03/12 07:03, David Sills wrote:
> I see that the Ivy way is better once you are using Ivy, but it's
> frustrating when I can't figure out how to publish sources in the first
> place....
>
> -----Original Message-----
> From: Not Zippy [mailto:notzippy@gmail.com]
> Sent: Tuesday, March 20, 2012 2:01 PM
> To: ivy-user@ant.apache.org
> Subject: Re: 2 Questions for ivyIDE
>
> Eclipse may be a bit more flexible, but it is better to encapsulate it
> the way ivy does.
>
> On Tue, Mar 20, 2012 at 10:57 AM, David Sills
> <DS...@datasourceinc.com>wrote:
>
>> Oh, Alan, and what I meant is that on the regular Eclipse project
>> classpath one is allowed to supply source code locations along with a
>> JAR file added to the classpath. This can be another JAR or a
> directory.
>> I understand now that Ivy processes this differently. Pity, since the
>> Eclipse methodology is far more flexible.
>>
>>


RE: 2 Questions for ivyIDE

Posted by David Sills <DS...@datasourceinc.com>.
I see that the Ivy way is better once you are using Ivy, but it's
frustrating when I can't figure out how to publish sources in the first
place....

-----Original Message-----
From: Not Zippy [mailto:notzippy@gmail.com] 
Sent: Tuesday, March 20, 2012 2:01 PM
To: ivy-user@ant.apache.org
Subject: Re: 2 Questions for ivyIDE

Eclipse may be a bit more flexible, but it is better to encapsulate it
the way ivy does.

On Tue, Mar 20, 2012 at 10:57 AM, David Sills
<DS...@datasourceinc.com>wrote:

> Oh, Alan, and what I meant is that on the regular Eclipse project 
> classpath one is allowed to supply source code locations along with a 
> JAR file added to the classpath. This can be another JAR or a
directory.
> I understand now that Ivy processes this differently. Pity, since the 
> Eclipse methodology is far more flexible.
>
>

Re: 2 Questions for ivyIDE

Posted by Not Zippy <no...@gmail.com>.
Eclipse may be a bit more flexible, but it is better to encapsulate it the
way ivy does.

On Tue, Mar 20, 2012 at 10:57 AM, David Sills <DS...@datasourceinc.com>wrote:

> Oh, Alan, and what I meant is that on the regular Eclipse project
> classpath one is allowed to supply source code locations along with a
> JAR file added to the classpath. This can be another JAR or a directory.
> I understand now that Ivy processes this differently. Pity, since the
> Eclipse methodology is far more flexible.
>
>

RE: 2 Questions for ivyIDE

Posted by David Sills <DS...@datasourceinc.com>.
Oh, Alan, and what I meant is that on the regular Eclipse project
classpath one is allowed to supply source code locations along with a
JAR file added to the classpath. This can be another JAR or a directory.
I understand now that Ivy processes this differently. Pity, since the
Eclipse methodology is far more flexible.

-----Original Message-----
From: Alan Chaney [mailto:alan@writingshow.com] 
Sent: Tuesday, March 20, 2012 1:12 PM
To: ivy-user@ant.apache.org
Subject: Re: 2 Questions for ivyIDE

Hi,

I can't comment on the first part of your answer, but I have commented
in line on the sources issue.

On 3/20/2012 9:56 AM, David Sills wrote:
> All:
>
> I love working with Eclipse and ivyIDE with 2 exceptions, and I wonder

> if I am just missing something.
>
> My environment consists of a company-wide repository, where I place 
> the results of building my projects, and of course a local repository,

> which sometimes though not always has folders for some of the same
projects.
> As an example, let's assume that my project, say, "xxx-encryption"
> depends on "xxx-common". All is well and Ivy does well with it.
>
> However, I add some functionality to "xxx-common", up the build 
> number, and rebuild. Great. Using Eclipse, I resolve "xxx-encryption" 
> and it gets the correct updated value for the version number. In order

> to update the "xxx-encryption" Ivy files, I build "xxx-encryption" 
> even though there have not been any changes to the project itself, 
> only its dependencies. The company-wide repository's version of 
> ivy.xml is correctly updated with the appropriate dependency on the 
> new version of "xxx-common". However, the local repository's version
of ivy.xml is not!
> This means that when I have a third project, say "xxx-web", that 
> depends on "xxx-encryption" and try to resolve that project, the old 
> (now
> incorrect) version of "xxx-common" is taken, since the local 
> repository's version is read first if it exists.
>
> What am I missing? I find myself constantly manually updating the 
> files in the local repository in order to get the transitive 
> dependencies right.
>
> Also, can someone explain to me why my Ivy container in ivyIDE doesn't

> allow me to put source code locations on the JARs? That would be 
> hugely helpful in debugging, especially in a situation where I have a 
> lot of smaller projects that depend on each other and I assemble them 
> as needed for a specific requirement. Or do I have to create source 
> JAR files for each project using Ivy to make that happen? And will it 
> happen if I do make source JAR files?
I don't quite understand what you mean by "source code locations on the
JARs". Its possible to publish  Ivy artifacts for sources and javadocs
(or anything else for that matter.) You need to add them to the
publications section of your Ivy module.

Also, see this thread:

http://old.nabble.com/Ivyde%2C-ivy-roundup-and-%27source%27-td33388096.h
tml

With the current released version you need to have the source and
javadocs artifacts named with a pattern like:

someproject-src.jar

or
someproject-src.zip


However, there are a lot of ivy files out there which define the sources
as source.jar or source.zip. The next release of ivyde will, hopefully,
rectify this by adding in some additional metadata.

In the mean time, if you have a corporate repository, you can simply
arrange a folder structure that complies with existing mechanism and
update your third party ivy files correspondingly. I've done this for
one client using XSLT and an ant script.

HTH

ALan



> Many thanks for anyone who can answer either or both of these
questions.
>
> David Sills
>


Re: 2 Questions for ivyIDE

Posted by Alan Chaney <al...@writingshow.com>.
Hi,

I can't comment on the first part of your answer, but I have commented 
in line on the sources issue.

On 3/20/2012 9:56 AM, David Sills wrote:
> All:
>
> I love working with Eclipse and ivyIDE with 2 exceptions, and I wonder
> if I am just missing something.
>
> My environment consists of a company-wide repository, where I place the
> results of building my projects, and of course a local repository, which
> sometimes though not always has folders for some of the same projects.
> As an example, let's assume that my project, say, "xxx-encryption"
> depends on "xxx-common". All is well and Ivy does well with it.
>
> However, I add some functionality to "xxx-common", up the build number,
> and rebuild. Great. Using Eclipse, I resolve "xxx-encryption" and it
> gets the correct updated value for the version number. In order to
> update the "xxx-encryption" Ivy files, I build "xxx-encryption" even
> though there have not been any changes to the project itself, only its
> dependencies. The company-wide repository's version of ivy.xml is
> correctly updated with the appropriate dependency on the new version of
> "xxx-common". However, the local repository's version of ivy.xml is not!
> This means that when I have a third project, say "xxx-web", that depends
> on "xxx-encryption" and try to resolve that project, the old (now
> incorrect) version of "xxx-common" is taken, since the local
> repository's version is read first if it exists.
>
> What am I missing? I find myself constantly manually updating the files
> in the local repository in order to get the transitive dependencies
> right.
>
> Also, can someone explain to me why my Ivy container in ivyIDE doesn't
> allow me to put source code locations on the JARs? That would be hugely
> helpful in debugging, especially in a situation where I have a lot of
> smaller projects that depend on each other and I assemble them as needed
> for a specific requirement. Or do I have to create source JAR files for
> each project using Ivy to make that happen? And will it happen if I do
> make source JAR files?
I don't quite understand what you mean by "source code locations on the 
JARs". Its possible to publish  Ivy artifacts for sources and javadocs  
(or anything else for that matter.) You need to add them to the 
publications section of your Ivy module.

Also, see this thread:

http://old.nabble.com/Ivyde%2C-ivy-roundup-and-%27source%27-td33388096.html

With the current released version you need to have the source and 
javadocs artifacts named with a pattern like:

someproject-src.jar

or
someproject-src.zip


However, there are a lot of ivy files out there which define the sources 
as source.jar or source.zip. The next release of ivyde will, hopefully, 
rectify this by adding in some additional metadata.

In the mean time, if you have a corporate repository, you can simply 
arrange a folder structure that complies with existing mechanism and 
update your third party ivy files correspondingly. I've done this for 
one client using XSLT and an ant script.

HTH

ALan



> Many thanks for anyone who can answer either or both of these questions.
>
> David Sills
>