2008-09-23 9 views
13

In unseren Java-Anwendungen verwenden wir normalerweise die Maven-Konventionen (docs, src/java, test usw.). Für Perl folgen wir ähnlichen Konventionen nur mit einer 'Lib' auf oberster Ebene, die einfach zu Perls @ INC hinzugefügt werden kann.Verzeichnislayout für Erlang Services?

Ich bin dabei, einen in Erlang geschriebenen Dienst zu erstellen, was ist ein gutes Quelllayout für Erlang-Anwendungen?

Antwort

15

Die von Erlang empfohlene Standardverzeichnisstruktur kann found here sein.

Zusätzlich Sie ein paar weitere Verzeichnisse je nach Ihrem Projekt benötigen, sind häufig diejenigen (Kredit Vance Shipley):

 
    lib:  OS driver libraries 
    bin:  OS executables 
    c_src:  C language source files (e.g. for drivers) 
    java_src: Java language source files 
    examples: Example code 
    mibs:  SNMP MIBs 

Andere Projekte wie Mochiweb ihre eigenen Strukturen haben, Mochiweb sogar ein Skript um alles für dich zu schaffen. Andere Projekte wie Erlware überlagern die Standardstruktur.

3

Ein anderes kritisches Verzeichnis ist das priv-Verzeichnis. Hier können Sie Dateien speichern, die leicht von Ihren Anwendungen gefunden werden können.

code:priv_dir(Name) -> string() | {error, bad_name} 

Dabei ist Name der Name Ihrer Anwendung.

2

Erlware ändert das - in ein paar Tagen werden die Erlware-Strukturen genau die von Erlang OTP sein. Tatsächlich ist die Struktur der App-Pakete bereits genau die von OTP und wie oben angegeben. Was sich ändern wird ist, dass die installierte Erlware-Verzeichnisstruktur genau über eine bestehende Erlang/OTP-Installation passt (natürlich wird zur Installation von Erlware nicht benötigt). Erlware kann nun sehr einfach dazu verwendet werden, Pakete zu einer vorhandenen Installation hinzuzufügen.

Cheers, Martin

+0

Ich habe meine Antwort aktualisiert, um diese positive Veränderung zu reflektieren. Vielen Dank. – Bwooce