Setting Up Your Workspace/de

Die meisten Entwickler schlagen ihre Zeit mit Verzögerungen tot. Einer der beliebtesten Wege ist, die Arbeitsumgebung einzurichten. Vielleicht ist der einzige Vorteil dieser Art von Arbeitsverzögerung, dass es *manchmal* eine erhöhte Produktivität nach sich zieht. Viele Tools werden zudem benötigt, um zunächst die Arbeit zu erledigen. Diese Seite wird dir einen Überblick über ein paar absolut notwendige Dinge geben. Natürlich werden auch Dinge dabei sein, die einfach nur nützlich, aber nicht notwendig sind.

## Welche Optionen hast du und was brauchst du?

Es gibt viele Möglichkeiten, die Arbeitsumgebung einzurichten. Dennoch gibt es ein paar notwendige Tools, die du benötigen wirst, um dem Bukkit Projekt einen Beitrag zu leisten. Selbst wenn du nur Plugins erstellen willst, gibt es eine Hand voll Tools, die deine Arbeit erleichtern werden.

### Java

Du kannst keine Java-Programme ohne das Java Runteime Environment starten. Zudem können Java Programme ohne Java Compiler nicht compiliert werden. Im Normalfall erstellen wir Programme mit dem Java 6 SDK. Also such es dir, wenn du es noch nicht hast.

### Integrated Development Environments (IDE's)

Jeder Programmierer hat schon mal Notepad (oder vergleichbares) gestartet und ein paar Zeilen Quelltext erzeugt. Es ist ok, wenn es das ist, was dich glücklich macht. Dennoch bestehen für die meisten von uns bessere Möglichkeiten.

Ein IDE versucht alle Werkzeuge zu vereinen, die du zum Entwickeln benötigst. Diese Software-Pakete sind mehr als nur ein Text-Editor. Sie beinhalten 'build'-Werkzeuge, Dokumentationshilfe und hübsche Farben - um nur ein paar zu nennen. Die zwei größten Entwicklungsumgebungen für Java sind Eclipse und NetBeans. Eclipse ist wahrscheinlich das am meisten Verwendete dieser beiden, aber beide sind sehr bekannt. Wenn du ganz von vorn anfängst, dann besorg dir die aktuellste version von Eclipse und installier es. Es ist nicht ganz einfach, aber vereinfacht das Entwickeln ungemein.

### Build-Werkzeuge

Bevor wir anfangen zu programmieren: Es gibt ein Werkzeug, das vom Bukkit-Projekt zum Erstellen des Codes verwendet wird. Dieses Werkzeug heißt Maven und ist zwingend nötig, um einen Beitrag zum Bukkit-Projekt zu leisten. Für Eclipse gibt es hier ein ausgezeichnetes Plugin, das sich m2eclipse nennt. Dieses Plugin kann über "Help->Install New Software..." unter eingabe der Adresse http://m2eclipse.sonatype.org/sites/m2e installiert werden. Überprüfe, ob du Maven installiert hast, bevor du versuchst Bukkit, CraftBukkit oder irgend ein anderes Bukkit-Projekt zu erstellen. Wenn wir den Quelltext (nach dem nächsten Abschnitt) heruntergeladen haben, werden wir Maven so konfigurieren, dass es den Code erstellt.

### Anfangen und den Quelltext mit anderen teilen

Solange dein neues IDE heruntergeladen wird, können wir ein Git aufsetzen. Das Bukkit-Projekt verwaltet den gesamten Quelltext durch das Versionierungs-System Git. Git erlaubt mehreren Entwicklern zusammenzuarbeiten und alle Änderungen nachzuvollziehen. Es ist sehr mächtig und kann deshalb teilweise schwer zu benutzen sein. Es ist eine gute Idee, dir selbst ein gutes Git-Tutorial zu suchen. Dennoch werden wir hier durch ein paar Grundlagen gehen.

#### GitHub

GitHub ist eine Webseite, die es erlaubt Quelltext mit anderen zu teilen. Wenn du Bukkit unterstützen, oder Plugins erstellen möchtest, musst du eine Kopie des Bukkit-Quelltextes besitzen, bevor du beginnen kannst. Die beste Möglichkeit ist, sich einen GitHup-Account zuzulegen. Du kannst das jetzt machen, wenn du das noch nicht gemacht hast! Mit einem GitHub-Account kannst du deinen Quelltext mit dem Rest der Welt teilen. Selbst wenn du denkst, dass du das nicht brauchst ist es gut das zu haben.

Sobald du einen Account hast, kannst du die Quelltexte der Bukkit-Projekte von unserem Repository http://github.com/Bukkit herunterladen.

Wenn du vorhast an Bukkit selbst weiter zu entwickeln kannst du das Projekt dort 'forken'. Wenn du aber nur Plugins erstellen willst, findest du dort die Git Repository Links.

#### Git verwenden

Du musst Git installieren, bevor du irgendeinen Quelltext auf deinen Computer herunterladen kannst. Für Eclipse gibt es ein exzellentes Plugin, welches sich Egit nennt. Egit kann unter http://download.eclipse.org/egit/updates heruntergeladen werden.

Sobalt du Git hast, kannst du anfangen es zu benutzen. Ein guter Anfang bilden die GitHub-Tutorials. Für Egit gibt es ebenso ausgezeichnete Tutorials. Die Grundidee ist folgende:

1. Zur "Git Repository Exploring" Ansicht wechseln
2. Auf den "Clone Existing Repository" Button drücken
3. Die Informationen des "Remote Repository" eingeben (Entweder dein GitHub-Fork oder das öffentliche Repository von Bukkit)
4. Clonen beginnen

Du kannst mehrere "Remote Repositories" einrichten. Im Normalfall wir dein eigener GitHub-Fork *origin* und das Haupt-Repository von Bukkit *upstream* genannt. Wenn du an einem verteilten Projekt wie Bukkit arbeitest, ist es gut immer alle Veränderungen vom upstream in deine lokale Arbeitskopie zu *fetchen* und zu *mergen*. Das stellt sicher, dass du immer an der aktuellsten Kopie arbeitest. Wenn du einen Beitrag zum Bukkit-Projekt leisten willst, musst du Bukkit und CraftBukkit forken und beide clonen.

Wenn du nur Plugins erstellen willst, dann ist es viel einfacher! Du musst nur ein Repository einrichten: Bukkit. Dein Plugin wird ein separates Projekt werden. Für ein gutes Beispiel, wie dein Projekt erstellt werden sollte, kannst du ScrapBukkit zusätzlich clonen.

Um deine Arbeit von Änderungen am Code zu trennen, solltest du *immer* an einem separaten branch, als dem master arbeiten. Um das zu tun, musst du einfach einen neuen branch deiner lokalen Kopie des masters anlegen. Wenn du Änderungen vornimmst werden diese *commited* und wenn du fertig bist, kannst du diese Änderungen wirder zurück mergen. Es gibt viele Verhaltensregeln um an einem großen Projekt zu arbeiten, aber wenn du das soweit verstanden hast und im Main-Projekt mitarbeiten willst ist es gut, einige Online-Quellen zu lesen und an den angebrachten stellen nachzufragen (IRC ist ein guter Ort hierfür).

#### Deinen Code veröffentlichen

Teilen von Quelltext ist ein geben und nehmen - du kannst geteilten Code herunterladen, aber du kannst auch deinen Code mit anderen teilen. Das ist eine sehr gute Einstellung in dieser Community. Sie erlaubt anderen, dir in deinem Projekt zu helfen, oder sogar neue Features für dein Plugin zu entwickeln. Wenn du am Bukkit-Projekt mitarbeiten willst, musst du gewillt sein, deinen Quelltext zu veröffentlichen.

Wenn du etwas in dein GitHup Repository *pushen* willst, musst du dich anmelden. Um das zu tun, benötigst du ein SSH Schlüsselpaar. Ein Schlüsselpaar kann innerhalb von Eclipse erstellt werden, oder du kannst ein bereits bestehendes verwenden, wenn du eines besitzt. In Eclipse nach Windows->Preferences navigieren und in die Suchleiste "SSH" eingeben. Auf den SSH2 Link drücken und zu "Key Management" gehen. Wenn du bereits einen Schlüssel besitzt, kannst du ihn jetzt laden. Ansonsten musst du dir einen neuen erstellen. Wenn du das getan hast, musst du den öffentlichen Schlüssel kopieren und in deinen GitHub-Account wechseln. Dort gibt es einen Abschnitt in dem du deinen öffentlichen Schlüssel einfügen kannst. Dieser wird dann für die Authentifizierung benutzt.

Wenn du noch kein GitHub-Repository erstellt hast, dann mach das jetzt und pushe deinen Code von einem lokalen Repository.

## Den Source-Code erstellen

Du hast nun alle Werkzeuge, um deinen Code herunter zu laden, zu bearbeiten und zu teilen. Alles was übrigbleibt ist das Testen deines Codes. Du solltest immer sichergehen, dass sich ein Code compilieren lässt und dass er funktioniert, bevor du ihn mit anderen teilst.

In Eclipse solltest du wieder in die Java Ansicht zurückwechseln. Jetzt solltest du ein existierendes Maven-Projekt importieren. Klicke auf File->Import->Existing Maven Projekt und folge den Anweisungen um das zu tun. Wenn du ein Maven-Projekt importiert hast, kannst du auch team-sharing hinzufügen. Dies geschiet durch einen Rechtsklick auf das Projekt und dann Team->add sharing.

Jetzt kannst du den Code säubern und installieren. Wenn du m2eclipse benutzt kannst du einen Rechtsklick auf das Projekt machen und dann Run As->maven clean auswählen. Wenn du maven in einer Konsole benutzt, kannst du `mvn clean` benutzen. Danach wird dein Projekt mit `mvn install` erstellt.

Wenn du mit Bukkit und CraftBukkit arbeitest musst du zuerst Bukkit cleanen und installieren, und dann CraftBukkit.

Wenn du dich dazu entschlossen hast, ScrapBukkit zu clonen, cleane und installiere es nach den anderen beiden.

## Wie geht es weiter?

Sourcecode zu erstellen und testen ist weitaus umfangreicher. Zumindest die Tools um anzufangen solltest du jetzt besitzen. Wenn du andere hilfreiche Tutorials zu den hier genannten Themen findest, verlinke sie bitte hier.

Es wird vorgeschlagen hier weiterzumachen: Plugin Tutorial/de.