de:doc:lua_make
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
de:doc:lua_make [2014/10/26 17:31] – created wsauer | de:doc:lua_make [2014/12/15 13:54] (current) – wsauer | ||
---|---|---|---|
Line 15: | Line 15: | ||
===== Einrichten der Cygwin Laufzeitumgebung ===== | ===== Einrichten der Cygwin Laufzeitumgebung ===== | ||
- | To use the much more powerful unix environment instead of just a stupid | + | Um die wesentlich mächtigere UNIX Umgebung zu nutzen, anstelle einer sehr einfachen |
- | ===== Basics about the Cygwin | + | ===== Basiswissen über die Cygwin |
- | After installing and starting Cygwin, you'll be presented to a DOS like command line, but with some differences: | + | Nach dem Installieren und Starten von CygWin, wird Dir eine DOS ähnliche Kommandozeile dargeboten, mit einigen Unterschieden zu dieser: |
- | * Unix takes care about uppercase and lowercase writing, so everything needs to be correctly written | + | * Unix achtet auf Gross- und Kleinschreibung, deshalb muss alles immer korrekt geschrieben werden. |
- | * the basic commands are different to DOS/ | + | * Die Basikommandos sind unterschiedlich zu denen, die Du von DOS/ |
- | * Unix does not have backslashes | + | * Unix benutzt in diesem speziellen Bereich keine Backslashes |
- | * Unix does not know drive letters like C:\. Instead each drive and directory is a subfolder under the global | + | * Unix kennt keine Laufwerksbuchstaben wie C:\. Anstelle jedes Laufwerkes und Verzeichnisses gibt es einen Unterordner unter dem globalen Wurzelverzeichnis "root" |
- | * with the cursor keys you can move back in the command history. Very helpful to not typing in the same commands all the time | + | * mit den Pfeiltasten kannst Du in der Historie der eingegebenen Kommandos blättern. Sehr hilfreich kann auch ohne dass komplette Abtippen des Kommandos die |
- | * with the TAB key you can auto-complete commands and file names. | + | * TAB Taste sein mit der Kommandos und Dateinamen automatisch komplettiert werden. |
- | * **Very important:** Unix text files have a different End-of-Line-Character as Windows. | + | * **Sehr wichtig!** Unix Textdateien haben einen anderen Ende-der-Zeile Kennzeichner als Windows. |
- | ===== Connect yourself to the central Script | + | ===== Verbinde dich selbst mit dem zentralen Skripte-Aufbewahrungsort (engl. |
- | As soon as several scripts need to be maintained or more as one person is working on the scripts, it's highly recommended to use a central script repository, as we do here in our example with a central [[http:// | + | |
- | To become connected to the so called repository, please get in contact with your repository admin. From him you'll get the so called repository-URL, your username and your password. | + | Sobald mehrere Skripte beibehalten werden müssen oder mehr als eine Person auf den Skripten arbeiten, ist es sehr empfehlenswert, |
- | As next generate an empty directory, wherever you want to store all the script data, e.g. on your desktop | + | Um sich mit dem sogenannten " |
- | | + | Als nächstes erzeuge ein leeres Verzeichnis, |
+ | |||
+ | | ||
mkdir OOBD-Script-Repository | mkdir OOBD-Script-Repository | ||
cd OOBD-Script-Repository | cd OOBD-Script-Repository | ||
| | ||
- | as next create the so called | + | als nächstes erzeuge eine sogenannte |
- | svn checkout | + | svn checkout |
| | ||
- | You'll be asked for username and password, and then svn (which is the short form for subversion) will transfer the whole content of the central repository into your working directory. | + | Du wirst nach deinem Nutzernamen und deinem Passwort gefragt und dann transferiert SVN (die Abkürzung für Subversion) das komplette Repository in dein Arbeitsverzeichnis. |
- | You might notice later that a lot of .svn directories have been created. In there subversion stores the metadata for the maintenance. **Do not delete or even edit these directories!** | + | Du wirst später vielleicht feststellen das eine Menge von .svn Verzeichnisse erzeugt worden sind. In diesen speichert Subversion Metadaten für die Wartung. **Bitte lösche oder verändere diese Verzeichnisse nicht!** |
- | ===== The Directory Tree ===== | + | ===== Der Verzeichnisbaum |
- | To use the available build tools for OOBD, it is essential that you keep the file structure as shown, as the tool settings rely on that. | + | Um die verfügbaren Werkzeuge für OOBD zu nutzen, ist es wesentlich das Du die Datenstruktur so beläßt wie sie ist, weil die Werkzeugeinstellungen darauf beruhen. |
- | After finishing the initial checkout, you'll find a directory and file structure like this: | + | Nach dem Beenden des initialen Auscheckens, findest Du einen Verzeichnis- und Datenstruktur wie folgt vor: |
Line 68: | Line 69: | ||
</ | </ | ||
- | So for what all this good for? | + | So, wofür ist dies nun alles gut? |
- | The **mdx_pool** | + | Das **mdx_pool** |
- | The **tools** | + | Das **tools** |
- | The **oobd_groups.pub** | + | Das **oobd_groups.pub** |
- | Finally there' | + | Letztlich gibt es noch das **lua** |
< | < | ||
Line 114: | Line 115: | ||
</ | </ | ||
- | Inside the **lua** | + | Innerhalb des **lua** |
- | ===== The Meanings of the Files and Directories | + | ===== Die Bedeutung der Dateien und Verzeichnisse |
==== car1_my99_r /_t / _s / _w ==== | ==== car1_my99_r /_t / _s / _w ==== | ||
- | These directories contain the car-line and model-year related stuff. But also each directory represents a so called workgroup, which is used if you going to encrypt the scripts. When doing so, you grant user access to each workgroup seperately, which means you allow the user to use that what you compile inside the related directory. | + | Diese Verzeichnisse enthalten die Fahrzeugreihe und Modelljahr spezifischen Inhalte. Aber auch jedes Verzeichnis repräsentiert eine so genannte Arbeitsgruppe, welche benutzt wird wenn du die verschlüsselten Skripte benutzen möchtest. Wenn Du das tust, ermöglichst du den Nutzerzugriff für jede Arbeitsgruppe einzelnd, das bedeutet Du erlaubst den Nutzer das zu nutzen was Du in diesem Verzeichnis übersetzt. |
- | To make a clear separation between the different level of risks, what a user can make wrong by using a script on a vehicle, we use the directory name extensions to define, in which directory a script must be stored to avoid misuse. The extensions are their meanings are: | + | Um eine klare Trennung zwischen den verschiedenen Niveaus der Risiken, was ein Benutzer mit Hilfe eines Skripts falsch machen kann zu etablieren, verwenden wir die Verzeichnisnamen um Erweiterungen zu definieren, in welchem Verzeichnis ein Skript gespeichert werden muss. Dies geschieht um Missbrauch zu vermeiden. Die Erweiterungen sind ihre Bedeutung sind: |
- | ^ | + | ^ |
- | | _r | Only read access | + | | _r | Nur lesenden Zugriff |
- | | _t | Temporary modifications | + | | _t | Zeitlich begrenzte Veränderungen |
- | | _s | Service - starting tests, changing factory modes etc (for service and repair people) | | + | | _s | Service - Zum Starten von Testsequenzen, ändern von z.B dem Faktorymode des Fahrzeugs oder anderes |
- | | _w | Write Access: Full control over the system | + | | _w | Schreibenden Zugriff: Volle Kontrolle über das System Auto (nur für erfahrene Spezialisten) | |
- | ==== mdx_pool_reference | + | ==== mdx_pool_referenz |
- | Whenever you want to compile some module specs out of the module pool for this particular carline and access level, you list the affected module files name in this mdx_pool_reference- | + | Wann immer Du eine Modulspezifikation aus dem Modulpool für diese bestimmte Fahrzeugbaureihe und Zugriffsebene kompilieren möchtest, listest Du den Namen der betroffenen Moduldateien |
==== car1_my99_carcheck.carcheck ==== | ==== car1_my99_carcheck.carcheck ==== | ||
- | Whenever the build process finds a *.carcheck | + | Wann immer der Bauprozess ein *.carcheck |
==== car1_my99_sw_versions.lua ==== | ==== car1_my99_sw_versions.lua ==== | ||
- | In opposite to all the other automatic generated output this is now a pure handmade script. Whenever the build process finds a *.lua script, it just compiles it. | + | Im Gegensatz zu all den anderen automatisch erzeugten Ausgaben ist dies ein rein manuell hergestelltes Skript. Wenn der Bauprozess ein *.lua Skript findet, übersetzt er es. |
- | ==== lua_reference | + | ==== lua_referenz |
- | In conjunction with the seccode | + | In Verbindung mit den "seccode" Dateien |
- | By convention the original script has to be stored | + | Durch ein Abkommen muss das originale Skript |
==== ABC.seccode ==== | ==== ABC.seccode ==== | ||
- | *.seccode | + | *.seccode |
- | + | In den Luaskripten selbst kann dann das Pseudo Kommando | |
- | For confidential reasons, these *.seccode files are **not included** in the software repository, and it is **forbitten** to upload this or any other format of security codes into the repository, so each script developer has to maintain his personal knowledge about security codes locally and must not publish this into the repository. | + | |
+ | Aus Geheimhaltungsgründen sind diese *.seccode Dateien in dem Softwarerepository **nicht eingebunden**. Es ist ausserdem **verboten** diese oder andere Formate von Sicherheitskodes in das Repository hochzuladen. Deshalb hat jeder Entwickler sein Wissen über über Sicherheitskodes lokal für sich zu behalten und darf es nicht im Repository publizieren. | ||
==== files.inc ==== | ==== files.inc ==== | ||
- | Any other file, which is needed by the script later and which is not already part of the lua compilation process, like e.g. DTC databases can be listed | + | Jede andere Datei, welche später vom Skript benötigt wird und welche nun nicht Teil des Übersetzungsprozess ist, wie z.B. DTC Datenbasen, kann in files.inc |
==== makefile ==== | ==== makefile ==== | ||
- | This makefile don't need to be edited. It's just needed for the build process. | + | Dieses Makefile muss nicht editiert werden. Es wird nur für den Bauprozess benötigt. |
==== presets.rtd ==== | ==== presets.rtd ==== | ||
- | for futher extensions. | + | für spätere Erweiterungen. |
- | ==== carcheck.footer, | + | ==== carcheck.footer, |
- | These are the templates for the carcheck | + | Diese sind Vorlagen für die carcheck |
==== db ==== | ==== db ==== | ||
- | In here database files (*.oodb) | + | Die hierin enthaltene Datenbasendateien |
==== generic.make ==== | ==== generic.make ==== | ||
- | This file controls the whole build process and must not be modified without very good reasons... | + | Diese Datei kontrolliert den gesammten Bauprozess und darf aus sehr guten Gründen nicht verändert werden... |
==== Healthfiles ==== | ==== Healthfiles ==== | ||
- | When generating a vehicle report when doing a carcheck, the resulting | + | Wenn ein Fahrzeugreport erstellt wird durch die Benutzung des Skripts Carcheck, sollten die dabei entstandenen |
==== lib_lua ==== | ==== lib_lua ==== | ||
- | In here you can find some lua library scripts for generic functions | + | In dieser findest du einige Lua Bibliotheksskripte für generische Funktionen |
==== lib_protocol ==== | ==== lib_protocol ==== | ||
- | In here you can find some lua library scripts for diagnostic related functions | + | In dieser hier findest du einige Lua Bibliotheksskripte für diagnosebezogene Funktionen |
- | ==== local.make | + | ==== local.make |
- | local.make | + | local.make |
cp local_template.make local.make | cp local_template.make local.make | ||
- | ==== makefile | + | ==== Makefile |
- | Also here in the lua base directory the makefile is needed for the build process. Just don't change it. | + | Auch in dem lua Basisverzeichnis wird das Makefile für den Bauprozess benötigt. Ändere es einfach nicht. |
- | ===== Running the make process | + | ===== Durchlauf des Makeprozesses |
- | In opposite to all the complicate setup and explanations above, the build process is just simple: | + | Im Gegensatz zu dem komplizierten Setup und den obigen Erklärungen, ist der eigentliche Bauprozess sehr einfach: |
- | Edit or add the files as you need. For a good start, choose one of the existing | + | Bearbeite oder füge Dateien hinzu wie Du es benötigst. Für einen guten Start, wähle eins der existierenden |
- | Then type in the cygwin | + | Tippe dann die cygwin |
- | - **make clean**: | + | - **make clean**: |
- | - **make**: | + | - **make**: |
- | - **make scripts**: | + | - **make scripts**: |
- | - **make pack**: | + | - **make pack**: |
| | ||
- | After that the final output can be found in the configured target directory, encrypted and ready to distribute. | + | Danach kann das Ergebnis |
de/doc/lua_make.1414341074.txt.gz · Last modified: 2014/10/26 17:31 by wsauer