ml-gradle basiert auf dem populären Java Build-Tool ml-gradle Tools für MarkLogic ml-gradle . Mittels vordefinierter oder eigener Tasks werden JSON Dateien automatisiert erstellt, die als Payload für REST Calls auf MarkLogic fungieren. Dabei wird die MarkLogic REST API bedient. Bei der Deployment-Aktion selbst wird schliesslich das Payload eingesammelt und abgesetzt.
Grds. ist diese Idee nicht verkehrt, es gibt aber nun mehrere Stellen, an denen die Konfiguration modifiziert werden kann - was sich bei fehlender Disziplin der Entwickler natürlich eher nachteilig auswirken könnte:
Setzen vordefinierter Properties in der Datei gradle.properties
Mittels vordefinierter Create-Tasks, z.B. gradle mlNewDatabase
werden Skelett-Dateien erzeugt, die man manuell bzgl. fehlender Konfigurationsinformationen vervollständigt.
Es gibt einen Token-basierten Mechanismus, mit dem vordefinierte Platzhalter in Konfigurationsdateien (Payload-Files) dynamisch ersetzt werden.
Eigene Groovy-Tasks können implementiert werden. Diese werden z.B. in der Datei build.gradle eingebunden. Beispiel für einen einfachen Groovy-Task