I have a legacy repository that I have defined as an ivy repository, and it
all works really well except for a few dependencies that have no type
information in their structure.
So my issue was how can I retrieve artifacts from a repository that
optionally have type information?
NOTE: I am using ivy 1.4.1
For example, I have a repository like this:
repo/goodpackage/rev/type/artifact.ext
repo/badpackage/rev/artifact.ext
Here is part of my ivy settings:
<filesystem name="repo">
<ivy pattern="${env.REPO}/[module]/[revision]/ivy/ivy.xml"/>
<artifact pattern="${env.REPO
}/[module]/[revision]/[type]/[artifact].[ext]"/>
<artifact pattern="${env.REPO
}/[module]/[revision]/[type]/[artifact](-[revision]).[ext]"/>
</filesystem>
So what I did was add another artifact pattern (last in the list) to the
above without a [type] entry like so:
<artifact pattern="${env.REPO
}/[module]/[revision]/[artifact](-[revision]).[ext]"/>
However this didn't quite work as when I listed the dependencies, it seemed
I still needed to specify a type in my ivy.xml. So what I did was add a
blank type like this:
<dependency name="badpackage" rev="3.00.42" conf="win32->default">
<artifact name="IzPack-installer" type="" ext="jar"/>
</dependency>
The above works, but was this just luck, or is ivy meant to support typeless
repositories? In addition, will it support this in the future, or if I move
to ivy 2.0?
If it should be a feature then it would be nice if I didn't have to specify
a type at all.
NOTE: I think it is you should specify a type in your repository as a rule!
This is purely to support legacy releases that don't specify a type.
--
Regards,
John Gill