Quelltexte
Auf Quelltexte zugreifen
Die Quelltexte von Adblock Plus können über das HG Web-Interface betrachtet werden. Für eine lokale Kopie führt man den folgenden Befehl auf der Befehlszeile aus:
hg clone https://hg.adblockplus.org/adblockplus/
Ähnliche Repositories wurden für die Erweiterungen Element Hiding Helper und Adblock Plus Watcher aufgesetzt. Um die lokale Kopie auf die Quelltexte einer bestimmten Version von Adblock Plus zurückzusetzen führt man diesen Befehl aus:
hg up -r ADBLOCK_PLUS_1_0_1_RELEASE
(ADBLOCK_PLUS_1_0_1_RELEASE muss durch den Tag der benötigten Version ersetzt werden).
Alternativ kann man auch die Quelltexte der letzten Version herunterladen.
Für einen Überblick siehe Quelltext-Dokumentation [en].
HG-Client und Dokumentation
- Mercurial (Schnelleinstieg)
- Mozillas Mercurial FAQ
- Distributed Revision Control with Mercurial (hgbook)
- GUI clients and other tools
Ein Adblock Plus Installationspaket erstellen
Um eine Entwicklungsversion zu erstellen, geht man ins Verzeichnis “adblockplus” (die lokale Kopie der Quelltexte) und führt das Skript make_devbuild.pl aus:
perl make_devbuild.pl
Das wird eine Datei mit einem Namen wie adblockplus-1.2.3.4+.nnnnnnnnnn.xpi erstellen, die aus den Quelltexten im aktuellen Verzeichnis (einschließlich aller gefundenen Übersetzungen) zusammengesetzt ist. Will man nur bestimmte Übersetzungen in das Installationspaket aufnehmen, kann man diese in der Befehlszeile auflisten z.B.:
perl make_devbuild.pl en-US de-DE ru-RU
Bemerkung: Das sollte unter Linux und OS X auch ohne zusätzliche Software funktionieren, unter Windows braucht man Perl und Info-ZIP. Beide sind Bestandteil des Packets MozillaBuild.
Test-Umgebung aufsetzen und automatische Tests ausführen
Fürs Testen jeder kleinen Änderung ein Installationspaket zu erstellen, es zu installieren und den Browser neu zu starten ist lästig. Damit das einfacher geht, erstellt man eine Datei “.profileDirs” im Stammverzeichnis der lokalen Quelltextkopie, und listet die Anwendungsprofile auf, mit denen man testen will:
c:\Documents and Setting\<user>\Application Data\Mozilla\Firefox\Profiles\<seed>.default c:\Documents and Setting\<user>\Application Data\Songbird2\Profiles\<seed>.default
Anschließend soll das Skript setupTestEnvironment.pl von der Befehlszeile aufgerufen werden:
perl setupTestEnvironment.pl
Dieses wird Adblock Plus in allen aufgelisteten Profilen einrichten. Dabei werden nur install.rdf, chrome.manifest, XPCOM-Komponenten und Einstellungen tatsächlich kopiert, der Browser wird für die Chrome-Dateien direkt auf das aktuelle Verzeichnis zugreifen. Wenn man dann noch die Einstellung nglayout.debug.disable_xul_cache auf true setzt, werden Änderungen
der Dateien ohne Browserneustart übernommen.
Ist die Test-Umgebung eingerichtet, lassen sich die automatischen Tests starten, indem man im Browser die Seite chrome://mochikit/content/harness-abp.xul?autorun=1 aufruft.
