Support Request #4003
closedCE does not resolve OS variables
Description
Supportanfrage
in configurationeditor.cesettings gebe ich die Plugin-Pfade unter Referenzierung einer Umgebungsvariable an:
<plugin_directory>
<url>$(ADTF_DEVICE_TOOLBOX_DIR)/bin/*.adtfplugin</url>
</plugin_directory>
<plugin_directory>
<url>$(ADTF_DEVICE_TOOLBOX_DIR)/bin/debug/*.adtfplugin</url>
</plugin_directory>
<plugin_directory>
<url>$(ADTF_CALIBRATION_TOOLBOX_DIR)/bin/*.adtfplugin</url>
</plugin_directory>
<plugin_directory>
<url>$(ADTF_CALIBRATION_TOOLBOX_DIR)/bin/debug/*.adtfplugin</url>
</plugin_directory>
<plugin_directory>
<url>$(SERVICEHWCONFIG_DIR)/bin/release/*.adtfplugin</url>
</plugin_directory>
<plugin_directory>
<url>$(SERVICEHWCONFIG_DIR)/bin/debug/*.adtfplugin</url>
</plugin_directory>
<plugin_directory>
<url>$(DISPLAYHWCONFIG_DIR)/bin/release/*.adtfplugin</url>
</plugin_directory>
<plugin_directory>
<url>$(DISPLAYHWCONFIG_DIR)/bin/debug/*.adtfplugin</url>
</plugin_directory>
Jedes Mal, wenn ich ein Plugin einem adtfsystem hinzufüge, wird aber der absolute Pfad eingetragen, den ich dann im Texteditor wieder korrigiere.
Idee:
-> Warum nicht einfach automatisch in der *.adtfsystem denselben String zur Referenzierung verwenden, der auch in der *.cesettings zum Einsatz kommt?
Lösung
Folgende Facts:- ADTF kennt keine OS Variablen, sondern nur ADTF Env Variablen
- Du kannst aber in System Editor eine ADTF Env Variable auf eine OS Variable mappen
- MY_FANCY_VARIABLE=<os>
- Dadurch mappt die MY_FANCY_VARIABLE ADTF Env Variable (die ADTF ja kennt) auf die gleich benamte OS Variable MY_FANCY_VARIABLE
- Diese verwendest du in deinen Files und damit (indirekt) die OS Variable
- Nun kannst du eine generische Lösung liefern (kein harter Pfad!) und der User definiert die für ihn spezifische OS Variable MY_FANCY_VARIABLE vor dem ADTF Start
Updated by hidden over 5 years ago
- Project changed from Public Support to 4
- Description updated (diff)
- Status changed from New to In Progress
- Topic set to ADTF::CE
- Customer set to AUDI
- Department set to EF
- Affected Products ADTF 3.3.3 added
Updated by hidden over 5 years ago
- Status changed from In Progress to Customer Feedback Required
Hallo Jens,
weil der CE nur die Variablen kennt, die ADTF bereitstellt oder im System File definiert werden.
Wenn du in deinen Session Files OS-Umgebungsvariablen referenzieren willst, dann musst du diese vorher im System Editor mappen, siehe Environment variables
Updated by hidden over 5 years ago
Hmm,
wenn ich das richtig verstehen, ist das Feature für mich so nicht verwendbar.
Problem: Wir versionieren die Konfigurationsdateien mit dem Ziel, dass sie auf mehreren Rechnern funktionieren, auf denen die Umgebungsvariablen auf unterschiedliche Pfade zeigen können. Wenn ich in den Konfigurationsdateien harte Pfade eintrage beißt sich das mit unserem Paketmanagement.
Denkbarer Workaround: Generieren oder automatisiertes Modifizieren der versionierten Konfigurationsdateien bevor sie im ADTF geladen werden.
MfG Jens
Updated by hidden over 5 years ago
Hi Jens,
wenn ich dich dann richtig verstehe, dann verstehst du es falsch, denn genau das ist der Use Case.
Folgende Facts:- ADTF kennt keine OS Variablen, sondern nur ADTF Env Variablen
- Du kannst aber in System Editor eine ADTF Env Variable auf eine OS Variable mappen
- MY_FANCY_VARIABLE=<os>
- Dadurch mappt die MY_FANCY_VARIABLE ADTF Env Variable (die ADTF ja kennt) auf die gleich benamte OS Variable MY_FANCY_VARIABLE
- Diese verwendest du in deinen Files und damit (indirekt) die OS Variable
- Nun kannst du eine generische Lösung liefern (kein harter Pfad!) und der User definiert die für ihn spezifische OS Variable MY_FANCY_VARIABLE vor dem ADTF Start
Besser ?
Updated by hidden over 5 years ago
Ja, das hört sich besser an.
Hat zwar gedauert, bis ich es richtig verstanden habe, aber es funktioniert :)
Ich bin nur nicht sicher, ob der Begriff "Environment variables" dann günstig ist, da man an der Stelle ja ADTF interne Variablen setzt, die z.B. cMacroResolver nicht auflösen kann.
MfG Jens
Updated by hidden over 5 years ago
- Project changed from 4 to Public Support
- Subject changed from CE: Plugin-Pfade to CE does not resolve OS variables
- Description updated (diff)
- Status changed from Customer Feedback Required to To Be Closed
- Private changed from Yes to No
- Resolution set to Solved Issue
- Product Issue Numbers set to https://www.cip.audi.de/jira/browse/ACORE-9661
Hi Jens,
sehr gut wenn du nun damit klarkommst.
Das Wording finde ich ebenfalls ungünstige Altlast, soll im Redesign des System Editors besser gruppiert werden.