Comments (8)
Each package already has the version number declared in the package.xml
file which also gets bumped for every release. That value is available in CMake as <pkgname>_VERSION
after the manifest file was parsed (that happens either in ament_package()
or when ament_package_xml()
is called any time earlier). So that information could be used for the macros which will need to be generated using configure_file()
.
from rcutils.
That sounds like a good idea. Please consider to contribute pull requests for packages where you see the need for it.
from rcutils.
I can do a naive versioninig: plain C/C++ macros that should be upgraded manually before each build.
A "grownup", a right way to do versioning is to keep the last built version in some external DB and increment the minor version automatically and major/minor versions in a semi-auto way (via Jenkins commands?). This approach IMO should be implemented by ROS2 insiders who have full access to build infrastructure.
@dirk-thomas, should I go ahead with the naive approach pull request?
from rcutils.
@dirk-thomas, see #175
from rcutils.
@clalancette how broad is this issue? rclcpp already generates a version header. Is there also a need for that in rcutils?
from rcutils.
@clalancette how broad is this issue? rclcpp already generates a version header. Is there also a need for that in rcutils?
I have no idea, honestly. Maybe @serge-nikulin can weigh in.
from rcutils.
@clalancette how broad is this issue? rclcpp already generates a version header. Is there also a need for that in rcutils?
This issue is very old. Back in 2019 ROS2 did not have any version information.
You can close this issue I guess.
Back then I wanted to generate version information for every generated library.
Rationale: in many shops, all files must have version information, and many safety and security standards require version tagging of every distributed file.
from rcutils.
Based on the previous comment, closing. Feel free to reopen if you change your mind and would like to continue.
from rcutils.
Related Issues (20)
- Arch Linux: Compilation error with rcutils in ros2 HOT 5
- cmake warning on OSX: No known linker flag to force library linkage HOT 1
- Warnings while compiling to WebAssembly HOT 2
- error: rcutils/logging_macros.h: No such file or directory HOT 1
- New warning in the packaging linux jobs HOT 3
- logging_macros.h not found HOT 1
- Why does `rcutils_expand_user` fail on non-existent directory? HOT 2
- High logging overhead HOT 5
- AddressSanitizer: new-delete-type-mismatch in rcutils_string_map_fini HOT 3
- Human Readable time in logs HOT 12
- "Failed to find exported target names" error while colcon build HOT 3
- Undefined symbol: rcutils_log_internal HOT 2
- Make logging functionality truly thread-safe HOT 3
- performance_test_fixture not found HOT 4
- Valgrind shows leak in rcutils_load_shared_library HOT 1
- Superfluous `va_copy` call in `rcutils_char_array_vsprintf` HOT 2
- Test failure on nightly_linux_address_sanitizer
- Consol formating ignores escape sequences HOT 4
- Setting/relying on _GNU_SOURCE seems incorrect HOT 2
- out-of-memory in allocator.c HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rcutils.