apache / celix

Apache Celix is a framework for C and C++14 to develop dynamic modular software applications using component and in-process service-oriented programming.
https://celix.apache.org/
Apache License 2.0
166 stars 87 forks source link

Feature/522 support uncompressed bundle #582

Closed PengZheng closed 1 year ago

PengZheng commented 1 year ago

This PR implements basic support for uncompressed bundle. The approach is fairly straightforward: when installing an uncompressed bundle, we create a symbolic link to the uncompressed bundle as the archive->resourceCacheRoot. This way, all existing mechanisms (bundle target, config.properties, etc) work as before, provided that the zip bundle is unzipped into the bundle path with the same name as the zip file. Whether zip/uncompressed form is preferred is left to our user as a deployment issue, thus out the scope of this PR.

Though the required modification is minimum, there are several corner cases worth noting: