Webstart Mit Buckminster JNLP erzeugen

OliverR

Mitglied
Hallo,

ich habe bis jetzt eine Hudson-Buckminster Installation die sehr schön headless baut und am Ende ein ZIP-File erzeugt. Nun möchte ich gerne die Anwendung per WebStart starten. Was muss ich nun ändern, dass Buckminster ein JNLP-File erzeugt...?

Viele Grüße,

Oliver
 

Wildcard

Top Contributor
Ein Plain Java Anwendung oder ein Eclipse RCP?
Für Eclipse RCP gibt es theoretisch einen build-in JNLP Support der allerdings kein first class citizen ist und AFAIK so seine Problem hat.
Für eine plain Java Anwendung ist die Frage was in deinem JNLP stehen soll.
Grundsätzlich musst du nur in einer CSPEC, CSPEX eine neue Action eintragen die einen Ant Actor verwendet um eine JNLP zu generieren.
Interessant ist wie diese JNLP entstehen soll. Wenn du zB die Dependencies dynamisch eintragen willst, dann kannst du dir von Buckminster eine Liste aller (transitiven) Component dependencies injezieren lassen (als Ant Property) und die dann in dein JNLP eintragen.
Wenn du konkreter beschreibst wie du den Inhalt der JNLP erzeugen willst, kann ich konkreter Helfen.
 

OliverR

Mitglied
Hallo, es handelt sich dann doch schon um eine Eclipse-RCP-Anwendung.

Mein aktuelles cspex sieht im Moment so aus:

[XML]
<?xml version="1.0" encoding="UTF-8"?>
<cspecExtension
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0"
xmlns="http://www.eclipse.org/buckminster/CSpec-1.0">
<dependencies>
<!-- Place your Dependencies here -->
</dependencies>
<generators>
<!-- Place your Generators here -->
</generators>
<artifacts>
<!-- Place your Artifacts here -->
</artifacts>
<actions>
<public name="create.product" actor="ant">
<actorProperties>
<property key="buildFile" value="build/product.ant" />
<property key="targets" value="create.product" />
</actorProperties>
<properties>
<property key="profile" value="ClientProfile" />
<property key="iu" value="org.abcd.client.product" />
</properties>
<prerequisites alias="repository">
<attribute name="site.p2" />
</prerequisites>
<products alias="destination" base="${buckminster.output}">
<path path="Client.${target.ws}.${target.os}.${target.arch}/" />
</products>
</public>
<public name="create.product.zip" actor="ant">
<actorProperties>
<property key="buildFileId" value="buckminster.pdetasks" />
<property key="targets" value="create.zip" />
</actorProperties>
<prerequisites alias="action.requirements">
<attribute name="create.product" />
</prerequisites>
<products alias="action.output" base="${buckminster.output}">
<path path="Client.${target.ws}.${target.os}.${target.arch}.zip" />
</products>
</public>
</actions>

<groups>
<!-- Place your Groups here -->
</groups>
<alterDependencies>
<!-- Place your Dependency alterations here -->
</alterDependencies>
<alterArtifacts>
<!-- Place your Artifact alterations here -->
</alterArtifacts>
<alterActions>
<!-- Place your Action alterations here -->
</alterActions>
<alterGroups>
<!-- Place your Group alterations here -->
</alterGroups>
</cspecExtension>
[/XML]

Es wäre natürlich schön, wenn der Inhalt der JNLP dynamisch bei jedem build erzeugt werden könnte. Aber im Prinzip würde es wohl auch reichen wenn man die JNLP einmal von Hand erzeugt, oder?
Ich stelle mir vor, dass nach jedem erfolgreichen Hudson-Build die Anwendung sofort zur Verfügung gestellt werden kann und der Anwender sie per WebStart starten kann. Ist das möglich?

Viele Grüße,

Oliver
 

Wildcard

Top Contributor
Wie gesagt, es gibt Support in Buckminster um automatisiert aus einem RCP eine Webstart Anwendung zu machen.
Hier sollte ein Beispiel zu finden sein:
Eclipse Community Forums
Wenn du die JNLP allerdings von Hand erzeugst, dann brauchst du doch nur noch von Hudson aus deine Artifakte zu deployen. Dafür sollte doch aber ein Shell Script oder Ant Script genügen das du nach dem Buckminster Build aufrufst?
 

OliverR

Mitglied
danke für den Link. Ich werde es mal ausprobieren....
Zum deploy aus Hudson heraus sollte sicherlich ein Shell-Script funktionieren - denke ich mal.

Mal eine andere Frage. Im cspex baue ich ja meinen Dateiname der Zip-datei zusammen. Hier zum Beispiel:
[XML]
...
<public name="create.product.zip" actor="ant">
<actorProperties>
<property key="buildFileId" value="buckminster.pdetasks" />
<property key="targets" value="create.zip" />
</actorProperties>
<prerequisites alias="action.requirements">
<attribute name="create.product" />
</prerequisites>
<products alias="action.output" base="${buckminster.output}">
<path path="Client.${target.ws}.${target.os}.${target.arch}.zip" />
</products>
</public>
...
[/XML]

Wie kann ich hier z.B. eine Build-Nummer oder ein Datum einbauen? Gibt es irgendwo eine Liste von Variablen, die Buckminster hier an dieser Stelle unterstützt?

Viele Grüße,

Oliver
 

Wildcard

Top Contributor
Im Bucky Book gibt es einen Abschnitt zu Version Qualifiers.
Eclipse downloads - mirror selection
Welche Strategien für das Qualifier Replacement zur Verfügung stehen hängt auch von deiner RMAP ab. Zb die SVN Revision Number ist natürlich nur verfügbar wenn dein Build Material auch aus einem SVN Repository ausgecheckt wurde.
Die (Hudson) Build Nummer stellt dir Hudson als Umgebungsvariable zur Verfügung. Habe ich selbst noch nie benutzt, wenn es also nicht funktionieren sollte, sag bescheid, dann fixe ich das die Tage.
Timestamp ist ebenfalls kein Problem, den bekommst du von Ant selbst und auch von Hudson. Nur eben die Revision Number, last modified property usw. stehen nur zur Verfügung wenn deine Quellen aus einem SCM ausgecheckt werden.

EDIT: wenn der Checkout von Hudson und nicht von Buckminster erledigt wird, dann stellt dir Hudson (je nach SCM) folgende Umgebungsvariablen zur Verfügung:
# SVN_REVISION: For Subversion-based projects, this variable contains the revision number of the module.
# CVS_BRANCH: For CVS-based projects, this variable contains the branch of the module. If CVS is configured to check out the trunk, this environment variable will not be set.
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Buckminster hilfe Tools - Maven, Gradle, Ant & mehr 18
A Hudson/Buckminster: Verschiedene Fragen Tools - Maven, Gradle, Ant & mehr 12
A Hudson-Buckminster wirft Exception nach SVN Checkout Tools - Maven, Gradle, Ant & mehr 3
C Buckminster: Versionen einzelner Jars aus der Targetplatform Tools - Maven, Gradle, Ant & mehr 5
C Buckminster: Cannot satisfy dependency: Tools - Maven, Gradle, Ant & mehr 4
C Buckminster + plugin tests Tools - Maven, Gradle, Ant & mehr 3
H RCP Build mit Buckminster (headless) - unresolved node Tools - Maven, Gradle, Ant & mehr 7
tfa frisch installierter Buckminster kann nichts? Tools - Maven, Gradle, Ant & mehr 3
B Buckminster: Plugin Version in Java source File einfügen Tools - Maven, Gradle, Ant & mehr 4
O Buckminster: Circular dependency detected Tools - Maven, Gradle, Ant & mehr 2
F Eigene Ant-Tasks in Buckminster Tools - Maven, Gradle, Ant & mehr 5
@ [Buckminster] Missing requirement Tools - Maven, Gradle, Ant & mehr 2
T Buckminster Build JRE mitliefern Tools - Maven, Gradle, Ant & mehr 2
T Buckminster + SVN support Tools - Maven, Gradle, Ant & mehr 5
E Probleme mit Buckminster unter eclipse 3.4 Tools - Maven, Gradle, Ant & mehr 11
T Buckminster-Hudson RCP-Build "CSpec source required" Tools - Maven, Gradle, Ant & mehr 9
VfL_Freak Icon einer JNLP-Datei ändern ?? Tools - Maven, Gradle, Ant & mehr 2
D Ant JAR-Ressourcen in JNLP-Datei sind nicht von demselben Zertifikat signiert Tools - Maven, Gradle, Ant & mehr 2
Guybrush Threepwood JNLP Launch-Icon fehlt Tools - Maven, Gradle, Ant & mehr 3
S Webstart Webstart einer Applikation mit einer veralteten JNLP-Datei Tools - Maven, Gradle, Ant & mehr 6
S Webstart JNLP Update Element - kein Info-Fenster über Updates? Tools - Maven, Gradle, Ant & mehr 7
A JNLP Signieren Tools - Maven, Gradle, Ant & mehr 3
S JNLP und GIF Tools - Maven, Gradle, Ant & mehr 11
jemandzehage .jnlp mit JOGL startet nicht korrekt Tools - Maven, Gradle, Ant & mehr 9
F Webstart JNLP Problem mit LIB Tools - Maven, Gradle, Ant & mehr 3
G Webstart JNLP - AccessControlException Tools - Maven, Gradle, Ant & mehr 18
R Webstart JNLP Signierung Tools - Maven, Gradle, Ant & mehr 13
R Web Start / jnlp datei Tools - Maven, Gradle, Ant & mehr 28
Z Fehlermeldung JNLP Tools - Maven, Gradle, Ant & mehr 3
J JNLP und ein jar mit einer Access DB Tools - Maven, Gradle, Ant & mehr 4
M WebStart Verknüpfung reinstalliert sich - Fehler in JNLP? Tools - Maven, Gradle, Ant & mehr 4
T jnlp-Datei: Fehler in Zeile 0? Tools - Maven, Gradle, Ant & mehr 6
A JNLP Datei aus Application laden Tools - Maven, Gradle, Ant & mehr 4
J [Webstart] jnlp dynamisch erstellen Tools - Maven, Gradle, Ant & mehr 8
Arif RMI Skeletonklasse mit rmic erzeugen Tools - Maven, Gradle, Ant & mehr 1
L JavaFX Jar erzeugen Tools - Maven, Gradle, Ant & mehr 4
P Erzeugen von WebServices mit Maven und Eclipse (external Tool) Tools - Maven, Gradle, Ant & mehr 2
T JavaDoc Overview erzeugen Tools - Maven, Gradle, Ant & mehr 4
K MAVEN Plugin erzeugen Tools - Maven, Gradle, Ant & mehr 7
Y Maven EAR mittels Maven erzeugen Tools - Maven, Gradle, Ant & mehr 13
F Ant Jar erzeugen mit Ressourcen in Unterordnern Tools - Maven, Gradle, Ant & mehr 4
D Applet aus eclipse erzeugen Tools - Maven, Gradle, Ant & mehr 4
W Thread Dump erzeugen bei Applet im IE Tools - Maven, Gradle, Ant & mehr 2

Ähnliche Java Themen

Neue Themen


Oben