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
158 stars 85 forks source link

Feature/509 remove embedded bundles support #707

Closed pnoltes closed 6 months ago

pnoltes commented 6 months ago

This PR removes support for embedded bundles.

Although embedding bundles as part of an executable is interesting, it is not part of the OSGi spec and it is proven that this requires some maintenance effort (cmake changes, use of assembly, security changes, etc).

Maybe in the future something like a executable (far) jar from bndtools can be adopted for Apache Celix:

Bndtools can export a bndrun file to an executable JAR. This is a JAR that can be executed in any Java VM. The JAR contains the framework and all required bundles. When it runs with the venerable java -jar x.jar command it will unpack itself and launch a framework. The continuous integration can build this executable JAR.

So an executable that contains and extracts the Apache Celix container executable, its required bundles and possible some libs.

codecov-commenter commented 6 months ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (9ea03bc) 88.39% compared to head (07bf252) 88.35%.

:exclamation: Current head 07bf252 differs from pull request most recent head 4224357. Consider uploading reports for the commit 4224357 to get more accurate results

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #707 +/- ## ========================================== - Coverage 88.39% 88.35% -0.05% ========================================== Files 215 215 Lines 24618 24500 -118 ========================================== - Hits 21762 21646 -116 + Misses 2856 2854 -2 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

rlenferink commented 6 months ago

Maybe in the future something like a executable (far) jar from bndtools can be adopted for Apache Celix

@pnoltes if this is an idea for the future, I think it would be wise to create an issue for it with a brief explanation of the wish (and possibly referring to this PR as well)