-
Notifications
You must be signed in to change notification settings - Fork 398
2023 11 16 Eclipse iceoryx developer meetup
Mathias Kraus edited this page Nov 16, 2023
·
3 revisions
Date: 2023/11/16
Time: 17:00 CET
- Marika Lehmann, Apex.AI
- Simon Hoinkis, Apex.AI
- Christian Eltzschig, Apex.AI
- Mathias Kraus, ekxide
- Eclipse self service, 5 mins, Simon
- Move the Developer meetup to another day or to an earlier time on the first Thursday in the month, 5 mins, Mathias "Bob" Kraus
- Does anybody know why the meetup does not appear in the ROS calendar?
- Tasks and open issues from https://github.com/eclipse-iceoryx/iceoryx/wiki/2023-10-05-Eclipse-iceoryx-developer-meetup#minutes, 5 mins, Mathias "Bob" Kraus
- only one reviewer
- switching away from Zoom
- according to Andy Riexinger this is not a problem https://github.com/eclipse-iceoryx/iceoryx/pull/2008#issuecomment-1721215324
- Cirrus CI for FreeBSD
- switch to C++17
- v3.0 release
- Softening the flat include structure a bit (iox/header.hpp, iox/posix/header.hpp and iox/concurrent/header.hpp), 10 mins, Mathias "Bob" Kraus
- should we keep the
units
namespace
- should we keep the
- Moving to C++17 for the v3 release, 15 min, Mathias "Bob" Kraus
- could be the one big reason for the v3 release
- a non-representative poll showed that everybody asked was in favor of C++17
- ROS 2 is already on C++17
- Cleanup relevant issues for a v3.0 release (https://github.com/eclipse-iceoryx/iceoryx/projects/5), 15 min, Mathias "Bob" Kraus
- If there is time, talk about a common coding style for iceoryx, 15 min, Mathias "Bob" Kraus
- currently it is different for parts of hoofs and the rest of the codebase
- see also
- proposal
- CamelCase for classes to prevent confusion with STL types
- snake_case for free functions and methods
- snake_case for variables and members (members with a m_ prefix)
- snake_case for type traits, they are similar to variables in template meta-programming after all
- CamelCase for enums
- SCREAMING_SNAKE_CASE for enum tags
- SCREAMING_SNAKE_CASE for constants
- it's basically what we have now but defines one style in case there are currently two in use
- snake_case for some classes and methods in
hoofs
anddust
- CamelCalse for classes and lowerCamelCase for methods in the remaining codebase
- since the API surface in
posh
is smaller than inhoofs
ordust
, going with snake_case for methods should have the lesser impact than the other way around - we can provide a using declaration for classes with snake_case during the v3 lifetime with a doxygen deprecation warning
- deprecate snake_case classes with v4 using the C++ deprecate attribute
- if someone wants to keep the snake_case classes it is a simple using declaration in their code
- for methods and functions we could think of a similar strategy
- snake_case for some classes and methods in
- How to inform people about the Rust implementation on iceoryx.io, Christian, 5 min
- Simon will look at the self service option; is not critical and can be done when we have time
- New meeting date is first Tuesday of the month at 5 p.m. CET
- if there is high demand a meeting in the middle of the month can be requested
- check who else can add the meeting date to the ROS calendar -> Simon takes care
- Update link in governance.md to the new element based video chat -> Mathias takes care
- Relax flat include structure
- posix is flat include and flat
iox
namespace - concurrent is flat include and
iox::concurrent
namespace - units is flat include and
iox::units
namespace - non public API has a
iox/detail/foo.hpp
include and is in theiox::detail
namespace - non public API of bigger modules, like
cli
can opt in foriox/detail/cli
andiox::detail::cli
- public API is in
iox/header.hpp
- posix is flat include and flat
- Create a PR to move to C++17
-
merge the PR only once C++23 is officially released which should be the case at the end of November 2023- it seems it takes until December for the official announcement so we merge it immediately
-
- Reduced list but can be reduce later on even more
- Postponed to next meetup
- Update iceoryx.io
- maybe also register iceoryx.rs
- maybe restructure iceoryx.io for the new Rust implementation
Next meeting
- move
dust
toiceoryx_hoofs
oriceoryx_hoofs/experimental
oriceoryx_hoofs/addons
? - which additional packages to release, e.g.
gateway
, ARA COM and RMW and Rust binding, ROS release?