karaf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Toni Menzel <t...@okidokiteam.com>
Subject Re: [INFO] System repo, artifacts resolution and aether
Date Thu, 02 Feb 2012 17:33:59 GMT
One thing you can do is using "link" URLs.
This is implemented in the pax-url-link project and resolves URLs like:
link:classpath:META-INF/links/junit.link to an InputStream that contains
text with first line treated as the real URL.
So, for example, if you include a file with content:
mvn:org.junit/junit/4.8.2
in Classpath at location /META-INF/links/junit.link, you will get the maven
resolution.
But you also could have another runtime dependency resolving the
aforementioned link in class path like:
classpath:junit.jar
which then would use an embedded jar.
You see this brings in some indirection into the resolving process.
In Karaf i could think of shipping a "batteries-included" artifact that
includes many frequently used components, another (maybe an enterprise.jar)
that contains another set of embedded batteries.
Good thing is, you never lose the ability to possibly fall back to mvn
resolvers taking down the artifact from outer space (online maven).

Did you consider this, yet?
Toni

On Thu, Feb 2, 2012 at 10:04 AM, Jean-Baptiste Onofré <jb@nanthrax.net>wrote:

> Hi all,
>
> On Karaf trunk (3.0), we currently from an issue around artifact
> resolution (due to pax-url/aether).
>
> It's something that David, Achim and I are aware, but I would like to warn
> and inform everyone (to avoid unpredictable behaviors ;)).
>
> 1/ SNAPSHOT resolution
> Currently, the system repo doesn't contain Maven metadata, sha1, Maven
> properties files. So, Aether always downloads the SNAPSHOT from Central and
> overrides the file locally in system repo.
> For instance, if you change the Karaf features file locally in the build,
> the generated distribution will embed the updated file, but this file will
> be overrided (when you perform feature:list or feature:list-url) by the one
> on snapshot remote repo.
> A "simple" workaround is to deploy the feature file (mvn deploy), but it's
> really ugly.
>
> 2/ Karaf bootstrap time
> A side effect is that Karaf 3.0 is really long to start and bootstrap,
> because Karaf checkes for update for each bundles/artifacts in system repo.
> I evaluated that Karaf 3 takes 10 more times than Karaf 2 to start
> (depending of the network connection).
>
> I consider it as a major issue, and I'm focusing on it (on both Karaf and
> Pax URL).
>
> Regards
> JB
> --
> Jean-Baptiste Onofré
> jbonofre@apache.org
> http://blog.nanthrax.net
> Talend - http://www.talend.com
>



-- 
Toni Menzel Source <http://tonimenzel.com>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message