Hi All,

*importFeatureDef* instruction in carbon-p2-plugin is used to define
dependencies to external features when developing a feature.
We come across conflicts in feature installations when features have
tight-dependencies to external features as* includedFeatures*.
includedFeatureDef should be used to include sub-features (eg:to include
server and ui features in the aggregate feature) and not to include other
external features.
Included features are considered parts of the nesting feature and they are
not allowed to be updated by P2.

One example is :* org.wso2.carbon.service.mgt.server.feature*. It has
included several external features as part of it, including
org.wso2.carbon.security.mgt.server feature.
So if the user needs to install a newer version of one of the nested
features (eg: org.wso2.carbon.security.mgt.server feature), P2 doesn't
allow it to update parts of a nested feature.

So as a best practice when developing features; when a feature has a
dependency to an external feature, it should be defined as an
importFeatureDef.
Then the feature installation is enforced by P2 and updates are supported
at the time of installation.

I have fixed the org.wso2.carbon.service.mgt.server feature: 4.0.5 for
above reason, by importing external features. When importing external
features we should also make sure the importedFeatures are published to the
repository.

Thanks,
Dileepa


-- 
Dileepa Jayakody,
Software Engineer, WSO2 Inc.
Lean . Enterprise . Middleware

Mobile : +94777-857616
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to