Das geht ja auch einfach!

Schneller Projektstart mit Eclipse

Frederic Ebelshäuser, Nina Geiger, Sophie Hollmann

©iStockphoto.com/CTRd ©S&S Media

Ein neues Entwicklungsprojekt mit Eclipse starten – das geht nicht einfach nebenbei. Das richtige Eclipse-Package muss her, Plug-ins und Repositories wollen aufgetrieben werden, und einen Workspace einzurichten, ist auch nicht jedermanns Lieblingsbeschäftigung. Bisher vergingen schon mal ein paar Tage, bevor man mit Eclipse tatsächlich produktiv werden konnte. Das ändert sich jetzt.

Jeder, der bereits einmal mit Eclipse Software entwickelt hat, weiß, wie viel Zeit das Installieren und Einrichten der Entwicklungsumgebung in Anspruch nimmt. Welches Paket ist das richtige? Welche Plug-ins werden benötigt? Welche Projekte müssen in den Workspace, und aus welchen Repositories muss der Quellcode ausgecheckt werden?

Schon in den ersten Vorlesungen an der Uni beginnt für Studenten der Kampf mit der Entwicklungsumgebung – und mit mehrseitigen Installationsanweisungen. Noch unübersichtlicher wird die Situation, sobald man als Entwickler die Uni verlassen hat und sich an größere Softwareprojekte in Teams wagt. Ein neues Teammitglied muss dann nicht nur alle notwendigen Plug-ins für Eclipse installieren, sondern zusätzlich auch Quellcode aus verschiedenen Repositories auschecken und gegebenenfalls Mylyn-Tasks aus einem Task-Repository synchronisieren. Viele Entwickler antworten deshalb nach dem ersten Arbeitstag an einem neuen Projekt auf die Frage: „Was hast du heute gemacht?“ mit der Aussage: „Eclipse eingerichtet …“.

David Developer

Stellen wir uns an dieser Stelle vor, es könnte auch einfach sein. Stellen wir uns David vor. David ist ein erfahrener Softwareentwickler und hat bereits in unterschiedlichsten Projekten mit Eclipse gearbeitet. Die Hürden des Projektstarts kennt er nur allzu gut. Seit Kurzem arbeitet David an einem neuen Projekt – und kann Erstaunliches berichten:

„David, erinnere dich an deinen ersten Tag im neuen Projekt. Was hast du gemacht?“
Oh, das weiß ich noch sehr genau. Ich hatte den üblichen Anfangstrott erwartet. Halt einen Tag, der sich so dahin schleppt. Man trinkt Kaffee und wartet darauf, dass ein Eclipse-Plug-in nach dem anderen installiert wird, fragt gefühlte tausend Leute, welche Projekte man wo auschecken muss und wundert sich, ob man jemals anfangen kann zu arbeiten. Als ich dann nach einer halben Stunde angefangen habe, mich in den Quelltext einzuarbeiten, hatte ich noch nicht mal meine erste Tasse Kaffee getrunken …“.

„Oh, wie hast du das gemacht? Ein besonders einfaches Projekt-Set-up?“
„Nein, überhaupt nicht. Im Gegenteil! Meine Projektleiterin schickte mir eine Willkommensmail. In der fand ich einen Link zur Homepage eines Eclipse-Profils, und das war exakt auf die Anforderungen unseres Entwicklungsprojekts zugeschnitten. Das Profil enthielt ein komplettes Eclipse-Set-up inklusive aller Plug-ins, die ich für das Projekt brauchte. Auch die Repositories waren schon konfiguriert. Ich musste nur noch auf der Webseite „Install Profile“ klicken. Kurze Zeit später öffnete sich ein fix und fertig eingerichtetes Eclipse. Ich konnte einfach loslegen!“

„Wow, also ein echter Set-up-Rekord beim Start in ein neues Projekt?“
„Ja, das kann man so sagen. Und nicht nur das: Mit dem Profil konnte ich auch eine kleine Desktop-App namens Launcher installieren. Der Launcher fungiert unter anderem als Profilliste, und hier habe ich das erste Mal gesehen, wie viele verschiedene Eclipse-Set-ups ich eigentlich habe. Jedes Eclipse-Profil kann man direkt über den Launcher starten. Man kann den Profilen endlich auch gescheite Namen geben – und natürlich alle öffentlichen Eclipse-Packages direkt aus dem Launcher heraus installieren. Das hat mir echt gut gefallen.“

„Das Profil war tatsächlich fix und fertig? Musstest du gar keine Anpassungen mehr vornehmen?“
„Naja, im Profil meiner Projektleiterin fehlte mir noch mein Lieblings-Plug-in, nämlich der GWT Designer. Das habe ich einfach in das Eclipse zusätzlich installiert. Änderungen am Profil werden sofort lokal gespeichert. Um das neue, geänderte Profil mit meinen Kollegen zu teilen, konnte ich es direkt uploaden. Erst dafür musste ich mich registrieren – sonst wüssten ja auch meine Kollegen nicht, woher das Profil kommt. Alles Weitere passiert dann automatisch. Mein Profil könnt ihr euch gern mal anschauen. Es ist öffentlich frei verfügbar – wie man das von Eclipse kennt.“

Eclipse Profiles

Was hat es mit diesen Profilen auf sich, die David das Leben so sehr vereinfacht haben? Wo kommen sie her? Was können sie wirklich?

Wie geschildert, ist bislang eine Menge Handarbeit notwendig, um Eclipse für Softwareprojekte von Grund auf einzurichten. Nur in der besten aller Welten finden Entwickler alle wichtigen Informationen über Plug-ins und Versionen, Projekte und Repositories zum Start eines Softwareprojekts in einer Installationsanweisung. In den meisten Fällen müssen sich Projektmitarbeiter die Informationen einzeln von unterschiedlichen Personen einholen, bevor die eigentliche Entwicklungsarbeit beginnen kann. Mit Yatta Profiles gehört das alles bald der Vergangenheit an.

Ein Profil ist eine zum Paket geschnürte Eclipse-Workspace-Kombination. Über eine leichtgewichtige Desktop-App, den Yatta Launcher, können Nutzer eigene Eclipse-Set-ups teilen, installieren, starten und verwalten. Ein Yatta-Profil enthält die Eckdaten einer Eclipse-Installation: installierte Plug-ins sowie einen Workspace und dessen Einstellungen. Ein Profil kann zudem sowohl extern über den Yatta Launcher als auch direkt aus Eclipse heraus bearbeitet werden (Abb. 1).

Abb. 1: Über den Profile-Button lässt sich eine „Momentaufnahme“ der eingerichteten Eclipse IDE speichern und teilen

Abb. 1: Über den Profile-Button lässt sich eine „Momentaufnahme“ der eingerichteten Eclipse IDE speichern und teilen

Der Yatta Launcher erkennt automatisch bereits lokal verwendete Eclipse-Workspace-Kombinationen. Nach dem ersten Start der App erscheinen sie automatisch als Profile in der Liste des Launchers. Weitere Eclipse-Workspace Kombinationen lassen sich natürlich jederzeit auch manuell als neues Profil anlegen.

Im Ergebnis können Nutzer mithilfe des Launchers alle Profile von einem zentralen Ort aus starten und verwalten. Das verschafft einen Überblick über alle installierten Eclipse-Instanzen. Jedem Profil kann man zudem einen aussagekräftigen Namen, eine Beschreibung und ein eigenes Icon zuweisen. Auf diese Weise gehört das Durchsuchen des Rechners nach der gewünschten Eclipse-Instanz der Vergangenheit an: Profile sind jederzeit über die Liste im Launcher verfügbar (Abb. 2).

Abb. 2: Neben den Standard-Eclipse-Packages werden im Launcher alle eigenen und installierten Profile gelistet. Außerdem ist er der zentrale Punkt, um Profile zu starten, zu teilen, upzudaten und zu beschreiben

Abb. 2: Neben den Standard-Eclipse-Packages werden im Launcher alle eigenen und installierten Profile gelistet. Außerdem ist er der zentrale Punkt, um Profile zu starten, zu teilen, upzudaten und zu beschreiben

Profile im Team

Profile müssen ihr Dasein aber nicht nur lokal auf einem Rechner fristen. Yatta Profiles bietet nach einer einfachen Nutzerregistrierung die Möglichkeit, eigene Profile auch online zu hinterlegen und zu teilen. Jedes Onlineprofil erhält einen eigenen URL und kann von dort aus auf einen anderen Rechner heruntergeladen und installiert werden – vom Nutzer selbst, von Kollegen oder der Eclipse-Community. Beim Installieren eines Profils können die Dateipfade für Eclipse-Instanz und Workspace selbst definiert werden. Nach der Installation erscheinen auch Onlineprofile in der Profilliste des Launchers und können genau wie lokale Profile gestartet, verändert und erneut geteilt werden (Abb. 3).

Abb. 3: Besonders für den Workflow im Team interessant: Ein Profil lässt sich ganz einfach an alle Kollegen verteilen

Abb. 3: Besonders für den Workflow im Team interessant: Ein Profil lässt sich ganz einfach an alle Kollegen verteilen

Teilen lassen sich Profile über unterschiedliche Kanäle. Im Regelfall wird der Link zum Profil per E-Mail weitergeleitet oder in die Zwischenablage kopiert und weitergeleitet. Für den Austausch innerhalb der Eclipse-Community (oder den Aufbau einer eigenen Usercommunity) werden aber auch alle wichtigen sozialen Netzwerke unterstützt, darunter Twitter, Facebook oder Google Plus. Der Empfänger kann das Profil dann auf zwei Weisen installieren: über den Link per Browserdownload oder per Copy and Paste direkt über den Launcher.

Auch das Löschen oder Deinstallieren von Profilen ist über den Launcher möglich. Nutzer können dabei entscheiden, ob sie lediglich den zum Profil gehörigen Eintrag aus der Profilliste entfernen oder das gesamte Eclipse-Set-up inklusive zugehörigem Workspace von der Festplatte des Rechners deinstallieren möchten.

Wer ein eigenes Profil von Grund auf erstellen möchte, findet über den Launcher zudem eine Liste aller bestehenden Eclipse-Packages. Die Packages lassen sich direkt über den Launcher herunterladen und installieren und sind anschließend als neues Profil in der Profilliste des Launchers verfügbar. Von dort aus können sie auch beliebig angepasst und als neues Profil gespeichert werden.

Gerade im Team erleichtern Profile also den Workflow. So können Teammitglieder viel schneller mit der eigentlichen Arbeit am Projekt loslegen und müssen auch für Updates keine Zwangspause mehr einlegen.

Profiles unter der Lupe

Yatta Profiles setzt auf dem bekannten Eclipse-Projekt Oomph auf. Mit dem Launcher enthält das Gesamtpaket einen automatisierten und leichtgewichtigen Mechanismus zum Erzeugen von Eclipse-Set-up-Informationen. Die Kernkompetenz von Yatta Profiles ist aber das Teilen dieser Informationen in Form eines Profils.

Kurz gesagt handelt es sich bei einem Profil um ein Paket aus Set-up-Informationen, die ein automatisches Einrichten von Eclipse und Workspace erlauben (Abb. 4). Doch welche Informationen genau werden hierbei eigentlich geteilt?

Abb. 4: Yatta Profiles schnürt alle wichtigen Eckdaten eines Eclipse-Set-ups zu einem Paket aus Set-up-Informationen und Workspace

Abb. 4: Yatta Profiles schnürt alle wichtigen Eckdaten eines Eclipse-Set-ups zu einem Paket aus Set-up-Informationen und Workspace

Neben der Eclipse-Version umfassen Profile alle installierten Plug-ins und deren Versionen sowie die URLs der zugehörigen Updatesites. Zum Einrichten des Workspace werden außerdem Repositories, Projekte und Settings ins Profil übertragen. Der Quelltext selbst wird dabei aber nicht hochgeladen oder geteilt. Ein Profil enthält lediglich Links zu Repositories und Updatesites.

Nach der Installation eines Profils sucht der Yatta Launcher automatisch nach dem passenden Java Runtime Environment und passt bei Bedarf die eclipse.ini an. So ist ein reibungsloser Start des Profils gewährleistet. Sobald die Installation abgeschlossen ist, startet die mit dem Profil installierte Eclipse-Instanz, und der Workspace wird initialisiert. In diesem Schritt werden alle im Profil verlinkten Repositories eingerichtet, die enthaltenen Projekte entsprechend ihrer Metadaten angelegt und wenn möglich, benötigte Quelltexte ausgecheckt. Dies geschieht automatisiert für alle Repositories mit öffentlichem Zugang. Für alle anderen Repositories müssen User Credentials eingegeben werden. Alle Mylyn Task Repositories und die zugehörigen Queries, die im Profil enthalten sind, werden im Workspace eingerichtet und alle erstellten Projekte ihren Working-Sets zugeordnet. Nach abgeschlossener Einrichtung des Workspace kann mit der Arbeit am Projekt begonnen werden.

Für diejenigen Einstellungen von Eclipse-Workspace-Set-ups, die sich derzeit noch nicht automatisch in einem Profil speichern lassen, stellen manuell erstellte Eclipse-Oomph-Profile eine weitere Möglichkeiten da. Aktuell können solche manuell erstellte Oomph-Profile zwar noch nicht automatisch in Yatta Profiles übernommen werden, aber das Team von Yatta – darunter auch diverse Oomph Committer – arbeitet bereits daran. Bis dahin bietet das Unternehmen Eclipse-Entwicklern an, soweit möglich die Oomph-Set-ups manuell in Yatta-Profile umzuwandeln.

Eine Liste aller Profilinhalte und die Übersicht darüber, welche Informationen geteilt werden, ist in Tabelle 1 dargestellt.

ebelshaeuser_tab1

Noch decken Profile vielleicht nicht alle Feinheiten und Spezialfälle bei der Einrichtung von Eclipse ab. Bereits jetzt liefern sie jedoch ein Eclipse-Set-up, das zu Projektstart viel Zeit spart, und weitere Features sind bereits in Planung.

Zu Yatta Profiles for Eclipse
Yatta Profiles for Eclipse ermöglicht das Teilen, Verwalten und Starten von Eclipse-Workspace-Kombinationen (Profilen). Bestandteil von Yatta Profiles ist der Launcher, eine App, mit der sich Profile aus bestehenden Eclipse-Set-ups erstellen lassen. Ein Profil umfasst zum Beispiel installierte Plug-ins, Workspace-Einstellungen sowie URLs von Task und Sourcecode Repositories. Einmal erstellt, können Profile auf verschiedenen Wegen geteilt werden, zum Beispiel per E-Mail oder über soziale Netzwerke. Besonders bei Teamprojekten reduziert Yatta Profiles so den Aufwand bei der Einrichtung von Eclipse. Ein Updatemechanismus stellt sicher, dass auch Änderungen am Profil einfach und komfortabel geteilt und angewendet werden können.
Die Umwandlung in Profile erleichtert auch das Verwalten unterschiedlicher Eclipse-Set-ups: Profile lassen sich per Drag and Drop ordnen und direkt aus dem Launcher starten, löschen oder bei Bedarf aktualisieren.
Das im Artikel erwähnte, von David erstellte Profil sowie den Yatta Eclipse Launcher gibt es hier zum Download.

Zeiten ändern sich – Profile auch

Eine einmal installierte Eclipse IDE bleibt keinesfalls für immer unverändert. Plug-ins brauchen von Zeit zu Zeit ein Update, sie werden gelöscht, und ab und an kommt auch ein neues Plug-in hinzu. Vielleicht wird sogar ein neues Eclipse-Release eingespielt. Schon ist die IDE ganz anders als bei der ersten Einrichtung. Gleiches gilt für den mit Eclipse verwendeten Workspace. Ein Profil ist also Änderungen unterworfen, die sich mit fortschreitender Projektlaufzeit mehren. Was passiert in einem solchen Fall mit dem Profil?

Abb. 5: Erstellen, teilen, downloaden und updaten: Profile sind vielseitig und ersparen viele Arbeitsschritte

Abb. 5: Erstellen, teilen, downloaden und updaten: Profile sind vielseitig und ersparen viele Arbeitsschritte

Schauen wir uns das Problem an einem Beispiel an: David installiert das Profil seiner Projektleiterin per Klick auf „Install Profile“. Die Projektleiterin nimmt nun Änderungen an ihrem Profil vor. Der Updatemechanismus von Yatta Profiles for Eclipse registriert die lokale Änderung, und am Profileintrag im Launcher erscheint eine Markierung. Die Projektleiterin kann ihre Änderungen nun hochladen („pushen“), um sie ihrem Team zur Verfügung zu stellen. Auf Davids Rechner erscheint am Eintrag des installierten Profils ebenfalls eine Markierung, um online vorhandene Änderungen als verfügbares Update anzuzeigen. David kann die Änderungen annehmen und in sein Profil übertragen („pullen“) – oder sich dagegen entscheiden und auf dem vorigen Stand bleiben. Entscheidet sich David, die Änderungen anzuwenden, werden diese additiv seinem Profil hinzugefügt. Auf diese Weise werden keine Plug-ins aus Eclipse deinstalliert, und Projekte bleiben in jedem Fall erhalten.

David kann ebenfalls jederzeit Änderungen an seinem installierten Profil vornehmen, ohne das Profil seiner Projektleiterin dabei zu beeinflussen. Wenn David will, kann er auch seine eigene Version des Profils teilen. Auf diese Weise ist die Realisierung ganzer Ketten von Profilen möglich, die stufenweise aufeinander aufbauen: Sie folgen einander, damit Updates jederzeit sichtbar sind.

Ergeben sich in einem Softwareprojekt also neue Anforderungen an die Entwicklungsumgebung, muss mit Yatta Profiles nur ein einziges Profil angepasst werden, in unserem Beispiel das Profil der Projektleiterin. Alle Teammitglieder müssen diese Änderungen anschließend nur noch in ihre eigene Instanz des Profils übernehmen. Auf diese Weise bleiben Profile dynamisch und lassen sich veränderten Anforderungen anpassen. Gleichzeitig behalten Nutzer auch die Kontrolle darüber, welche Updates sie anwenden möchten und welche nicht (Abb. 5). So lassen sich Updates von Eclipse trotz über 2 500 verschiedener Plug-ins (Open Source und proprietär) einfacher handhaben – für Freunde, Kollegen und die Community (Abb. 6).

Abb. 6: Aus der Cloud über die App direkt auf den eigenen Rechner. Als Profile sind Eclipse-Set-ups mit wenigen Klicks installiert

Abb. 6: Aus der Cloud über die App direkt auf den eigenen Rechner. Als Profile sind Eclipse-Set-ups mit wenigen Klicks installiert

Nach dem Release ist vor dem Release

Profile können Entwicklern bereits jetzt den Arbeitsalltag erleichtern. Nichtsdestotrotz soll Yatta Profiles weiter wachsen und kontinuierlich mit weiteren Features ausgestattet werden. Die Erweiterung der unterstützen Profilinhalte ist zum Beispiel schon in Arbeit. So wird momentan nur Git als Sourcecode-Management-System (SCM) unterstützt. Teams, die beispielsweise SVN einsetzen, müssen sich aber nur kurz gedulden. Weitere SCMs werden in Kürze von Yatta Profiles unterstützt.

Daneben stehen zusätzliche Features bereits auf der Roadmap: Zum einen sollen Nutzer auch persönliche User Settings, wie etwa Views und Layouts, speichern und auf eigene Profile anwenden können. Ebenso wichtig: Yatta Profiles bietet zwar bereits jetzt die Möglichkeit, Profile mit Teammitgliedern zu teilen, aber dies aktuell nur öffentlich. Da zu jedem Profil eine Webseite (URL) generiert wird, sind alle geteilten Profile auch öffentlich über ihren Profillink erreichbar. Ein Zugangsschutz für Profile, das so genannte Private Sharing, ist daher ein weiterer wichtiger Baustein auf der Roadmap. Für Unternehmen, die die Profile sogar ausschließlich innerhalb ihres internen Firmennetzwerks nutzen möchten, kooperiert Yatta mit anderen Eclipse-Mitgliedsunternehmen. Unternehmen, die bereits ein Eclipse-Enterprise-Hosting anbieten, sollen Yatta Profiles zu diesem Zweck auch integrieren können, ganz im Sinne des Eclipse-Gedankens, dass sich in der Community jeder auf seine Stärken fokussiert.

Damit ist Yatta Profiles ein Beispiel dafür, wie Eclipse-Mitgliedsunternehmen zu einer lebendigen Community beitragen und Eclipse wieder nach vorne bringen. Dazu braucht es glückliche Nutzer. Seien Sie dabei!

Geschrieben von
Frederic Ebelshäuser
Frederic Ebelshäuser
Frederic Ebelshäuser ist Projektleiter und Software-Engineer bei Yatta. Er entwickelte E-Commerce-Lösungen als Consultant in verschiedenen Bereichen. Heute kümmert sich Frederic als Projektleiter um Eclipse-Integrationen von Yatta, darunter auch die Entwicklung der Profiles for Eclipse. Außerdem engagiert er sich als Speaker mit Vorträgen in der Eclipse-Community. Frederic begeistert sich für kulturelle Erlebnisreisen und frühstückt am liebsten in Barcelona.
Nina Geiger
Nina Geiger
Nina Geiger ist die Expertin fürs Frontend im Yatta-Profiles-Team. Dort sorgt sie als Software-Engineer für die schnittige Bedienoberfläche des Launchers und größtmögliche Usability. Nina promoviert über Model-driven Web Engineering. Wenn sie gerade nicht programmiert, verschönert sie ihren Garten oder ist auf der Suche nach der besten Wolle für ihr nächstes Strickprojekt.
Sophie Hollmann
Sophie Hollmann
Sophie Hollmann ist Technische Redakteurin und bei Yatta mit der umfassenden Dokumentation von Yatta Profiles for Eclipse betraut. Die Spezialistin in Sachen strukturierter Text ist für die knackige Aufbereitung wichtiger Informationen zuständig. Die vielen verschiedenen Informationen und technischen Daten in ihrem Kopf hält sie in der Freizeit mit Cellospielen und Radtouren unter Kontrolle.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: