Hi all,
we recently switched to pax-url-ather on trunk and since then artifact
resolution does not work like before. JB and others tried to fix the
behaviour but I think the problem is more fundamental and can not be
fixed in the way we currrently try.
As we might have different ideas of how artifact resolution and the
system dir should work I will write down my thoughts of it below. So we
can make sure we agree on how it should work before we fix it:
- When developing either karaf or custom bundles I do mvn install. So
karaf should ideally use the snapshots from the local maven repo if they
are newer then the ones from system dir
- Basically Karaf should do artifact resolution like maven. So it should
first look in the local repo and only consult external repos if
something is not found or for snapshots check for newer versions after a
certain time
- The system dir should be read only and be consulted before real
external repos if possible
- Karaf should be able to run in a offilne mode where it does not need
an internet connection. Of course it is then limited to what is
available in the local maven repo and in the system dir
So how does the system dir fit in? Currently it is at least partly
treated as a local maven repo. If something is missing it is downloaded
to the system dir. On the other hand it seems to need metadata for
snapshots to be found. So when resolving artifacts it seems to be
treated as a remote repo.
I think the system dir should be treated like an external repo. That
would ensure it is readonly. Of course that means that we have to
provide all necessary metadata but that already seems to work at least
partly. This of course means that we can not simply switch into the
"offilne" mode by using the equivalent of -o. Perhaps we can instead
tell maven to only use the given repos and not search any others.
I hope my thoughts were not too confusing and would be interested what
you excpect from the karaf artifact resolution and how we could achieve it.
Christian
--
Christian Schneider
http://www.liquid-reality.de
Open Source Architect
Talend Application Integration Division http://www.talend.com