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