KARR, DAVID | 13 Jan 23:04 2014

Can Ivy resolve and retrieve multiple versions of the same artifact?

In our big Ant build, another team provides a jar which is associated with a version of a WSDL.  The classes in
the jar are all JAXB pojos.  The package of all the classes in the jar has the release number as one of the path
elements.  We even use multiple different copies of this jar file in a single build.  These don't conflict
because the package paths are independent.

I've never tried to do this with Maven, but can Ivy have multiple dependencies for the same artifact, but
with different version numbers, so it will resolve and retrieve all of them?

KARR, DAVID | 13 Jan 21:57 2014

Have Ivy check lastModifiedTime for snapshots?

For released artifacts, if I have an entry in the cache, I wouldn't want Ivy to check the repo that it was
obtained from.  However, for SNAPSHOT artifacts, I need Ivy to check to see whether the artifact on the repo
is newer than what I have in the cache.  In the Ivy documentation, in a subsection titled "Changes in module
metadata" there is a reference to a property called "checkModified" which goes on the resolver
definition.  This seems to be what I need.

However, when I tried to add 'checkModified="true"' on my "ibiblio" element that points to our intranet
Nexus repository, it failed with:

"ivysettings.xml: no set method found for checkModified on class org.apache.ivy.plugins.resolver.IBiblioResolver"

KARR, DAVID | 13 Jan 19:52 2014

Can Ivy directly use "pom.xml" instead of "ivy.xml", even for the initial artifact?

I can see that when Ivy uses the "ibiblio" resolver, it's using the "pom.xml" on artifacts to determine
transitive dependencies.

However, how do I make that happen for the initial artifact that I'm building?

I know that the feature set of the "ivy.xml" is slightly different from the "pom.xml", but so far I don't see
any possible conflicts.

If I build an equivalent "pom.xml" for my "ivy.xml" and then move the latter out of the way, Ivy says it can't
find the "ivy.xml" file.

KARR, DAVID | 13 Jan 18:18 2014

How to deal with several "provided" artifacts from different frameworks

I'm continuing to look at the large multi-module Ant build I work with, to see if I could clean this up a bit by
integrating Ivy.

I'm not just looking at how to clean up the build, but to make it easier for developers to work with
checked-out projects in Eclipse.

Besides the somewhat haphazard way we reference simple third-party and internal artifacts (all of which I
see how I can Ivy-ize), we also use two large frameworks that encompass several jars each, and both of those
jar sets are "provided" artifacts, like the use of "provided" artifacts in Maven, where we want to make
them available at compile time, but those artifacts are not to be assembled into the deployable
component, as they will be available at runtime, however the framework does it.

Presently, these "provided" frameworks are specified in our Eclipse projects as "variables", but this is messy.

If I end up specifying these numerous jars in ivy dependencies, it would be nice if I could group them, so it's
clear what list of jars is part of framework "foo", and which is part of framework "bar".  You could do this
with Maven by specifying a pom that just lists those artifacts, and having projects reference that pom.

KARR, DAVID | 10 Jan 22:39 2014

How could I make "retrieve" also copy into local Maven repo, just like Maven does

I just started using Ivy, to help an Ant build that needs to get a local component built from Maven.

What I've done with Ivy all works.  It retrieves the artifacts from either my local Maven repo or our intranet repo.

There is one thing that this doesn't do that I'd like to have happen.

If it doesn't find it in the local Maven repo, it gets it from the intranet repo, but in that case it downloads
it directly from the intranet repo into the "lib" directory of the project.  If this were Maven doing this
build, it would have also copied the artifact into the local Maven repo.  I'd prefer for this to happen.  How
do I set up some "retrieve" magic that would also install the artifact into the local Maven repo?

If it matters, here is an elided version of my "ivysettings.xml":
    <settings defaultResolver="default"/>
    <property name="m2-pattern"
override="false" />
        <chain name="default">
            <filesystem name="local-maven2" m2compatible="true" >
                <artifact pattern="${m2-pattern}"/>
                <ivy pattern="${m2-pattern}"/>
            <ibiblio name="...Snapshots" m2compatible="true"
            <ibiblio name="...Thirdparty" m2compatible="true"
            <ibiblio name="central" m2compatible="true"/>
(Continue reading)

Carsten.Pfeiffer | 27 Dec 16:00 2013

AUTO: Carsten Pfeiffer ist außer Haus (Rückkehr am 08.01.2014)

Ich kehre zurück am 08.01.2014.

In dringenden Fällen, kontaktieren Sie bitte
Erwin<punkt>Tratar<at>gebit<punkt>de oder

Hinweis: Dies ist eine automatische Antwort auf Ihre Nachricht  "Can't get
ivy to resolve transitive dependencies of local modules" gesendet am
27.12.2013 11:46:27.

Diese ist die einzige Benachrichtigung, die Sie empfangen werden, während
diese Person abwesend ist.

BAFFOUR-AWUAH FRANK | 27 Dec 11:49 2013

What does the "default" column in the dependency overview table of ivy reports mean?

I want an explanation for this column in the dependency overview table of the report generated by
<ivy:report/>: default.

I have set my Ivy up to use both a local repository and maven2, and I've noticed this column contains "true"
for my local modules and "false" for maven2 modules. May I know what this column means?
BAFFOUR-AWUAH FRANK | 27 Dec 11:52 2013

What does the "default" attribute of the ivy.xml "info" tag mean?

I have seen the ivy.xml info tag containing a default attribute in resolved ivy.xml files of modules in my
local repository.

What does this "default" attribute mean (it's not mentioned in the Ivy docs), and why does it only appear in
the resolved ivy.xml files of modules resolved from my local repository (it does not appear in resolved
ivy.xml files of modules resolved from maven2)?
BAFFOUR-AWUAH FRANK | 27 Dec 11:46 2013

Can't get ivy to resolve transitive dependencies of local modules

For days I have tried and simply failed to get apache ivy to resolve the dependencies of dependencies I
declare in my ivy.xml, when the root dependencies are from my local repository. Root dependencies from my
public repository (maven) work well, and even work when I edited one of the ivy.xml to point to a dependency
on a module from my local repository. But transitive dependency resolution for my local repository will
just not work.
I checked the resolved ivy.xml for one of my local modules in the cache, and the dependency section had been
wiped out!
Is there something I have to do?

This is my ivysettings.xml file:

  <settings defaultResolver="default"/>
  <caches useOrigin="true"/>
  <include url="${ivy.default.settings.dir}/ivysettings-public.xml"/>
  <include url="${ivy.default.settings.dir}/ivysettings-shared.xml"/>
  <include file="${ivy.default.ivy.user.dir}/settings/ivysettings-local.xml"/>
  <include url="${ivy.default.settings.dir}/ivysettings-main-chain.xml"/>  
  <include url="${ivy.default.settings.dir}/ivysettings-default-chain.xml"/>

And this is my ivysettings-local.xml file:

  <property name="ivy.local.default.root"
        value="${ivy.default.ivy.user.dir}/local" override="false"/>
  <property name="ivy.local.default.ivy.pattern"
        value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" override="false"/>
  <property name="ivy.local.default.artifact.pattern"
        value="[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" override="false"/>
(Continue reading)

JOSE L MARTINEZ-AVIAL | 10 Dec 01:48 2013

Using same ivy-settings.xml in Eclipse with IvyDE for the ant task

   I'm using Eclipse Kepler with IvyDE. I have setup the Ivy settings path
in Eclipse (Window -> Preferences -> Ivy -> Settings) to my settings file (
http://vulcan/ivy-settings.xml). It works fine. But I also use some Ant
scripts inside Eclipse, and I need those scripts to access also the
repository. In order to do that I have needed to call the following task in
my Ant script

<ivy:settings url="http://vulcan/ivy-settings.xml"/>

Is there anyway I can remove that hardcoded url, and point the settings to
use the same URL used by IvyDE?

By the way, Apache Ivy is a wonderful tool. I'm really happy with it.

Brian Gruber | 5 Dec 00:56 2013

unable to use ivy for a specific dependency

I have found that I am unable to use Ivy to add the dependency
org.apache.flume/flume-ng-sdk, version 1.4.0. It gets tripped up trying to
pull org.apache.thrift/libthrift with a literal version of
"${thrift.version}". I'm writing to this list first because I have tried to
use it with some other systems that do maven-ish dependency management (mvn
itself and leiningen) and they had no problem with it. Ivy is unable to
process the dependency even on the command line outside of any project.

output of "java -jar ivy-2.3.0.jar -debug -dependency org.apache.flume
flume-ng-sdk 1.4.0": https://gist.github.com/anonymous/7797344

Please let me know if there's any other information I can provide.