New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
OpenDDS cannot be configured with environment variables #4491
Conversation
23b75e0
to
fd5d92a
Compare
LPTSTR env_string = (LPTSTR) env_strings; | ||
|
||
while (*env_string) { | ||
parse_env(ACE_TEXT_ALWAYS_CHAR(env_string)); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mitza-oci Does this make sense?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Try adding a uses_wchar Windows build to CI
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For posterity...
build_and_test.yml is at the limit that GHA will allow so we will need to refactor it before we can add another build.
Converting an existing Windows build failed with build errors. One of the root causes was wide character not being supported correctly for ACE's XML support. So, we will need to be selective about what features to include in such a build.
I will record these points in the Wiki.
11adb2d
to
363b7d2
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This could be tested by setting the environment in the Perl test driver or spawning a child process with a modified environment.
Problem ------- OpenDDS cannot be configured with environment variables. Configuring with environment variables is useful for containers and cloud deployments. Solution -------- Parse environment variables and add them to the ConfigStore. Only environment variables starting with OPENDDS_ are parsed. The remainder of the name is used as the key for the ConfigStore. Environment variables are processed before command-line arguments and the config file.
Problem
OpenDDS cannot be configured with environment variables. Configuring with environment variables is useful for containers and cloud deployments.
Solution
Parse environment variables and add them to the ConfigStore. Only environment variables starting with OPENDDS_ are parsed. The remainder of the name is used as the key for the ConfigStore. Environment variables are processed before command-line arguments and the config file.