Wenn du das buckminster.output.root property nicht gesetzt hast kommt dein Build Ergebnis nach %TEMP%/buckminster. Dort sollte die aus deinem Feature gebaute Update Site liegen.Ich kann es erstellen indem ich auf mein feature project gehe und unter Buckminster "Invoke Action" P2.Site starte, oder?
Irgendwie werden da Bundles gestartet, aber nichts derartiges von P2.Site erstellt.
!SESSION 2010-06-04 01:50:50.343 -----------------------------------------------
eclipse.buildId=M20100211-1343
java.version=1.6.0_20
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_DE
Framework arguments: -application org.eclipse.equinox.p2.director -artifactRepository file:file:/C:/Dokumente%20und%20Einstellungen/ich/tmp/season/test_feature_1.0.0-eclipse.feature/site.p2/ -metadataRepository file:file:/C:/Dokumente%20und%20Einstellungen/ich/tmp/season/test_feature_1.0.0-eclipse.feature/site.p2/ -destination C:\Dokumente und Einstellungen\ich\tmp\season\test_feature_1.0.0-eclipse.feature\mail.win32.win32.x86 -bundlepool C:\Dokumente und Einstellungen\ich\tmp\season\test_feature_1.0.0-eclipse.feature\mail.win32.win32.x86 -profile Season -profileProperties org.eclipse.update.install.features=true -installIU football.product -p2.os win32 -p2.ws win32 -p2.arch x86
Command-line arguments: -application org.eclipse.equinox.p2.director -artifactRepository file:file:/C:/Dokumente%20und%20Einstellungen/ich/tmp/season/test_feature_1.0.0-eclipse.feature/site.p2/ -metadataRepository file:file:/C:/Dokumente%20und%20Einstellungen/ich/tmp/season/test_feature_1.0.0-eclipse.feature/site.p2/ -destination C:\Dokumente und Einstellungen\ich\tmp\season\test_feature_1.0.0-eclipse.feature\mail.win32.win32.x86 -bundlepool C:\Dokumente und Einstellungen\ich\tmp\season\test_feature_1.0.0-eclipse.feature\mail.win32.win32.x86 -profile Season -profileProperties org.eclipse.update.install.features=true -installIU football.product -p2.os win32 -p2.ws win32 -p2.arch x86 -consoleLog
!ENTRY org.eclipse.equinox.p2.artifact.repository 4 1000 2010-06-04 01:50:52.093
!MESSAGE No repository found at file:/C:/Dokumente%2520und%2520Einstellungen/ich/tmp/season/test_feature_1.0.0-eclipse.feature/site.p2/.
!ENTRY org.eclipse.equinox.p2.core 4 0 2010-06-04 01:50:52.093
!MESSAGE Unable to load repositories.
file:/C:/Dokumente und Einstellungen/ich/tmp/season/test_feature_1.0.0-eclipse.feature/site.p2/
Brauchst du nicht, create.product ist Abhängig von site.p2, Buckminster führt site.p2 also automatisch aus wenn du create.product aufrufst.Ich hab erst invoke action site.p2 gemacht. Und danach create.product
[workspace] $ java -Dbuckminster.output.root=/home/tomcat/.hudson/jobs/HelloRCP/workspace/buckminster.output -Dbuckminster.temp.root=/home/tomcat/.hudson/jobs/HelloRCP/workspace/buckminster.temp -Xmx512m -jar /home/tomcat/.hudson/tools/BuckminsterDefault/buckminster/plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar -application org.eclipse.buckminster.cmdline.headless -data /home/tomcat/.hudson/jobs/HelloRCP/workspace --loglevel info -S /home/tomcat/.hudson/jobs/HelloRCP/workspace/commands.txt
INFO: importtargetdefinition '-A' '/home/tomcat/.hudson/jobs/HelloRCP/workspace//HelloRCPFeatureSite/rcp.target'
INFO: import '/home/tomcat/.hudson/jobs/HelloRCP/workspace//HelloRCPFeatureSite/site.cquery'
ERROR: Could not auto-share project HelloRCP
org.tigris.subversion.subclipse.core.SVNException: org.tigris.subversion.javahl.ClientException: svn: authentication cancelled
at org.tigris.subversion.subclipse.core.SVNException.wrapException(SVNException.java:75)
at org.tigris.subversion.subclipse.core.repo.SVNRepositoryLocation.fromString(SVNRepositoryLocation.java:547)
at org.tigris.subversion.subclipse.core.repo.SVNRepositories.getRepository(SVNRepositories.java:206)
at org.tigris.subversion.subclipse.core.resources.SVNWorkspaceRoot.setSharing(SVNWorkspaceRoot.java:221)
at org.tigris.subversion.subclipse.core.SVNTeamProviderType$AutoShareJob.autoconnectSVNProject(SVNTeamProviderType.java:126)
at org.tigris.subversion.subclipse.core.SVNTeamProviderType$AutoShareJob.run(SVNTeamProviderType.java:104)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Das ist ein Bug im p2 Director. Ich habe ihn zwar vor einer Weile gefixt, aber er wurde noch nicht released:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=291405
Um den Bug zu umgehen musst du entweder buckminster.temp.root auf ein Verzeichnis ohne Leerzeichen setzen, oder das Antscript so ändern das du den Pfad manuell einträgst (als workaround).
Code:file:/C:/Dokumente und Einstellungen/ich/tmp/season/test_feature_1.0.0-eclipse.feature/site.p2/
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_DE
Framework arguments: -application org.eclipse.equinox.p2.director -artifactRepository file:file:/C:/tmp/season/fifa_feature_1.0.0-eclipse.feature/site.p2/ -metadataRepository file:file:/C:/tmp/season/fifa_feature_1.0.0-eclipse.feature/site.p2/ -destination C:\tmp\season\fifa_feature_1.0.0-eclipse.feature\football.win32.win32.x86 -bundlepool C:\tmp\season\fifa_feature_1.0.0-eclipse.feature\football.win32.win32.x86 -profile Season -profileProperties org.eclipse.update.install.features=true -installIU football.product -p2.os win32 -p2.ws win32 -p2.arch x86
Command-line arguments: -application org.eclipse.equinox.p2.director -artifactRepository file:file:/C:/tmp/season/fifa_feature_1.0.0-eclipse.feature/site.p2/ -metadataRepository file:file:/C:/tmp/season/fifa_feature_1.0.0-eclipse.feature/site.p2/ -destination C:\tmp\season\fifa_feature_1.0.0-eclipse.feature\football.win32.win32.x86 -bundlepool C:\tmp\season\fifa_feature_1.0.0-eclipse.feature\football.win32.win32.x86 -profile Season -profileProperties org.eclipse.update.install.features=true -installIU football.product -p2.os win32 -p2.ws win32 -p2.arch x86 -consoleLog
!ENTRY org.eclipse.equinox.p2.director.app 4 0 2010-06-05 12:25:02.906
!MESSAGE The installable unit football.product has not been found.
!SESSION 2010-06-07 22:17:31.625 -----------------------------------------------
eclipse.buildId=M20100211-1343
java.version=1.6.0_20
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_DE
Framework arguments: -application org.eclipse.equinox.p2.director -artifactRepository file:file:/C:/tmp/season/season_feature_1.0.0-eclipse.feature/site.p2/ -metadataRepository file:file:/C:/tmp/season/season_feature_1.0.0-eclipse.feature/site.p2/ -destination C:\tmp\season\season_feature_1.0.0-eclipse.feature\football.win32.win32.x86 -bundlepool C:\tmp\season\season_feature_1.0.0-eclipse.feature\football.win32.win32.x86 -profile FootbalProfile -profileProperties org.eclipse.update.install.features=true -installIU season.football.product -p2.os win32 -p2.ws win32 -p2.arch x86
Command-line arguments: -application org.eclipse.equinox.p2.director -artifactRepository file:file:/C:/tmp/season/season_feature_1.0.0-eclipse.feature/site.p2/ -metadataRepository file:file:/C:/tmp/season/season_feature_1.0.0-eclipse.feature/site.p2/ -destination C:\tmp\season\season_feature_1.0.0-eclipse.feature\football.win32.win32.x86 -bundlepool C:\tmp\season\season_feature_1.0.0-eclipse.feature\football.win32.win32.x86 -profile FootbalProfile -profileProperties org.eclipse.update.install.features=true -installIU season.football.product -p2.os win32 -p2.ws win32 -p2.arch x86 -consoleLog
!ENTRY org.eclipse.equinox.p2.director.app 4 0 2010-06-07 22:17:33.593
!MESSAGE The installable unit season.football.product has not been found.
Also klappt immer noch nicht so ganz
Java:!SESSION 2010-06-07 22:17:31.625 ----------------------------------------------- eclipse.buildId=M20100211-1343 java.version=1.6.0_20 java.vendor=Sun Microsystems Inc. BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=de_DE Framework arguments: -application org.eclipse.equinox.p2.director -artifactRepository file:file:/C:/tmp/season/season_feature_1.0.0-eclipse.feature/site.p2/ -metadataRepository file:file:/C:/tmp/season/season_feature_1.0.0-eclipse.feature/site.p2/ -destination C:\tmp\season\season_feature_1.0.0-eclipse.feature\football.win32.win32.x86 -bundlepool C:\tmp\season\season_feature_1.0.0-eclipse.feature\football.win32.win32.x86 -profile FootbalProfile -profileProperties org.eclipse.update.install.features=true -installIU season.football.product -p2.os win32 -p2.ws win32 -p2.arch x86 Command-line arguments: -application org.eclipse.equinox.p2.director -artifactRepository file:file:/C:/tmp/season/season_feature_1.0.0-eclipse.feature/site.p2/ -metadataRepository file:file:/C:/tmp/season/season_feature_1.0.0-eclipse.feature/site.p2/ -destination C:\tmp\season\season_feature_1.0.0-eclipse.feature\football.win32.win32.x86 -bundlepool C:\tmp\season\season_feature_1.0.0-eclipse.feature\football.win32.win32.x86 -profile FootbalProfile -profileProperties org.eclipse.update.install.features=true -installIU season.football.product -p2.os win32 -p2.ws win32 -p2.arch x86 -consoleLog !ENTRY org.eclipse.equinox.p2.director.app 4 0 2010-06-07 22:17:33.593 !MESSAGE The installable unit season.football.product has not been found.
Subclipse kann sich nicht am Repository anmelden. Schau mal hier:Dies ist ein Auszug aus einem Hudson-Build mit Buckminster. Der Build läuft am Ende fehlerfrei durch. Aber was haben diese SVNExceptions zu sagen?? Der Hudson holt sich den Source sauber per SVN und dann diese Fehler??? Wieso "authentication cancelled"?
Du solltest generell und immer Leerzeichen in Pfaden in deiner Build Umgebung vermeiden das führt nur zu Problemen. Wenn du mehr als mit Hudson spielen willst ist ein Linux auch die bessere Wahl als Buildserver.Also ich hab buckminster.temp.root einen Pfad eingetragen ohne Leerzeichen. Aber mein workspace liegt auch in einem Pfad mit Leerzeichen führt das auch zu Problemen?
Deine IU heißt!MESSAGE The installable unit season.football.product has not been found.
season.football
season.football.product
Subclipse kann sich nicht am Repository anmelden. Schau mal hier:
Eclipse Community Forums
Ja des war nur weil mein workspace da lag und ich es nur versuchen wollte. =)Du solltest generell und immer Leerzeichen in Pfaden in deiner Build Umgebung vermeiden das führt nur zu Problemen. Wenn du mehr als mit Hudson spielen willst ist ein Linux auch die bessere Wahl als Buildserver.
Deine IU heißtund nichtCode:season.football
. Änder das in deiner CSPEX. Der Wert muss mit der ID in der plugin.xml und dem Product File übereinstimmen.Code:season.football.product
Wenn du den Checkout von Hudson erledigen lassen willst dann musst du in deiner RMAP statt einem Reader Type SVN einfach einen Reader Type 'local' eintragen und auf den Workspace + "buckminster.component" verweisen. Da Hudson alles ausgecheckt hat, verwendet Buckminster dann die das bereits ausgecheckte Build Material.Hmmm, ja. Das ist aber komisch, denn der Hudson macht ja vorher ein checkout/update per SVN. Da funktioniert alles super. Hudson bereite ja per SVN den Workspace vor. Danach startet Buckminster und es kommt eine SVNException - was macht Buckminster da mit SVN? Eigentlich muß er nix mehr per SVN machen...
Wenn du den Checkout von Hudson erledigen lassen willst dann musst du in deiner RMAP statt einem Reader Type SVN einfach einen Reader Type 'local' eintragen und auf den Workspace + "buckminster.component" verweisen. Da Hudson alles ausgecheckt hat, verwendet Buckminster dann die das bereits ausgecheckte Build Material.
<?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="local" componentTypes="osgi.bundle,eclipse.feature"
mutable="true" source="true">
<uri format="file:///{0}/Client/">
<bc:propertyRef key="workspace.root" />
</uri>
</provider>
</searchPath>
<locator searchPathRef="resources"/>
</rmap>
Hmm, evtl. liegt das auch an einer neuen Subclipse Version. Vielleicht erkennt der Subclipse Client die .SVN Verzeichnisse wenn Buckminster die von Hudson ausgecheckten Projekte in den Workspace importiert und versucht sich anschließend zum Repository zu verbinden. Da in deiner RMAP nirgends ein SVN Reader eingetragen ist, kann dieser Fehler nicht durch Buckminster verursacht werden.ERROR: Could not auto-share project HelloRCP
!MESSAGE Cannot complete the install because one or more required items could not be found.
!SUBENTRY 1 org.eclipse.equinox.p2.director 4 0 2010-06-09 21:08:31.296
!MESSAGE Software being installed: Football 1.0.0 (season.football 1.0.0)
!SUBENTRY 1 org.eclipse.equinox.p2.director 4 0 2010-06-09 21:08:31.296
!MESSAGE Missing requirement: org.eclipse.equinox.launcher.gtk.linux.s390x German NLS Support 3.5.0.v20091121043401 (org.eclipse.equinox.launcher.gtk.linux.s390x.nl_de 3.5.0.v20091121043401) requires 'bundle org.eclipse.equinox.launcher.gtk.linux.s390x 0.0.0' but it could not be found
!SUBENTRY 1 org.eclipse.equinox.p2.director 4 1 2010-06-09 21:08:31.296
!MESSAGE Cannot satisfy dependency:
!SUBENTRY 2 org.eclipse.equinox.p2.director 4 0 2010-06-09 21:08:31.296
!MESSAGE From: Football 1.0.0 (season.football 1.0.0)
!SUBENTRY 2 org.eclipse.equinox.p2.director 4 0 2010-06-09 21:08:31.296
!MESSAGE To: org.eclipse.equinox.launcher.gtk.linux.s390x.nl_de [3.5.0.v20091121043401]
Hmm, evtl. liegt das auch an einer neuen Subclipse Version. Vielleicht erkennt der Subclipse Client die .SVN Verzeichnisse wenn Buckminster die von Hudson ausgecheckten Projekte in den Workspace importiert und versucht sich anschließend zum Repository zu verbinden. Da in deiner RMAP nirgends ein SVN Reader eingetragen ist, kann dieser Fehler nicht durch Buckminster verursacht werden.
Das war Buckminster 3.5? Hast du schonmal versucht ob der Fehler sich auch mit 3.6 reproduzieren lässt?
Du verwendest derzeit das automatische Provisioning des Hudson Plugins?
Versuch testweise mal Buckminster händisch auf dem Buildserver zu installieren und in Hudson als neue Buckminster Installation einzutragen. Dort nur die Features installieren die du benötigst und explizit keinen SVN Client.
Installieren:
Sample headless configuration (Buckminster) - Eclipsepedia
Zum Einrichten in Hudson:
'Manage Hudson' 'Add Buckminster' -> Installer entfernen -> Home Path eintragen
Wenn es damit funktioniert scheint es definitiv ein Problem mit dem Headless Part von Subclipse zu geben.
INFO: importtargetdefinition '-A' 'file:///C:/workspace/season-site/rcp.target'
INFO: import 'file:///C:/workspace/season-site/site.cquery'
ERROR [0001] : No suitable provider for component season-site:eclipse.feature was found in resourceMap file:/C:/workspace/season-site/site.rmap
Die CQuery gibt an welche Component du in welcher Version materialisieren willst, die RMAP gibt an wo das diese Component und deren Abhängigkeiten bezogen werden können.Hab noch nicht ganz kapiert fur was die .cqurey und die .rmap da ist?
Du setzt da gar nichts ein. workspace.root ist ein Property das die Buckminster Runtime setzt und buckminster.component ist die Component (also zB Plugin ID) die gerade versucht wird über die RMAP zu finden.ich denk mal in workspace.root setze ich mein pfad zum workspace und die buckminster.component zu meinem feature wo .cspex drin ist?
INFO: importtargetdefinition '-A' 'file:///C:/workspace/season-site/rcp.target'
INFO: import 'file:///C:/workspace/season-site/site.cquery'
ERROR [0001] : No suitable provider for component season_site:eclipse.feature was found in resourceMap file:/C:/workspace/season-site/site.rmap ERROR [0001] :
No suitable provider for component season_site:eclipse.feature was found in searchPath resources ERROR [0001] : Resolution attempt ended with exception: Provider local(file:///C:/hudson/jobs/Season/workspace/season_site/): Missing CSpec source required by component type eclipse.feature ERROR Provider local(file:///C:/hudson/jobs/Season/workspace/season_site/): Missing CSpec source required by component type eclipse.feature INFO: TAG-ID 0001 = Query for season_site:eclipse.feature
Na irgendwie muss dein Build Material doch in den Workspace deines Hudson Jobs gelangen. Das geht entweder in dem du den Checkout von Hudson erledigen lässt, oder indem du Buckminster alles über die RMAP resolven lässt.
Wo liegt das Zeug denn und soll es von Hudson, oder von Buckminster besorgt werden?
Ja, Hudson macht Checkouts (SVN, CVS, Perforce, Git,...).
Buckminster bedient sich der RMAP und hat über die RMAP zugriff auf Maven Repositories, Eclipse Update Sites, URLs, Archive, CVS, SVN, Git,...
Wenn du dein Zeug nur lokal hast dann ist das kein sehr schönes Build Scenario. Du könntest einen local Reader in der RMAP verwenden und dort musst du dann einen absoluten Pfad zu einem Verzeichnis angeben in dem dein Build Material liegt