as already mentioned by Markward, we want to add updatable language features to our tycho-built product.
We have the following setup now:
- a feature-based product named "example.product", containing the features:
com.ourcompany.feature.application (here we have added a plugin called "com.ourcompany.client.i18n", containing some i18n specific code and default messages)
com.ourcompany.feature.thirdparty
- "example.p2.inf" file
here we are specifying additional language features containing fragments. The above mentioned plugin "com.ourcompany.client.i18n" is the host plugin of these fragments.
The example.p2.inf file has the following content:
requires.0.namespace = com.ourcompany
requires.0.name = com.ourcompany.client.feature.i18n.de_CH.group
requires.0.range = [1.0.0, 1.2.0]
requires.1.namespace = com.ourcompany
requires.1.name = com.ourcompany.client.feature.i18n.de_DE.group
requires.1.range = [1.0.0, 1.2.0]
requires.2.namespace = com.ourcompany
requires.2.name = com.ourcompany.client.feature.i18n.en.group
requires.2.range = [1.0.0, 1.2.0]
instructions.configure=\
addRepository(type:0,location:http${#58}//ourcompany.com/language-repository);\
addRepository(type:1,location:http${#58}//ourcompany.com/language-repository);
- The specified repository provides a tycho build p2 repo containing the required features.
- We have added the p2.inf file to build.properties.
At first we were thinking that running the tycho product build would automatically install the feature. This seems not to be the case, as the features cannot be found.
We are wondering, if it is necessary to create an extra ant script to explicitly install the feature (like in Andrew's approach), or if there is a less complicated way of adding updatable features to our product.
As we are new to p2 provisioning, please excuse us if we are not seeing the obvious. Any help would be appreciated!
Thank you for the clarification!
I think this helped a lot.
Regards,
Markward