Eclipse und Mylyn

Eclipse und das Entwickler-Backoffice

Bob D. Veloper, Peter Smith und Thorsten Kamann

Neben der Entwicklungsumgebung wie Eclipse hat es der typische Entwickler mit vielen anderen Tools zu tun, die sich nicht immer optimal zusammen nutzen lassen. Das betrifft nicht nur die Tools untereinander, sondern auch die Integration in die Entwicklungsumgebung. Dabei wäre diese Integration besonders wichtig, da es bei allem um das Hauptartefakt eines Entwicklers geht: den Quellcode.

Hallo, mein Name ist Bob D. Veloper. Ich bin Teamleiter eines sieben-köpfigen Entwicklungsteams. Im Laufe der Zeit hat sich bei uns ein Prozess gebildet, bei dem einige Tools eine wichtige Rolle spielen. An erster Stelle kommt das Versionierungssystem. Wir verwenden größtenteils GIT [1], aber auch Subversion [2] ist für einige Projekte noch im Einsatz. Das Task-Tracking-System ist ein weiteres Tool, das wir intensiv verwenden. Hier nutzen wir Atlassian JIRA [3], mit dem wir nicht nur unsere Bugs verwalten, sondern sämtliche Tasks, Requirements und Use Cases. Kurzum, es ist unser Projektmanagementtool. Sehr wichtig ist auch die Continuous Integration. Dafür benutzen wir sowohl Jenkins [4] als auch Atlassian Bamboo [5], vor dem Hintergrund, dass wir Jenkins langsam ablösen möchten. Falls Sie dazu mehr wissen wollen, können Sie mich gerne kontaktieren. Continuous Integration ist bei uns eher Continuous Delivery. Wir bringen damit unsere Produkte durch die verschiedenen Stages wie Test, QA und Produktion. Nun gibt es noch einige weitere Tools, die wir in den meisten Projekten verwenden: Sonar [6] für die Qualitätsmessung, Gerrit [7] und Atlassian Crucible [8] für die Reviews. Nicht zu vergessen ist natürlich unser unternehmensweites Wiki. Dort kommt Atlassian Confluence [9] zum Einsatz. Ich hoffe, dass Sie jetzt einen ersten Überblick über unsere Toollandschaft bekommen haben und gebe jetzt weiter an meinen Kollegen Peter.

Unser Problem mit den Tools

Hallo, ich bin Peter Smith. Ich bin Senior Developer in Bobs Team und kümmere mich in der letzten Zeit um eine bessere Integration der Tools. Wir haben schon einiges geschafft. Durch die vermehrte Nutzung von Atlassian-Tools ist uns die Integration dieser Werkzeuge relativ leicht gefallen. Ein schöner Nebeneffekt ist, dass wir durch die Integration dem Social Coding etwas näher gekommen sind. Jeder Entwickler fühlt sich gut informiert und unsere Teamleiter und Manager sind auch hochzufrieden, da sie zu jeder Zeit wissen, wie weit der Projektfortschritt schon ist. Bei allem Positiven gibt es natürlich auch die andere Seite. Die Integration unseres wichtigsten Tools, das oben gar nicht aufgeführt wurde, fehlt. Dieses Tool ist natürlich die Entwicklungsumgebung. Wir verwenden primär Eclipse. Im Folgenden möchte ich mit Ihnen zusammen die Integration in Eclipse herstellen und anschließend bewerten.

Eclipse und Mylyn

In vielen Eclipse-Distributionen ist Mylyn enthalten. Aber was ist dieses Mylyn? Das Open-Source-Werkzeug möchte das „task-fokussierte“ Arbeiten unterstützen. Die Idee dahinter ist, dass in der heutigen Arbeitswelt ein Entwickler von allem Möglichen abgelenkt wird, seien es E-Mails, Twitter, Facebook oder die Kollegen. Zumindest in der Entwicklungsumgebung soll der Entwickler nur Dinge sehen, die interessant für die Erledigung der aktuellen Aufgabe sind. Zusätzlich soll der Kontext der Aufgabe konserviert werden, wenn der Entwickler die Aufgabe wechselt.

Das erreicht Mylyn mit dem task-focused UI und dem so genannten Kontext. Wird mit einer Aufgabe begonnen, ist alles ausgeblendet. Öffnet der Entwickler einen Editor mit einer Quelldatei, wird das in den Kontext mit aufgenommen und die Quelldatei erscheint zum Beispiel im Project Explorer von Eclipse. So geht es immer weiter, bis der Entwickler seine Aufgabe abschließen möchte. Das erfolgt meist durch einen Commit in das Versionierungssystem. Mylyn hat ein so genanntes Changeset erzeugt, das alle Änderungen enthält und als Titel die Beschreibung des Tasks hat. Aber woher bezieht Mylyn diese Taskbeschreibungen beziehungsweise woher bezieht Mylyn überhaupt die Tasks? Mylyn bietet eine Taskliste, die mit Tasks aus externen Systemen gefüllt werden kann. Das zuerst unterstützte System war Bugzilla. Mit der Zeit kamen viele weitere hinzu. Unter [10] können Sie den aktuellen Stand einsehen. Der Initiator von Mylyn, damals hieß es noch Mylar, Mik Kersten hat inzwischen eine eigene Firma gegründet: Tasktop [11]. Sie bietet kommerzielle Integrationen, zum Beispiel für den Microsoft Team Foundation Server. Bevor ich es vergesse: Sie können mit Mylyn natürlich auch lokale Tasks anlegen. Sie sind dann nicht mehr für andere sichtbar. Aber für die eigene Organisation ist das nicht unpraktisch.

Mylyn und Versionierung

Nun fangen wir an, die einzelnen Tools in Eclipse und Mylyn zu integrieren. Auf den ersten Blick hat die Versionierung nichts mit den Konzepten von Mylyn gemein. Aus einer Versionierung entstehen keine Tasks. Aber trotzdem gibt es eine Verbindung und eine sehr praktische noch dazu. Ist in Mylyn eine Aufgabe aktiviert, kann das Tool bei einem Commit automatisch Informationen aus der Aufgabe als Commit-Message anbieten (Abb. 1). Diese Nachricht ist sowohl projektübergreifend als auch projektspezifisch möglich. Sowohl für GIT als auch für Subversion gibt es Plug-ins. Für beide gibt es ebenfalls die Mylyn-Integration.

Abb. 1: Commit-Messages von Mylyn
Geschrieben von
Bob D. Veloper, Peter Smith und Thorsten Kamann
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.