You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@celix.apache.org by GitBox <gi...@apache.org> on 2021/03/01 20:27:12 UTC
[GitHub] [celix] pnoltes opened a new pull request #325: Feature/utils zip extract
pnoltes opened a new pull request #325:
URL: https://github.com/apache/celix/pull/325
Introduces some utils function to handle zip files and in memory zip data.
| WARNING: This PR will introduce a dependency to libzip |
| --- |
Because of the added dependency there is no hurry to merge this PR.
My idea is to use these functions to rewrite the bundle handlin.g and hopefully get rid of some untested and effectually dead code (wire.c, capability.c, bundle_archive, bundle_revision, etc)
I also would like to use this to create "fat executable" like an end fatjar (a jar with all of it dependencies included).
This is also the reason why this PR contains a test where a zip is linked against the utils test executable.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [celix] pnoltes edited a comment on pull request #325: Feature/utils zip extract
Posted by GitBox <gi...@apache.org>.
pnoltes edited a comment on pull request #325:
URL: https://github.com/apache/celix/pull/325#issuecomment-789066243
> I'm missing a rationale for why fat jars/zips are a feature celix would want. Is this related to the issue with cache directories?
One of the use case I am struggling with is how to make it possible for Celix users to "just install an application" which uses Celix.
If you use Celix to create a nice application (e.g. myapp) which uses different bundles. You can install the bundles, but not really the executable created with the cmake function `add_celix_container`.
When starting the installed executable (e.g. /usr/local/bin/myapp) it needs to find the bundles. This can be achieved by the config property CELIX_BUNDLES_PATH.. but this needs to be done with env after the executable is installed. Because during install you probably not known which CELIX_BUNDLES_PATH are valid (-> e.g. where will the different bundles be installed).
If it possible to create a "fat celix executable" with something like:
```
add_celix_container(myapp
FATEXE #maybe not the best name ... ;)
BUNDLES Celix::ShellCxx Celix::shell_tui MyBundle
)
```
where the bundle zips are embedded in the executable you can avoid this issue.
Of course a different path could be to add support for bundles a shared libraries instead, but can this be done backwards compatible and do we need to update all Celix bundles as shared library then or provide 2 version (1 as zip bundle and 1 as shared library).
An other issues is also indeed the cache directory, because if you install a celix executable (e.g. /usr/local/bin/myapp) it will now create cache dir in the location where you start the executable. IMO this should be a /tmp or spool dir, but this will also mean that the celix application needs to clean its own (and maybe other not running celix executable) cache dirs.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [celix] codecov-commenter commented on pull request #325: Feature/utils zip extract
Posted by GitBox <gi...@apache.org>.
codecov-commenter commented on pull request #325:
URL: https://github.com/apache/celix/pull/325#issuecomment-908595937
# [Codecov](https://codecov.io/gh/apache/celix/pull/325?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
> Merging [#325](https://codecov.io/gh/apache/celix/pull/325?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (292aa9b) into [master](https://codecov.io/gh/apache/celix/commit/9432bd3383b8974ffb2bdfee5065828bbd679e3b?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (9432bd3) will **decrease** coverage by `0.24%`.
> The diff coverage is `80.41%`.
[![Impacted file tree graph](https://codecov.io/gh/apache/celix/pull/325/graphs/tree.svg?width=650&height=150&src=pr&token=JdsiThga8P&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/celix/pull/325?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
```diff
@@ Coverage Diff @@
## master #325 +/- ##
==========================================
- Coverage 71.20% 70.96% -0.25%
==========================================
Files 172 173 +1
Lines 31442 31585 +143
==========================================
+ Hits 22389 22415 +26
- Misses 9053 9170 +117
```
| [Impacted Files](https://codecov.io/gh/apache/celix/pull/325?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
|---|---|---|
| [libs/utils/src/celix\_file\_utils.c](https://codecov.io/gh/apache/celix/pull/325/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-bGlicy91dGlscy9zcmMvY2VsaXhfZmlsZV91dGlscy5j) | `80.41% <80.41%> (ø)` | |
| [...ubsub\_admin\_udp\_mc/src/pubsub\_udpmc\_topic\_sender.c](https://codecov.io/gh/apache/celix/pull/325/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-YnVuZGxlcy9wdWJzdWIvcHVic3ViX2FkbWluX3VkcF9tYy9zcmMvcHVic3ViX3VkcG1jX3RvcGljX3NlbmRlci5j) | `56.06% <0.00%> (-28.33%)` | :arrow_down: |
| [bundles/pubsub/pubsub\_admin\_udp\_mc/src/large\_udp.c](https://codecov.io/gh/apache/celix/pull/325/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-YnVuZGxlcy9wdWJzdWIvcHVic3ViX2FkbWluX3VkcF9tYy9zcmMvbGFyZ2VfdWRwLmM=) | `10.61% <0.00%> (-22.91%)` | :arrow_down: |
| [libs/utils/src/hash\_map.c](https://codecov.io/gh/apache/celix/pull/325/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-bGlicy91dGlscy9zcmMvaGFzaF9tYXAuYw==) | `93.08% <0.00%> (-1.16%)` | :arrow_down: |
| [.../pubsub\_admin\_zmq/v2/src/pubsub\_zmq\_topic\_sender.c](https://codecov.io/gh/apache/celix/pull/325/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-YnVuZGxlcy9wdWJzdWIvcHVic3ViX2FkbWluX3ptcS92Mi9zcmMvcHVic3ViX3ptcV90b3BpY19zZW5kZXIuYw==) | `74.92% <0.00%> (+0.87%)` | :arrow_up: |
| [...dmin\_websocket/src/pubsub\_websocket\_topic\_sender.c](https://codecov.io/gh/apache/celix/pull/325/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-YnVuZGxlcy9wdWJzdWIvcHVic3ViX2FkbWluX3dlYnNvY2tldC9zcmMvcHVic3ViX3dlYnNvY2tldF90b3BpY19zZW5kZXIuYw==) | `84.35% <0.00%> (+1.11%)` | :arrow_up: |
------
[Continue to review full report at Codecov](https://codecov.io/gh/apache/celix/pull/325?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/apache/celix/pull/325?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Last update [9432bd3...292aa9b](https://codecov.io/gh/apache/celix/pull/325?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: dev-unsubscribe@celix.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [celix] pnoltes edited a comment on pull request #325: Feature/utils zip extract
Posted by GitBox <gi...@apache.org>.
pnoltes edited a comment on pull request #325:
URL: https://github.com/apache/celix/pull/325#issuecomment-789066243
> I'm missing a rationale for why fat jars/zips are a feature celix would want. Is this related to the issue with cache directories?
One of the use case I am struggling with is how to make it possible for Celix users to "just install an application" which uses Celix.
If you use Celix to create a nice application (e.g. myapp) which uses different bundles. You can install the bundles, but not really the executable created with the cmake function `add_celix_container`.
When starting the installed executable (e.g. /usr/local/bin/myapp) it needs to find the bundles. This can be achieved by the config property CELIX_BUNDLES_PATH.. but this needs to be done with env after the executable is installed. Because during install you probably not known which CELIX_BUNDLES_PATH are valid (-> e.g. where will the different bundles be installed).
If it possible to create a "fat celix executable" with something like:
```
add_celix_container(myapp
FATEXE #maybe not the best name ... ;)
BUNDLES Celix::ShellCxx Celix::shell_tui MyBundle
)
```
where the bundle zips are embedded in the executable you can avoid this issues.
Of course a different path could be to add support for bundles a shared libraries instead, but can this be done backwards compatible and do we need to update all Celix bundles as shared library then or provide 2 version (1 as zip bundle and 1 as shared library).
An other issues is also indeed the cache directory, because if you install a celix executable (e.g. /usr/local/bin/myapp) it will now create cache dir in the location where you start the executable. IMO this should be a /tmp or spool dir, but this will also mean that the celix application needs to clean its own (and maybe other not running celix executable) cache dirs.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [celix] pnoltes commented on a change in pull request #325: Feature/utils zip extract
Posted by GitBox <gi...@apache.org>.
pnoltes commented on a change in pull request #325:
URL: https://github.com/apache/celix/pull/325#discussion_r585741061
##########
File path: cmake/Modules/FindLIBZIP.cmake
##########
@@ -0,0 +1,51 @@
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+
+# - Try to find libzip
+#
+# Once done this will define
+# LIBZIP_FOUND - System has libffi
+# libzip::libzip target (if found)
+
+mark_as_advanced(GNUTLS_INCLUDE_DIR GNUTLS_LIBRARY)
Review comment:
oops. A copy/paste mistake
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [celix] pnoltes edited a comment on pull request #325: Feature/utils zip extract
Posted by GitBox <gi...@apache.org>.
pnoltes edited a comment on pull request #325:
URL: https://github.com/apache/celix/pull/325#issuecomment-789066243
> I'm missing a rationale for why fat jars/zips are a feature celix would want. Is this related to the issue with cache directories?
One of the use case I am struggling with is how to make it possible for Celix users to "just install a application" which uses Celix.
If you use Celix to create a nice application (e.g. myapp) which uses different bundles. You can install the bundles, but not really the executable created with the cmake function `add_celix_container`.
When starting the installed executable (e.g. /usr/local/bin/myapp) it needs to find the bundles. This can be achieved by the config property CELIX_BUNDLES_PATH.. but this needs to be done with env after the executable is installed. Because during install you probably not known which CELIX_BUNDLES_PATH are valid (-> e.g. where will the different bundles be installed).
If it possible to create a "fat celix executable" with something like:
```
add_celix_container(myapp
FATEXE #maybe not the best name ... ;)
BUNDLES Celix::ShellCxx Celix::shell_tui MyBundle
)
```
where the bundle zips are embedded in the executable you can avoid this issues.
Of course a different path could be to add support for bundles a shared libraries instead, but can this be done backwards compatible and do we need to update all Celix bundles as shared library then or provide 2 version (1 as zip bundle and 1 as shared library).
An other issues is also indeed the cache directory, because if you install a celix executable (e.g. /usr/local/bin/myapp) it will now create cache dir in the location where you start the executable. IMO this should be a /tmp or spool dir, but this will also mean that the celix application needs to clean its own (and maybe other not running celix executable) cache dirs.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [celix] pnoltes commented on pull request #325: Feature/utils zip extract
Posted by GitBox <gi...@apache.org>.
pnoltes commented on pull request #325:
URL: https://github.com/apache/celix/pull/325#issuecomment-789066243
> I'm missing a rationale for why fat jars/zips are a feature celix would want. Is this related to the issue with cache directories?
One of the use case I am struggling with is how to make it possible for Celix users to "just install a application" which uses Celix.
If you use Celix to create a nice application (e.g. myapp) which uses different bundles. You can install the bundles, but not really the executable created with the cmake function `add_celic_container`.
When starting the installed executable (e.g. /usr/local/bin/myapp) it needs to find the bundles. This can be achieved by the config property CELIX_BUNDLES_PATH.. but this needs to be done with env after the executable is installed. Because during install you probably not known which CELIX_BUNDLES_PATH are valid (-> e.g. where will the different bundles be installed).
If it possible to create a "fat celix executable" with something like:
```
add_celix_container(myapp
FATEXE #maybe not the best name ... ;)
BUNDLES Celix::ShellCxx Celix::shell_tui MyBundle
)
```
where the bundle zip are embedded in the executable you can avoid this issues.
Of course a different path could be to add support for bundles a shared libraries instead, but can this be done backwards compatible and do we need to update all Celix bundles as shared library then or provide 2 version (1 as zip bundle and 1 as shared library).
An other issues is also indeed the cache directory, because if you install a celix executable (e.g. /usr/local/bin/myapp) it will now create cache dir in the location where you start the executable. IMO this should be a /tmp or spool dir, but this will also mean that the celix application needs to clean its own (and maybe other not running celix executable) cache dirs.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [celix] jermus67 commented on a change in pull request #325: Feature/utils zip extract
Posted by GitBox <gi...@apache.org>.
jermus67 commented on a change in pull request #325:
URL: https://github.com/apache/celix/pull/325#discussion_r586367193
##########
File path: libs/utils/CMakeLists.txt
##########
@@ -39,12 +41,15 @@ add_library(utils SHARED
src/ip_utils.c
src/filter.c
src/celix_log_utils.c
+ src/celix_file_utils.c
${MEMSTREAM_SOURCES}
)
set_target_properties(utils PROPERTIES OUTPUT_NAME "celix_utils")
+target_link_libraries(utils PRIVATE libzip::libzip)
if (NOT OPEN_MEMSTREAM_EXISTS)
target_compile_definitions(utils PUBLIC -DNO_MEMSTREAM_AVAILABLE)
+ target_compile_definitions(utils PUBLIC -DNO_MEMSTREAM_AVAILABLE)
Review comment:
Unintentional added copy of the previous line? (at least, I hope it is unintentional).
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [celix] codecov-commenter edited a comment on pull request #325: Feature/utils zip extract
Posted by GitBox <gi...@apache.org>.
codecov-commenter edited a comment on pull request #325:
URL: https://github.com/apache/celix/pull/325#issuecomment-908595937
# [Codecov](https://codecov.io/gh/apache/celix/pull/325?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
> Merging [#325](https://codecov.io/gh/apache/celix/pull/325?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (d9e562b) into [master](https://codecov.io/gh/apache/celix/commit/9479acde218527fe7cc8f19ece240cb7dc6f571f?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (9479acd) will **increase** coverage by `0.04%`.
> The diff coverage is `80.41%`.
[![Impacted file tree graph](https://codecov.io/gh/apache/celix/pull/325/graphs/tree.svg?width=650&height=150&src=pr&token=JdsiThga8P&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/celix/pull/325?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
```diff
@@ Coverage Diff @@
## master #325 +/- ##
==========================================
+ Coverage 71.47% 71.51% +0.04%
==========================================
Files 201 202 +1
Lines 34793 34936 +143
==========================================
+ Hits 24867 24984 +117
- Misses 9926 9952 +26
```
| [Impacted Files](https://codecov.io/gh/apache/celix/pull/325?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
|---|---|---|
| [libs/utils/src/celix\_file\_utils.c](https://codecov.io/gh/apache/celix/pull/325/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-bGlicy91dGlscy9zcmMvY2VsaXhfZmlsZV91dGlscy5j) | `80.41% <80.41%> (ø)` | |
| [...n\_websocket/v1/src/pubsub\_websocket\_topic\_sender.c](https://codecov.io/gh/apache/celix/pull/325/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-YnVuZGxlcy9wdWJzdWIvcHVic3ViX2FkbWluX3dlYnNvY2tldC92MS9zcmMvcHVic3ViX3dlYnNvY2tldF90b3BpY19zZW5kZXIuYw==) | `84.35% <0.00%> (+1.11%)` | :arrow_up: |
------
[Continue to review full report at Codecov](https://codecov.io/gh/apache/celix/pull/325?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/apache/celix/pull/325?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Last update [9479acd...d9e562b](https://codecov.io/gh/apache/celix/pull/325?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: dev-unsubscribe@celix.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [celix] codecov-commenter commented on pull request #325: Feature/utils zip extract
Posted by GitBox <gi...@apache.org>.
codecov-commenter commented on pull request #325:
URL: https://github.com/apache/celix/pull/325#issuecomment-908595937
# [Codecov](https://codecov.io/gh/apache/celix/pull/325?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) Report
> Merging [#325](https://codecov.io/gh/apache/celix/pull/325?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (292aa9b) into [master](https://codecov.io/gh/apache/celix/commit/9432bd3383b8974ffb2bdfee5065828bbd679e3b?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) (9432bd3) will **decrease** coverage by `0.24%`.
> The diff coverage is `80.41%`.
[![Impacted file tree graph](https://codecov.io/gh/apache/celix/pull/325/graphs/tree.svg?width=650&height=150&src=pr&token=JdsiThga8P&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)](https://codecov.io/gh/apache/celix/pull/325?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
```diff
@@ Coverage Diff @@
## master #325 +/- ##
==========================================
- Coverage 71.20% 70.96% -0.25%
==========================================
Files 172 173 +1
Lines 31442 31585 +143
==========================================
+ Hits 22389 22415 +26
- Misses 9053 9170 +117
```
| [Impacted Files](https://codecov.io/gh/apache/celix/pull/325?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation) | Coverage Δ | |
|---|---|---|
| [libs/utils/src/celix\_file\_utils.c](https://codecov.io/gh/apache/celix/pull/325/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-bGlicy91dGlscy9zcmMvY2VsaXhfZmlsZV91dGlscy5j) | `80.41% <80.41%> (ø)` | |
| [...ubsub\_admin\_udp\_mc/src/pubsub\_udpmc\_topic\_sender.c](https://codecov.io/gh/apache/celix/pull/325/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-YnVuZGxlcy9wdWJzdWIvcHVic3ViX2FkbWluX3VkcF9tYy9zcmMvcHVic3ViX3VkcG1jX3RvcGljX3NlbmRlci5j) | `56.06% <0.00%> (-28.33%)` | :arrow_down: |
| [bundles/pubsub/pubsub\_admin\_udp\_mc/src/large\_udp.c](https://codecov.io/gh/apache/celix/pull/325/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-YnVuZGxlcy9wdWJzdWIvcHVic3ViX2FkbWluX3VkcF9tYy9zcmMvbGFyZ2VfdWRwLmM=) | `10.61% <0.00%> (-22.91%)` | :arrow_down: |
| [libs/utils/src/hash\_map.c](https://codecov.io/gh/apache/celix/pull/325/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-bGlicy91dGlscy9zcmMvaGFzaF9tYXAuYw==) | `93.08% <0.00%> (-1.16%)` | :arrow_down: |
| [.../pubsub\_admin\_zmq/v2/src/pubsub\_zmq\_topic\_sender.c](https://codecov.io/gh/apache/celix/pull/325/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-YnVuZGxlcy9wdWJzdWIvcHVic3ViX2FkbWluX3ptcS92Mi9zcmMvcHVic3ViX3ptcV90b3BpY19zZW5kZXIuYw==) | `74.92% <0.00%> (+0.87%)` | :arrow_up: |
| [...dmin\_websocket/src/pubsub\_websocket\_topic\_sender.c](https://codecov.io/gh/apache/celix/pull/325/diff?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation#diff-YnVuZGxlcy9wdWJzdWIvcHVic3ViX2FkbWluX3dlYnNvY2tldC9zcmMvcHVic3ViX3dlYnNvY2tldF90b3BpY19zZW5kZXIuYw==) | `84.35% <0.00%> (+1.11%)` | :arrow_up: |
------
[Continue to review full report at Codecov](https://codecov.io/gh/apache/celix/pull/325?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/apache/celix/pull/325?src=pr&el=footer&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Last update [9432bd3...292aa9b](https://codecov.io/gh/apache/celix/pull/325?src=pr&el=lastupdated&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=The+Apache+Software+Foundation).
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: dev-unsubscribe@celix.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [celix] Oipo commented on a change in pull request #325: Feature/utils zip extract
Posted by GitBox <gi...@apache.org>.
Oipo commented on a change in pull request #325:
URL: https://github.com/apache/celix/pull/325#discussion_r585505062
##########
File path: cmake/Modules/FindLIBZIP.cmake
##########
@@ -0,0 +1,51 @@
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+
+# - Try to find libzip
+#
+# Once done this will define
+# LIBZIP_FOUND - System has libffi
+# libzip::libzip target (if found)
+
+mark_as_advanced(GNUTLS_INCLUDE_DIR GNUTLS_LIBRARY)
Review comment:
GNUTLS?
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [celix] pnoltes edited a comment on pull request #325: Feature/utils zip extract
Posted by GitBox <gi...@apache.org>.
pnoltes edited a comment on pull request #325:
URL: https://github.com/apache/celix/pull/325#issuecomment-789066243
> I'm missing a rationale for why fat jars/zips are a feature celix would want. Is this related to the issue with cache directories?
One of the use case I am struggling with is how to make it possible for Celix users to "just install a application" which uses Celix.
If you use Celix to create a nice application (e.g. myapp) which uses different bundles. You can install the bundles, but not really the executable created with the cmake function `add_celix_container`.
When starting the installed executable (e.g. /usr/local/bin/myapp) it needs to find the bundles. This can be achieved by the config property CELIX_BUNDLES_PATH.. but this needs to be done with env after the executable is installed. Because during install you probably not known which CELIX_BUNDLES_PATH are valid (-> e.g. where will the different bundles be installed).
If it possible to create a "fat celix executable" with something like:
```
add_celix_container(myapp
FATEXE #maybe not the best name ... ;)
BUNDLES Celix::ShellCxx Celix::shell_tui MyBundle
)
```
where the bundle zip are embedded in the executable you can avoid this issues.
Of course a different path could be to add support for bundles a shared libraries instead, but can this be done backwards compatible and do we need to update all Celix bundles as shared library then or provide 2 version (1 as zip bundle and 1 as shared library).
An other issues is also indeed the cache directory, because if you install a celix executable (e.g. /usr/local/bin/myapp) it will now create cache dir in the location where you start the executable. IMO this should be a /tmp or spool dir, but this will also mean that the celix application needs to clean its own (and maybe other not running celix executable) cache dirs.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [celix] jermus67 commented on a change in pull request #325: Feature/utils zip extract
Posted by GitBox <gi...@apache.org>.
jermus67 commented on a change in pull request #325:
URL: https://github.com/apache/celix/pull/325#discussion_r586366225
##########
File path: cmake/Modules/FindLIBZIP.cmake
##########
@@ -0,0 +1,49 @@
+# or more contributor license agreements. See the NOTICE file
Review comment:
Missing lines in the header?
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [celix] pnoltes commented on a change in pull request #325: Feature/utils zip extract
Posted by GitBox <gi...@apache.org>.
pnoltes commented on a change in pull request #325:
URL: https://github.com/apache/celix/pull/325#discussion_r699025031
##########
File path: cmake/Modules/FindLIBZIP.cmake
##########
@@ -0,0 +1,49 @@
+# or more contributor license agreements. See the NOTICE file
Review comment:
updated
##########
File path: libs/utils/CMakeLists.txt
##########
@@ -39,12 +41,15 @@ add_library(utils SHARED
src/ip_utils.c
src/filter.c
src/celix_log_utils.c
+ src/celix_file_utils.c
${MEMSTREAM_SOURCES}
)
set_target_properties(utils PROPERTIES OUTPUT_NAME "celix_utils")
+target_link_libraries(utils PRIVATE libzip::libzip)
if (NOT OPEN_MEMSTREAM_EXISTS)
target_compile_definitions(utils PUBLIC -DNO_MEMSTREAM_AVAILABLE)
+ target_compile_definitions(utils PUBLIC -DNO_MEMSTREAM_AVAILABLE)
Review comment:
double line removed
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: dev-unsubscribe@celix.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [celix] pnoltes commented on a change in pull request #325: Feature/utils zip extract
Posted by GitBox <gi...@apache.org>.
pnoltes commented on a change in pull request #325:
URL: https://github.com/apache/celix/pull/325#discussion_r699025031
##########
File path: cmake/Modules/FindLIBZIP.cmake
##########
@@ -0,0 +1,49 @@
+# or more contributor license agreements. See the NOTICE file
Review comment:
updated
##########
File path: libs/utils/CMakeLists.txt
##########
@@ -39,12 +41,15 @@ add_library(utils SHARED
src/ip_utils.c
src/filter.c
src/celix_log_utils.c
+ src/celix_file_utils.c
${MEMSTREAM_SOURCES}
)
set_target_properties(utils PROPERTIES OUTPUT_NAME "celix_utils")
+target_link_libraries(utils PRIVATE libzip::libzip)
if (NOT OPEN_MEMSTREAM_EXISTS)
target_compile_definitions(utils PUBLIC -DNO_MEMSTREAM_AVAILABLE)
+ target_compile_definitions(utils PUBLIC -DNO_MEMSTREAM_AVAILABLE)
Review comment:
double line removed
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: dev-unsubscribe@celix.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [celix] pnoltes merged pull request #325: Feature/utils zip extract
Posted by GitBox <gi...@apache.org>.
pnoltes merged pull request #325:
URL: https://github.com/apache/celix/pull/325
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: dev-unsubscribe@celix.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org