[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [p2-dev] Smooth transition for EclEmma

The units.*.properties.* entries are published into the IU and serve for a number of things like the plug-in name, the plugin provider etc. Unless you define your IU entirely in p2.inf (which I don't think is the case for you), you usually get those for free from the manifest.mf, feature.xml and others.

Here is an example of the properties for the com.ibm.icu IU

        <property name='df_LT.pluginName' value='International Components for Unicode for Java (ICU4J)'/>
        <property name='df_LT.providerName' value='IBM Corporation'/>
        <property name='org.eclipse.equinox.p2.name' value='%pluginName'/>
        <property name='org.eclipse.equinox.p2.provider' value='%providerName'/>
        <property name='org.eclipse.equinox.p2.bundle.localization' value='plugin'/>

HTH

Pascal

On 10/29/2016 12:31 PM, Evgeny Mandrikov wrote:
Seems that I made a stupid copy-paste mistake - m2e-wtp has osgi bundle "org.eclipse.m2e.wtp", but in our case should be "com.mountainminds.eclemma.core" instead of "com.mountainminds.eclemma":

requires.0.name=com.mountainminds.eclemma.core
units.1.id=com.mountainminds.eclemma.core
units.1.provides.0.name=com.mountainminds.eclemma.core

So excuse me for a noise - all seems to work fine after this fix.

Still interested in explanation of values for "units.1.properties.0.name" and "units.1.properties.0.valuesince can't manage to see them in UI, but this is minor.

Thanks.


On Sat, Oct 29, 2016 at 3:27 PM, Evgeny Mandrikov <mandrikov@xxxxxxxxx> wrote:
Hi P2 experts,

We are preparing initial release of EclEmma <https://projects.eclipse.org/projects/technology.eclemma> under Eclipse Foundation umbrella.
And we would like to provide for our users smooth transition from its ancestor <https://github.com/jacoco/eclemma>.

So as was advised by our mentor Mickael Istria - based on <https://github.com/eclipse/m2e.wtp/blob/master/org.eclipse.m2e.wtp.feature/p2.inf> I've tried to create p2.inf
Here is its content with comments describing my assumptions:

###

# can update any "com.mountainminds.eclemma.feature" and previous versions of "org.eclipse.eclemma.feature"
update.matchExp = providedCapabilities.exists(pc | pc.namespace \=\= 'org.eclipse.equinox.p2.iu' && (pc.name \=\= 'com.mountainminds.eclemma.feature.feature.group' || pc.name \=\= 'org
.eclipse.eclemma.feature.feature.group' && pc.version < '$version$'))

# requires additional IU described below
requires.0.namespace=osgi.bundle
requires.0.name=com.mountainminds.eclemma
requires.0.range=[$version$, $version$]

units.1.id=com.mountainminds.eclemma
units.1.version=$version$
units.1.singleton=true
units.1.provides.0.namespace=osgi.bundle
units.1.provides.0.name=com.mountainminds.eclemma
units.1.provides.0.version=$version$

# to not overwrite the main artifact, the additional IU should have classifier (https://bugs.eclipse.org/bugs/show_bug.cgi?id=430728)
units.1.properties.1.name=maven-classifier
units.1.properties.1.value=p2inf

# TODO explain
units.1.properties.0.name=org.eclipse.equinox.p2.name
units.1.properties.0.value=This version cannot be installed on top of the already installed EclEmma plugin. Uninstall the previous version and try the install again.

###

And below is a description of performed testing with undesirable outcome.

Using:
 fresh installation of Eclipse IDE for Java Developers (Version: Neon.1a Release (4.6.1) Build id: 20161007-1200)
Given:
 old 2.3.3.201602231923 installed from <http://update.eclemma.org/>
When:
 installing new one from local build directory
Then:
 correctly upgraded to 2.3.4.201610291259
When:
 new build is available and checking for update
Then:
 correctly upgraded to more newer 2.3.4.201610291310
When:
 installing old one from <http://update.eclemma.org/>
Expected:
 failure
Actual:
 both (2.3.3.201602231923 and 2.3.4.201610291310) are installed

Any help/ideas are more than welcome.

Regards,
Evgeny





--
Best regards,
Evgeny Mandrikov aka Godin <http://godin.net.ru>
http://twitter.com/_godin_


_______________________________________________
p2-dev mailing list
p2-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/p2-dev