Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-user] Building large projects

Thanks for the pointers. I did check out the tycho sources yesterday and indeed I found that the maven artifacts are added each time in case the p2metadata.xml is not found. For our dependencies coming from Nexus we do not have the p2metadata.xml and so I guess it reads the jar's manifest each time before adding it to the target platform.
Can you confirm that this goes to disk for every jar file?
Can this IUBundle information be cached somehow?

I think this is the first issue already because we have something like 200 dependencies in the pom. Half of these dependencies are build on the same Hudson server however so for these dependencies the p2metadata.xml will be available.

The Nexus P2 proxy indeed does not compress the contents.xml, it's around 80MB. However, does this impact a lot? I was under the impression that most of the information in the eclipse P2 repo is cached on disk anyway. Is this not the case?

To answer further: we only have a single p2 repo, the rest are pom dependencies.
We build only for a single target environment.

Kind regards, Jeroen

On 10/09/2013 11:55, tycho-user-request@xxxxxxxxxxx wrote:
Date: Tue, 10 Sep 2013 08:14:50 +0000 From: "Sievers, Jan" <jan.sievers@xxxxxxx> To: Tycho user list <tycho-user@xxxxxxxxxxx> Subject: Re: [tycho-user] Building large projects Message-ID: <F8F18CC0DECD384BAC6FBAD1A7C49A4838E4ECBD@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Content-Type: text/plain; charset="iso-8859-1" hard to say without profiling the build at hand. However there is a memory consumption penalty associated with - number of modules in reactor - number of environments (os/ws/arch) being built - (metadata) size of p2 repositories used see [1] for details. Also, there is a network roundtrip penalty associated with - number of p2 repositories used by the build - esp. number of child repositories if composite repos are used Using a local p2 mirror is good, but p2 might still reach out round-robin to worldwide eclipse.org mirrors unless you use -Dtycho.diableP2Mirrors=true [2] Trying to reduce some of the factors above may be worth a try.
>Sonatype Nexus is used to proxy the eclipse juno site.
not sure if this still holds true but last time I tried, the nexus p2 mirror used uncompressed (XML) metadata files.

>Nexus also holds some third party dependencies, they are added as pom dependencies.
pomDependencies=consider is generating p2 metadata on the fly on each build which may be costly if you have a lot of them.
You may try to convert these into a p2 repository and reference this instead.

Regards,
Jan

[1]https://bugs.eclipse.org/bugs/show_bug.cgi?id=413720
[2]http://wiki.eclipse.org/Tycho/FAQ#How_do_I_disable_P2_mirrors.3F



Back to the top