Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-user] Why is Tycho manifest-first?

Yes, you need to know OSGi version syntax to work on OSGi projects.
Beyond that, though, there is a rough parity between Maven and Tycho
when it comes to reproducible builds.

--
Regards,
Igor

On 11-11-18 8:57 AM, Aaron Digulla wrote:
Zitat von Igor Fedorenko <igor@xxxxxxxxxxxxxx>:

No offense, but this sounds like a badly setup project, there is nothing
in p2 or tycho that prevents reproducible builds.

Let me put it differently: Maven is easy to configure to get
reproducible builds. With p2 and OSGi, you need to know a lot about
version management and p2 repositories and it can still break.

Regards,


--
Regards,
Igor

On 11-11-17 3:07 PM, Aaron Digulla wrote:
Am 17.11.2011 15:06, schrieb Igor Fedorenko:
What parts of p2 make reproducible builds harder?

It's a set of features and missing documentation.

It starts with how OSGi treats versions. With Maven, 2.0.0 means 2.0.0
and nothing else. In OSGi/PDE/p2, it means 2.0.0 or better. If you're
not careful, you'll build against a 3.0 or 4.0 or 5.0. If that happens,
you won't notice unless the API has changed and you get compile errors.
If you get compile errors, that still doesn't tell you much because the
MANIFEST says "version=2.0.0".

The we have the features which bundle bundles. Which version of the
bundle is going into the feature? Probably the latest but that's just a
guess by me - I don't know for sure.

Then we have the site which is built from features. When I say "Build
All", I sometimes get new JAR files for every bundle in my workspace,
sometimes only for a few. All of the time, the ".qualifier" in the
version of my feature will be replaced with a timestamp but I don't
understand why. Why is PDE creating new versions of all bundles
sometimes and sometimes just a few? In the end, I always clean the site
project, just to be sure.

This all amounts to a build that I can't trust because I don't know what
goes into it, how I can control it, or how I can find out how to control
it. The documentation in that regard follows the approach "it just
works" but I want to understand what is going on.

Regards,


--
Regards,
Igor

On 11-11-17 3:52 AM, Aaron Digulla wrote:
Zitat von Hamza Soussou<hamza_soussou@xxxxxxxx>:

when you deal with package dependencies (import-package in
manifest.mf), which would be better: pom-first or manifest-first? I
would vote for manifest-first approach

I prefer an approach which allows repeatable builds. When I build
something, I want to be sure what I get. This is very hard to do right
with p2.

Regards,

_______________________________________________
tycho-user mailing list
tycho-user@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/tycho-user



_______________________________________________
tycho-user mailing list
tycho-user@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/tycho-user







Back to the top