NetBeans Projekttyp für leJOS Programme

19 Jan

In der letzten Zeit habe ich mich mit der Erweiterung von NetBeans um einen neuen Projekttyp zur Erstellung von leJOS Programmen befasst. In meinem letzten Eintrag habe ich geschrieben, ich würde dazu nach dem „NetBeans Project Type Extension Turoial“ vorgehen, nachdem ich mich allerdings mehr damit beschäftigt habe, bin ich zu dem Schluss gekommen, dass sich der geplante Projekttyp nicht wie zunächst erwartet umsetzen lässt. Zunächst aber nochmal kurz etwas zu den 2 beschriebenen Möglichkeiten.

Zum Einen gibt es die Möglichkeit einen komplett neuen Projekttyp zu erstellen, dabei beginnt man allerdings mit einem völlig leeren Typ und muss jeden Dateityp, jedes Verzeichnis, alle zur Verfügung stehenden Einstellungen und Einträge in der IDE selbst hinzufügen und ausprogrammieren. Dabei würde ich in meinem Fall die komplette Funktionalität des „Java Application“ oder „Java Free-Form Project“ Projekttyps nachimplementieren und meine (im Vergleich dazu) wenigen Erweiterungen hinzufügen. Dabei steht der Aufwand von Nachimplementierung und eigener Erweiterung in keinem akzeptablen Verhältnis.

Die andere Möglichkeit besteht darin einen vorhandenen Projekttyp zu erweitern, was ich zunächst für den richtigen Weg hielt. Dabei erweitert man allerdings alle Projekte des erweiterten Projekttyps um die gewünschte Funktionalität. Daraus ergibt sich, dass in einer NetBeans Installation, in der mein Modul installiert ist, alle „Java Application“ Projekte (angenommen, ich erweitere den „Java Application“ Projekttyp) die lediglich für die leJOS Projekte gewünschte Funktionalität anbieten. Sozusagen wird jedes „Java Application“ Projekt zu einem leJOS Projekt. Es gibt also keine zwei Projekttypen, einen für „normale“ Java Projekte und einen für leJOS Projekte.

Somit ist keine der beiden beschriebenen Möglichkeiten wirklich sinnvoll für den neuen Projekttyp.

Die Lösung sehe ich in einer Kombination aus dem ehemals für leJOS Projekte verwendeten Projekttemplate und einer Erweiterung des „Java Application“ Projekttyps, wobei diese Erweiterungen nur geladen werden, falls bestimmte Einstellungen im jeweiligen Projekt hinterlegt sind. Diese Einstellungen können dann bereits im Template vorhanden sein und somit bestimmen, ob die exklusiv für leJOS Projekte vorgesehenen Funktionen angeboten werden oder nicht. Bei manchen GUI-Elementen, wie zum Beispiel der vorgesehene „Upload (and dont run)“ Button, muss man dann allerdings so verfahren, dass der sie bei der Auswahl eines „nicht-leJOS“ Projekts ausgegraut werden. Die Elemente vollständig auszublenden ist nach meiner jetzigen Einschätzung nicht möglich.

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: