Eigene Einstellungen für die eigene RCP Anwendung

Erstellt man eine eigene Anwendung auf Basis der NetBeans Platform erstellt kommt man irgendwann unweigerlich an den Punkt das Resultat auch an die Endanwender verteilen zu wollen. Im Kontextmenü des Suiteprojekt liefert der Eintrag “Package as” alles was man dafür benötigt. Ein Problem gibt es nur, wenn man während der Entwicklung der eigenen Anwendung individuelle Argumente mit auf den Weg geben möchte. Im Debugger kann man hierfür ganz einfach die Variable run.args.extra in der project.properties nutzen. Leider werden diese Einstellungen nicht in eine Distribution übernommen.

Mit einer kleinen Anpassung der build.xml lässt sich aber auch dieses kleine Manko beheben:

1
2
3
4
5
6
7
8
9
<target name="build-launchers" depends="suite.build-launchers">
  <copy file="nbproject/app.conf" overwrite="true"
   tofile="${build.launcher.dir}/etc/${app.name}.conf">
    <filterchain>
      <replacestring from="$${branding.token}" to="${branding.token}"/>
      <replacestring from="$${run.args.extra}" to="${run.args.extra}"/>
    </filterchain>
  </copy>
</target>

Das Target “build-launchers” bereitet die Verzeichnisse “bin” und “etc” für die eigene RCP Anwendung vor. Nach den Standardaktionen kopieren wir jetzt einfach unsere eigene “app.conf” in das build Verzeichnis in denen unsere eigenen Einstellungen kopiert werden.

Vorher müssen wir einmal die Vorlage in das nbproject Verzeichnis unseres Suiteprojekts kopieren. Das Original ist im NetBeans Verzeichnis unter harness\etc\app.conf zu finden. Die Kopie können wir dann einfach nach unseren Vorstellungen bearbeiten.

In dieser Datei steht unter anderem der Eintrag default_userdir, der das Standardverzeichnis für das Userdir der eigenen RCP Anwendung definiert. Hier ist vor allem der Teil “/dev von Interesse. Dieser sollte für die Distribution unbedingt in eine Versionsnummer oder ähnliches geändert werden, ähnlich wie NetBeans selbst es auch macht.

Der andere interessante Eintrag ist default_options. Hier steht im Original das so genannte “Branding Token” (welches nicht geändert werden sollte) und Angaben zur zu verwendenden Speichergröße. Oft ist es genau diese Angabe die angepasst werden soll. Es hat sich für mich als recht angenehm herausgestellt, wenn ich die benutzten Argumente nicht alle in der app.conf eintrage und pflege. Deswegen habe ich die entsprechende Zeile wie folgt geändert:

1
default_options="--branding ${branding.token} ${run.args.extra}"

Durch die replacestring-Tasks aus dem Buildskript werden diese beiden Variablen automatisch beim kopieren durch ihre Entsprechungen aus der Properties-Datei ersetzt. Somit haben wir nur eine Stelle an der wir unsere Programmargumente anpassen müssen.

Sie können eine Kommentar,oderTrackback von Ihrer Webseite hinterlassen.

Leave a Reply


7 + = zwölf