Transformationsprozess

Verzeichnisstruktur

In einem ersten Überblick sieht man die Verzeichnisstruktur eines Homepage Projekts.

  + PROJECT Das Projektverzeichnis.
  !
  +-- ./homepage-css.properties Benutzerdefinierte CSS Definitionen.
  +-- ./build.properties        Die FTP Eigenschaften.
  !
  +-- ${www} Das Verzeichnis mit den XML Snippets. Der Name 'www' ist
  !          vorgegeben.
  !
  +--+ ${target} Das Arbeitsverzeichnis. Alle Ausgaben landen hier in
     !           dieses Verzeichnis. Der Name 'target' ist vorgegeben.
     !
     +-- ${resource} Die 'Plugin-Resourcen'. Die Standalone Variante
     !               entpackt die Resourcen aus gluehloch-homepage-resource 
     !               in dieses Verzeichnis. Der Name 'resource' ist
     !               vorgegeben.
     !
     +-- ${wwwPrep}  Erster Transformationsschritt. Der Name 'www-prep'
     !               ist vorgegeben.
     !
     +-- ${www}      Zweiter Transformationsschritt. Endprodukt. Der Name
                     'www' ist vorgegeben.
  • PROJECT/www enthält alle Homepage Dateien (*.xml, *.js, *.css, *.php u.s.w.). Dieses Verzeichnis findet sich wieder als Kommandozeilenparameter hinter -project <PROJECT>
  • PROJECT/target ist das allgemeine Ausgabeverzeichnis für den Transformationsprozess.

Schritt 1

Parsen der Kommandozeilenparameter (Momentan existieren die Parameter project, clean und upload).

Schritt 2

Das Target-Verzeichnis wird bei Bedarf gelöscht, d.h. die Applikation wird mit dem Parameter clean gestartet. In Version 1.5. werden nur geänderte Quelldateien transformiert und auf den Server geladen.

Die Web-Resourcen aus gluehloch-homepage-resource werden ausgepackt und unter das Verzeichnis target/resource abgelegt. Außerdem werden die Verzeichnisse target/wwwPrep und target/www angelegt.

Die Zuständigkeit liegt bei PrepareDirectories.

Schritt 3

Unter target/wwwPrep kommen alle Resourcen aus target/resource, d.h. die Dateien, die nicht durch den Snippet-Transformationsprozess laufen müssen.

Die Zuständigkeit liegt bei PrepareSnippetDirectory.

Schritt 4

Kopieren aller Nicht-Snippet Dateien nach target/www.

Die Zuständigkeit liegt bei CopyNonSnippetFiles

Schritt 5

Die Zuständigkeit liegt wieder bei PrepareSnippetDirectory.