Buckminster-Hudson RCP-Build "CSpec source required"

Status
Nicht offen für weitere Antworten.

thomet

Aktives Mitglied
hy,
ich hab ein buildserver (hudson) aufgesetzt und mir dort das buckminster plugin installiert und soweit alles eingerichtet.
nun möchte ich meine anwendung über buckminster bauen lassen. Bei dem einstellungen für buckminster hab ich mich an dieses tutorial gehalten (Building Eclipse RCP applications using Buckminster and Hudson).

Wenn ich nun aus eclipse heraus mein create.product starte.. wird mir auch meine anwendung erstellt. Dort ist mir jedoch aufgefallen das es außer meinen launcher (MyApp.exe) noch eine "launcher.exe" und eine "eclipsec.exe" im product-export befindent.

Also meine erste Frage: Warum ist dort eine "launcher.exe" und eine "eclipsec.exe" vorhanden und wie kann man dies unterbinden.

Dies hab ich erstma ignoriert, da die eigentlich anwendung lauffähig erstellt wurde. Als nächsten schritt wollte ich diese auf meinem buildserver bauen lassen (hudson). dazu hab ich alle plugins und features aus dem svn ausgecheckt und buckminster mit folgenden parametern gestartet:

Code:
import ${WORKSPACE}/com.my.app.create/site.cquery
perform MyApp.product-feature#create.product.zip

zusätzlich habe ich buckminster noch meine targetplatform übergeben.

Wenn ich nun dieses projekt starte, zeigt mir hudson folgenden fehler auf der console:

Code:
ERROR   No suitable provider for component com.my.app.platform:eclipse.feature was found in resourceMap file:/home/hudson/jobs/MyApp/workspace/arch/x86/os/macosx/ws/cocoa/com.my.app.create/resources.rmap
  ERROR   No suitable provider for component com.my.app.platform:eclipse.feature was found in searchPath resources
    ERROR   Resolution attempt ended with exception: Provider local(file:////home/hudson/jobs/MyApp/workspace/arch/x86/os/macosx/ws/cocoa/com.my.app.platform/): Missing CSpec source required by component type eclipse.feature
      ERROR   Provider local(file:////home/hudson/jobs/MyApp/workspace/arch/x86/os/macosx/ws/cocoa/com.my.app.platform/): Missing CSpec source required by component type eclipse.feature

anbei meine configurationen für buckminster

resources.rmap
Code:
<?xml version="1.0" encoding="UTF-8"?>
<rmap
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://www.eclipse.org/buckminster/RMap-1.0"
    xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0"
    xmlns:mp="http://www.eclipse.org/buckminster/MavenProvider-1.0"
    xmlns:pp="http://www.eclipse.org/buckminster/PDEMapProvider-1.0">

    <searchPath name="resources">
        <provider readerType="local"
        	componentTypes="osgi.bundle,eclipse.feature,buckminster"
            mutable="true" source="true">
            <uri format="file:///{0}/{1}/">
                <bc:propertyRef key="workspace.root" />
                <bc:propertyRef key="buckminster.component" />
            </uri>
        </provider>
    </searchPath>
    
    <locator searchPathRef="resources" failOnError="false" />

</rmap>


site.cquery
Code:
<?xml version="1.0" encoding="UTF-8"?>
<cq:componentQuery xmlns:cq="http://www.eclipse.org/buckminster/CQuery-1.0" resourceMap="resources.rmap">
    <cq:rootRequest name="MyApp.product-feature" componentType="eclipse.feature"/>
</cq:componentQuery>


MyApp.product-feature
Code:
<?xml version="1.0" encoding="UTF-8"?>
<feature
      id="MyApp.product-feature"
      label="Basic MyApp Platform"
      version="1.0.0.qualifier"
      provider-name="MyApp">

   <includes
         id="com.my.app.platform"
         version="0.0.0"/>

   <includes
         id="com.my.app.prerequisites"
         version="0.0.0"/>

</feature>


com.my.app.platform -> feature include my app-plugins
com.my.app.prerequisites -> feature include my prerequisites (org.eclipse.rcp ....)

ich hoffe ich finde hier jemanden der sich mit buckminster auskennt und mir bei meinen problem helfen kann. ich beschäftige mich erst seit kurzen mit buckminster und hab noch nicht so viel erfahrung damit sammeln könnne.

mfg und danke
thomet
 

Wildcard

Top Contributor
ich hoffe ich finde hier jemanden der sich mit buckminster auskennt und mir bei meinen problem helfen kann. ich beschäftige mich erst seit kurzen mit buckminster und hab noch nicht so viel erfahrung damit sammeln könnne.
Du hast Glück, zufällig bin ich Commiter bei Buckminster und von mir ist auch das Hudson Plugin :)

Wenn ich nun aus eclipse heraus mein create.product starte.. wird mir auch meine anwendung erstellt. Dort ist mir jedoch aufgefallen das es außer meinen launcher (MyApp.exe) noch eine "launcher.exe" und eine "eclipsec.exe" im product-export befindent.
Die eclipsec.exe ist auch bei den Eclipse Downloads dabei, das ist AFAIK normal.
Die launcher.exe ist ein anderes Thema. Für ältere Buckminster Versionen war es notwendig das equinox.executable Feature ins Product mit aufzunehmen damit ein Launcher erzeugt wird. equinox.executable definiert aber ein root file "launcher", was dazu führt das du deinen Speziellen Launcher erhälst und zusätzlich noch den 'rohen' Equinox Launcher der fürs Branding verwendet wird.
Wenn du eine aktuelle Buckminster Version hast, entferne einfach das equinox.executable Feature aus deiner Product Configuration (lass es aber in der Target Platform).
Code:
file:////home/hudson/jobs/MyApp/workspace/arch/x86/os/macosx/ws/cocoa/com.my.app.platform/
Genau dort wird nach einer feature.xml gesucht. Der Pfad komplett wäre also
Code:
file:////home/hudson/jobs/MyApp/workspace/arch/x86/os/macosx/ws/cocoa/com.my.app.platform/feature.xml
Passt das in deinem Workspace so? Warum so viele ////?
Wird der checkout von Hudson oder Buckminster übernommen?
 
Zuletzt bearbeitet:

thomet

Aktives Mitglied
hy Wildcard,

danke für deine antwort. ich hab mir das eben ma nochma genauer angeschaut und durch deinen hinweiß ist mir der fehler aufgefallen.

Buckminster hat nach dem feature "com.my.app" gesucht..... jedoch heißt das feature "com.my.app-feature" .... die id die jedoch in der feature.xml eingetragen ist lautet "com.my.app".
Buckminster geht anscheind davon auß das featurename und id gleich sind. ich hab dieses nun angepasst und nun werden die features auch gefungen.

Nun zu meine nächsten problem ;) ....

Ich hab mein build vor buckminster mit Ant und den PDE Tools erstellt. Dazu hatte ich mir eine TargetPlatform zusammengebaut, welche alle benötigten plugins beinhaltet. Nun möchte ich nicht das Buckminster sich die plugins alle neu runter läd usw .. sonder einfach diese TP nutzen. Dazu dachte ich brauch ich einfach nur ein Projekt erstellen in Hudson was meine TP aus mein SVN auschekt und dals TP anbietet.
Dies hab ich dann einfach in meinen Buckminsterbuild als TP angegeben.

Nun scheind Buckminster die plugins jedoch nicht zu finden die in der TP entahlten sind. Meine vermutung ziehe ich aus dieser Meldung die ich nun zu sehen bekomme:

Code:
ERROR   No suitable provider for component org.eclipse.gmf.runtime.diagram.ui.resources.editor:osgi.bundle/1.2.0 was found in resourceMap file:/home/hudson/jobs/MyApp/workspace/arch/x86/os/macosx/ws/cocoa/com.my.app.create/resources.rmap
  ERROR   No suitable provider for component org.eclipse.gmf.runtime.diagram.ui.resources.editor:osgi.bundle/1.2.0 was found in searchPath resources
    ERROR   Resolution attempt ended with exception: Provider local(file:////home/hudson/jobs/MyApp/workspace/arch/x86/os/macosx/ws/cocoa/org.eclipse.gmf.runtime.diagram.ui.resources.editor/): Missing CSpec source required by component type osgi.bundle
      ERROR   Provider local(file:////home/hudson/jobs/MyApp/workspace/arch/x86/os/macosx/ws/cocoa/org.eclipse.gmf.runtime.diagram.ui.resources.editor/): Missing CSpec source required by component type osgi.bundle
ERROR   No suitable provider for component org.eclipse.core.runtime:osgi.bundle/3.4.0 was found in resourceMap file:/home/hudson/jobs/MyApp/workspace/arch/x86/os/macosx/ws/cocoa/com.my.app.create/resources.rmap
  ERROR   No suitable provider for component org.eclipse.core.runtime:osgi.bundle/3.4.0 was found in searchPath resources
    ERROR   Resolution attempt ended with exception: Provider local(file:////home/hudson/jobs/MyApp/workspace/arch/x86/os/macosx/ws/cocoa/org.eclipse.core.runtime/): Missing CSpec source required by component type osgi.bundle
      ERROR   Provider local(file:////home/hudson/jobs/MyApp/workspace/arch/x86/os/macosx/ws/cocoa/org.eclipse.core.runtime/): Missing CSpec source required by component type osgi.bundle

Wie man sieht sucht der im Workspace des aktuellen Projektes und nicht in der TP (welches ja ein eigenen Workspace besitzt).

Kannst du mir da eventuell auch auf die sprünge helfen?

Danke schonma

EDIT:

hier noch antworten zu deinen fragen: Hudson check alles aus dem SVN aus, die vielen /// hab ich aus nen tut übernommen.. sind jedoch net zwingend erforderlich .. verursachen aber anscheind auch net den fehler .. mit und ohne /// das gleich :)
 
Zuletzt bearbeitet:

thomet

Aktives Mitglied
jetzt hab ich ma zum teste ne TP mit buckminster erstellt... und alles runterladen lassen... wenn jetzt mein build danach startet kommt folgende meldung

Code:
The project cannot be built until its prerequisite org.eclipse.ui is built. Cleaning and building all projects is recommended
 

Wildcard

Top Contributor
Buckminster hat nach dem feature "com.my.app" gesucht..... jedoch heißt das feature "com.my.app-feature" .... die id die jedoch in der feature.xml eingetragen ist lautet "com.my.app".
Buckminster geht anscheind davon auß das featurename und id gleich sind. ich hab dieses nun angepasst und nun werden die features auch gefungen.
Nein, du hast es selbst in deiner rmap so definiert mit WORKSPACE/$buckminster.component. Buckminster Component ist der Name, die ID der Component. Wenn deine Features zB einen Suffix haben, kannst du auch unterschiedliche Provider für PlugIns und Features verwenden:

[XML] <searchPath name="resources">
<provider readerType="local"
componentTypes="osgi.bundle,buckminster"
mutable="true" source="true">
<uri format="file:///{0}/{1}/">
<bc:propertyRef key="workspace.root" />
<bc:propertyRef key="buckminster.component" />
</uri>
</provider>
<provider readerType="local"
componentTypes="eclipse.feature"
mutable="true" source="true">
<uri format="file:///{0}/{1}-feature/">
<bc:propertyRef key="workspace.root" />
<bc:propertyRef key="buckminster.component" />
</uri>
</provider>
</searchPath>[/XML]
Nun scheind Buckminster die plugins jedoch nicht zu finden die in der TP entahlten sind. Meine vermutung ziehe ich aus dieser Meldung die ich nun zu sehen bekomme:
Du musst die Target Platform dem Build bekannt machen. Das geht entweder über eine Eclipse Target Definition, oder mit setPref targetPlatformPath=/abolute/path/to/TP

jetzt hab ich ma zum teste ne TP mit buckminster erstellt... und alles runterladen lassen... wenn jetzt mein build danach startet kommt folgende meldung
Beim erstellen einer Target Platform willst du eigentlich nicht bauen (da kein Source involviert ist), sondern nur materialisieren. Dein Query bleibt identisch, allerdings sollen die Components nicht in den Workspace, sondern als Target Platform materialisiert werden. Dazu verwendest du eine MSPEC die angibt wo und wie materialisiert werden soll.
Wie man sowas in Hudson macht findest du hier:
Building an RCP application with hudson (Buckminster - Eclipsepedia)
 

thomet

Aktives Mitglied
Du musst die Target Platform dem Build bekannt machen. Das geht entweder über eine Eclipse Target Definition, oder mit setPref targetPlatformPath=/abolute/path/to/TP
ich hab meinem projekt die erstellt TP über die buckminsteroption in hudson mitgegeben, er müßte sie eigentlich nutzen

Beim erstellen einer Target Platform willst du eigentlich nicht bauen (da kein Source involviert ist), sondern nur materialisieren. Dein Query bleibt identisch, allerdings sollen die Components nicht in den Workspace, sondern als Target Platform materialisiert werden. Dazu verwendest du eine MSPEC die angibt wo und wie materialisiert werden soll.
die TP hab ich ja materialisieren lassen.. ist auch erfolgreich ... alle plugins etc sind dort vorhanden. ich meinte wenn ich danach mein Projekt bauen lasse (welches ich die TP mitgebe) das dort der fehler auftritt.

mfg
 
Zuletzt bearbeitet:

Wildcard

Top Contributor
1. Entweder du hast die benötigten Plugins nicht in der Target Platform, oder (und das ist wahrscheinlicher)
2. Der Pfad dem du dem Target Platform Publisher mitgibst ist nicht korrekt. Er sollte auf ein Verzeichnis zeigen in dem direkt ein plugins und ein features Verzeichnis liegt.
 

quiddix

Mitglied
Hallo thomet und Wildcard,

auch ich habe ein ähnliches Problem.
Ich habe ebenfalls das Tutorial http://www.ralfebert.de/blog/eclipsercp/rcp_builds/ gemacht und sämtliche Schritte befolgt. Danach habe ich hudson installiert und konfiguriert.

In Hudson habe ich in der Konfiguration im Punkt "Buckminster" beim Unterpunkt "Eclipse Home Verzeichnis":C:/Buckminsterheadless angegeben.

Dort liegt mein headless Buckminster, das ich mir mit dem Director und den Internetadressen (wie im Tutorial beschreiben) geholt habe.

In meinem Job selbst habe ich bei "build Verfahren" bei Kommandos: import D:/workspaces/buckminster/com.example.target/target.mspec stehen

und bei Advanced Options und JVM Argumente steht: -DtargetPlatformPath=C:/buckminsterTargetPlatform

Ebenfalls habe ich bei "Pfad zur Target-Plattform":C:\buckminsterTargetPlatform angegeben

Eigentlich müsste ja alles passen jedoch erhalten ich die selben Fehler wie thomet.

Koneole:
Code:
Gestartet durch Benutzer anonymous
Commandline: 
java -Dbuckminster.output.root=/C:/hudson/jobs/rcp_target/workspace//buckminster.output -Dbuckminster.temp.root=/C:/hudson/jobs/rcp_target/workspace//buckminster.temp -DtargetPlatformPath=C:/buckminsterTargetPlatform -jar plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar -application org.eclipse.buckminster.cmdline.headless -data /C:/hudson/jobs/rcp_target/workspace/ --loglevel info -S C:\hudson\jobs\rcp_target\builds\2009-11-23_10-46-44/commands.txt INFO:  import 'D:/workspaces/buckminster/com.example.target/target.mspec'
ERROR   [0001] : No suitable provider for component com.example.target:eclipse.feature was found in resourceMap file:/D:/workspaces/buckminster/com.example.target/target-resources.rmap
  ERROR   [0001] : No suitable provider for component com.example.target:eclipse.feature was found in searchPath resources
    ERROR   [0001] : Resolution attempt ended with exception: Provider local(file:///C:/hudson/jobs/rcp_target/workspace/com.example.target/): Missing CSpec source required by component type eclipse.feature
      ERROR   Provider local(file:///C:/hudson/jobs/rcp_target/workspace/com.example.target/): Missing CSpec source required by component type eclipse.feature
    ERROR   [0001] : Rejecting provider eclipse.import(http://download.eclipse.org/releases/galileo): No component match was found
INFO:  TAG-ID 0001 = Query for com.example.target:eclipse.feature

Archiviere Artefakte
Finished: FAILURE


Meine target-resources.rmap sieht folgendermaßen aus:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<rmap
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="http://www.eclipse.org/buckminster/RMap-1.0"
	xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0"
	xmlns:mp="http://www.eclipse.org/buckminster/MavenProvider-1.0"
	xmlns:pp="http://www.eclipse.org/buckminster/PDEMapProvider-1.0">

	<searchPath name="resources">
		<provider readerType="local" componentTypes="osgi.bundle,eclipse.feature" mutable="true" source="true">
			<uri format="file:///{0}/{1}/">
				<bc:propertyRef key="workspace.root" />
				<bc:propertyRef key="buckminster.component" />
			</uri>
		</provider>
		<provider readerType="eclipse.import" componentTypes="osgi.bundle,eclipse.feature" mutable="false" source="true">
			<uri format="http://download.eclipse.org/releases/galileo"/>
		</provider>
	</searchPath>

	<locator searchPathRef="resources"/>

</rmap>
Wäre über Hilfe sehr dankbar, da ich nichtmehr weiter komme.

Danke
 
Zuletzt bearbeitet:

Wildcard

Top Contributor
Hmm, ich vermute ich habe dir Bereits in der Buckminster Mailingliste geantwortet.
Lag ich mit der Vermuting richtig das es sich im Prinzip um das gleiche Problem wie bei thomet handelt (falscher Pfad)?
 

quiddix

Mitglied
Ja ich habe den Beitrag auch dort eingestellt.
Ich werde das Problem nun analysieren und prüfen ob du Recht hattest. Ich denke es reicht wenn ich die Antwort in die Mailingliste poste.

Für alle interessierten, der Beitrag der Mailingliste findet sich hier: Eclipse Community Forums
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
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
A Buckminster hilfe Tools - Maven, Gradle, Ant & mehr 18
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 Webstart Mit Buckminster JNLP erzeugen Tools - Maven, Gradle, Ant & mehr 5
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
G Ant Hudson/Jenkins, Ant und JUnit unter einen Hut bringen Tools - Maven, Gradle, Ant & mehr 12
B Hudson - start all jobs Tools - Maven, Gradle, Ant & mehr 6
B Maven Mulimodul projekte in Hudson Tools - Maven, Gradle, Ant & mehr 2
Q Hudson JUnit Testcases durchführen Tools - Maven, Gradle, Ant & mehr 13
B Hudson weiter... Tools - Maven, Gradle, Ant & mehr 3
B Hudson - Resourcen laden Tools - Maven, Gradle, Ant & mehr 11
N Maven2 Projekt unter Hudson mit SVN Repository erstellen Tools - Maven, Gradle, Ant & mehr 4
LimDul Maven-Abhängigkeiten im Build prüfen? Tools - Maven, Gradle, Ant & mehr 9
H Build Server - Checkstyle prüft und reportet bereits gelöschte Dateien Tools - Maven, Gradle, Ant & mehr 1
C Gradle startet SpringBoot-Anwendung nicht (Build aber successfull) Tools - Maven, Gradle, Ant & mehr 1
H Maven build.plugins.plugin.version fehlt Tools - Maven, Gradle, Ant & mehr 0
thor_norsk Maven Build Failed: kann nicht von start.spring.io generiertes Projekt auf IntelliJ IDE starten Tools - Maven, Gradle, Ant & mehr 8
Gradle build funktioniert nicht Tools - Maven, Gradle, Ant & mehr 10
ExceptionOfExpectation Maven Build Failed: kann nicht von start.spring.io generiertes Projekt auf Eclipse starten Tools - Maven, Gradle, Ant & mehr 20
Moman2022 Hauptklasse kann nicht gefunden werden gradle build Tools - Maven, Gradle, Ant & mehr 3
L Jenkins Build mit git Hashwert Tools - Maven, Gradle, Ant & mehr 2
OnDemand Jenkins Pipeline Build > Send Info Jira Tools - Maven, Gradle, Ant & mehr 3
H Maven Verbindung Java Projekt und Jenkins Build job Tools - Maven, Gradle, Ant & mehr 21
D Maven Maven und die Build-Geschwindigkeit Tools - Maven, Gradle, Ant & mehr 11
E Gradle Build Tools - Maven, Gradle, Ant & mehr 1
G Maven Build Prozess lädt Modul aus Nexus statt es zu bauen Tools - Maven, Gradle, Ant & mehr 3
reibi Maven Build unter anderen Namen Tools - Maven, Gradle, Ant & mehr 3
T build job läuft nicht mit findBugs...WARUM? Tools - Maven, Gradle, Ant & mehr 1
T test schlägt im build fehl, lokal nicht, warum? Tools - Maven, Gradle, Ant & mehr 2
D Maven Multi Module Build Tools - Maven, Gradle, Ant & mehr 8
reibi Maven Build ohne netz Tools - Maven, Gradle, Ant & mehr 2
S Maven project build error (String index out of range: 1) Tools - Maven, Gradle, Ant & mehr 2
B Ant Build File, wie ist der Java3D Native Code einzubinden? Tools - Maven, Gradle, Ant & mehr 6
M Maven Maven Build Geschwindigkeit Tools - Maven, Gradle, Ant & mehr 4
T Maven Build-Fehler, NoClassDefFoundError Exception Tools - Maven, Gradle, Ant & mehr 5
ruutaiokwu eclipse web project - warum in den "build"-ordner kompilieren ??? Tools - Maven, Gradle, Ant & mehr 10
P Maven Download-Probleme beim Build Tools - Maven, Gradle, Ant & mehr 5
B Maven build-helper-maven-plugin mit Eclipse Tools - Maven, Gradle, Ant & mehr 3
L Ant RCP Build? Tools - Maven, Gradle, Ant & mehr 35
R [Maven2] immer Build failed für Projekt Tools - Maven, Gradle, Ant & mehr 10
P Ant build.xml, danach wird ein srcpackage vergessen Tools - Maven, Gradle, Ant & mehr 4
ModellbahnerTT Unterschied build und deploy Tools - Maven, Gradle, Ant & mehr 3
X ANT - Build Reihenfolge? Tools - Maven, Gradle, Ant & mehr 3
T Jar erstellen mit Build Version? Tools - Maven, Gradle, Ant & mehr 2
F build time eines applet Tools - Maven, Gradle, Ant & mehr 13

Ähnliche Java Themen


Oben