Talk to Snipplr with Groovy

Wie ich schon geschrieben habe, bin ich derzeit dabei in Groovy einzuarbeiten. Dazu schreibe ich ein kleinen Command Line Tool, welches wir zum Eclipse-RCP-Release-bauen verwenden können. Es gibt da einen Job den nennen wir “Nümmerlitiger” (jeder Entwickler darf mal). Eine Eclipseapplikation besteht aus Plugins und sind alle in separaten Eclipseprojekten. Wenn man nun die Version zu einem Plugin baut, so müssen wir pro Plugin an dem entwickelt wurde (diff in subversion) wurde die Bundle-Version-Nummer im MANIFEST.MF des Plugins hochsetzen, dann die Datei ins Subversion einchecken und dann noch unsere MAP-Datei auf die Versionsnummer aktualisieren. Die MAP-Datei (Siehe dazu Präsentation von meinen Kollegen Edwin und Löti) ist unsere Steuerdatei für den automatischen Build. Diese muss natürlich zum Schluss auch eingecheckt werden. Ausserdem darf man das Taggen des Plugins nicht vergessen. Der Prozess ist nicht nur Fehleranfällig, nein er ist auch langweilig und dauert schon mal 30min wenn man wie wir ca. 20 Plugins in einem Projekt hat.

Gestern bin ich beim Suchen nach Beispielen auf snipplr gestossen und habe am Abend gleich mal probiert mit Groovy auf die XML-RPC Schnittstelle zuzugreifen.

[snippet=2624]

Das ist wirklich einfach. (Übrigens wird der Code via einem Snipplr-Wordpress-Plugin von snipplr geholt und dargestellt. Die Buchstaben “URL” z.B. sind ein Link auf Google.) Als XML-RPC-Implementierung habe ich die von ws.apache.org benutzt.

Update 2008-03-03: Das Plugin funktioniert nicht mehr mit neueren WordPress-Versionen. Deshalb der Code hier:

package net.nautsch.snipplr;import org.apache.xmlrpc.client.XmlRpcClient;

import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;

class SnipplrRunner {

static void main(args) {

        XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl()

    config.setServerURL(new URL("http://snipplr.com/xml-rpc.php"))

XmlRpcClient client = new XmlRpcClient()

        client.setConfig(config)

        Object[] params = ["insert your id here"]

def boolean result = client.execute("user.checkkey", params)

    println result

  }

}

2 thoughts on “Talk to Snipplr with Groovy

  1. Ich habe gerade bemerkt, dass Snipplr den Source nicht immer liefert. Die API-Key-Validierung im Plugin scheint fehlzuschlagen (im Moment jedenfalls). Mal schauen, wie sich das Problem lösen lässt…

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s