Project

General

Profile

Actions

Support Request #4003

closed

CE does not resolve OS variables

Added by hidden over 5 years ago. Updated over 5 years ago.

Status:
Closed
Priority:
Normal
Customer:
AUDI
Department:
EF
Requester's Priority:
Normal
Support Level:
2nd Level
Resolution:
Solved Issue
Affected Products:
Platform:
Topic:
ADTF::CE
FAQ Links:

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
Actions #1

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
Actions #2

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

Actions #3

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

Actions #4

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 ?

Actions #5

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

Actions #6

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.

Actions #7

Updated by hidden over 5 years ago

  • Status changed from To Be Closed to Closed
Actions

Also available in: Atom PDF