Ant RCP Build?

lam_tr

Top Contributor
hi zusammen,

ich hab über mein RCP-Plugin.xml einen Ant-Build-skript generiert.
Wenn ich den Skript durchlafen lasse, erstellt der mit einen @dot Verzeichnis mit *class files.

Wie kann ich dem Ant-Skript erweitern dass er mir eine RCP Appliction deployed?

Gruß Lam
 

Wildcard

Top Contributor
Ich würde dir zu Eclipse Buckminster raten, der PDE Build ist ein Krampf.
Auch die Eclipse Update Sites und Distributionspakete werden nicht mehr mit PDE, sonder mit Buckminster gebaut.
Die Hudson spezifischen Teile der Tutorials brauchen dich erstmal nicht zu interessieren wenn du nicht an CI interessiert bist. Du kannst erstmal alles in der IDE ausprobieren und wenn es funktioniert bist du nur noch wenige minuten vom Headless Build entfernt.
Building an RCP application with hudson (Buckminster) - Eclipsepedia
Headless Eclipse RCP builds with Buckminster and Hudson

Die wichtigsten Punkte:
-Leg dir eine Target Definition an die deine Target Platform beschreibt
-Mach ein Feature Based Product
-Erstell ein Feature das deine Bundles enthält
-Erstell ein Feature das die Product Definition enthält und das anderer Feature inkludiert
-Kopier die product.ant Datei aus den Tutorials in dieses Feature
-Kopier die buckminster.cspex aus den Tutorials in dieses Feature
 

lam_tr

Top Contributor
Hi WildCard,

den Schritt mit P2.Site erstellen verstehe ich nicht wirklich.

Wofür brauche ich es.

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.

Kannst du mir da bitte weiterhelfen?

Gruss lam
 

Wildcard

Top Contributor
Die site.p2 Action baut ein p2 Repository (Update Site). Mit dem p2 Director wird später aus dieser Update Site ein RCP Product erstellt.

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.
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.
 
G

Gast2

Gast
Hi,

ich hab die Sache mal ausprobiert. Ich hab erst invoke action site.p2 gemacht. Und danach create.product und bekomme immer diesen Fehlerlog?! Welche Schritt habe ich vergessen, damit er das repository erstellt?

Java:
!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.
 

Wildcard

Top Contributor
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/

Ich hab erst invoke action site.p2 gemacht. Und danach create.product
Brauchst du nicht, create.product ist Abhängig von site.p2, Buckminster führt site.p2 also automatisch aus wenn du create.product aufrufst.
 

OliverR

Mitglied
Hat jemand schon einmal dies gesehen:
Code:
[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)

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"?

Grüße,

Oliver
 
G

Gast2

Gast
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/

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?

Java:
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.
 
G

Gast2

Gast
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.

[XML]
<?xml version="1.0" encoding="UTF-8"?>
<cspecExtension xmlns:com="http://www.eclipse.org/buckminster/Common-1.0"
xmlns="http://www.eclipse.org/buckminster/CSpec-1.0">
<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="FootbalProfile" />
<property key="iu" value="season.football.product" />
</properties>
<prerequisites alias="repository">
<attribute name="site.p2" />
</prerequisites>
<products alias="destination" base="${buckminster.output}">
<path path="football.${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="football.${target.ws}.${target.os}.${target.arch}.zip" />
</products>
</public>
</actions>
</cspecExtension>
[/XML]
 

Anhänge

  • rcp.jpg
    rcp.jpg
    72,7 KB · Aufrufe: 47

OliverR

Mitglied
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.

Das könnte auch an deiner Resource-Map liegen. Wenn das Projekt anders heißt als das Plugin, findet er es nicht. Ich hatte neulich so einen Fall und mußte die rmap anpassen...

Viele Grüße,

Oliver
 

Wildcard

Top Contributor
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?
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.

!MESSAGE The installable unit season.football.product has not been found.
Deine IU heißt
Code:
season.football
und nicht
Code:
season.football.product
. Änder das in deiner CSPEX. Der Wert muss mit der ID in der plugin.xml und dem Product File übereinstimmen.
 

OliverR

Mitglied
Subclipse kann sich nicht am Repository anmelden. Schau mal hier:
Eclipse Community Forums

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...

Viele Grüße,

Oliver
 
G

Gast2

Gast
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.
Ja des war nur weil mein workspace da lag und ich es nur versuchen wollte. =)

Deine IU heißt
Code:
season.football
und nicht
Code:
season.football.product
. Änder das in deiner CSPEX. Der Wert muss mit der ID in der plugin.xml und dem Product File übereinstimmen.

Ah okay dachte das .product muss man immer selber hinten dran schreiben, hab ich wohl was drucheinander gebracht...Alle möglichen Kombinationen versucht, außer diese!!!^^
 

Wildcard

Top Contributor
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.
 

OliverR

Mitglied
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.

Ja, er steht bei mir aber schon auf 'local':
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="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>

Viele Grüße,

Oliver
 

Wildcard

Top Contributor
ERROR: Could not auto-share project HelloRCP
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.
 
G

Gast2

Gast
Mhm, okay ich bekomme nun Probleme wenn ich das Babel Feature einbinde...

Java:
!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]

Aber die jar ist in der target platform
 
Zuletzt bearbeitet von einem Moderator:

OliverR

Mitglied
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.

Bei 3.6 tritt der Fehler nicht auf. Auch nicht wenn ich Buckminster "zu Fuss" installiere und das SVN Plugin nicht mit installiere.

Aber was hat dies nun zu bedeuten, wenn ich Buckminster 3.6 einstelle? Habe ich dann die Anwendung mit Eclipse 3.6 gebaut? Läuft die Anwendung nun unter 3.6? Oder ist es schlicht nur der Build-Prozess der als 3.6 läuft?

Viele Grüße,

Oliver
 

Wildcard

Top Contributor
Buckminster 3.6 ist nur das Build Tool. Du kannst Eclipse 3.6 Anwendungen mit Buckminster 3.5 bauen und du kannst auch Eclipse 3.5 Anwendungen mit Buckminster 3.6 bauen. Buckminster ist yet another build tool wie zB Ant.
Wichtig ist nur: wenn du keine Target Platform verwendest dann solltest du eine Advisor Node verwenden um zu verhindern das Build Abhängigkeiten aus der Buckminster Runtime gepullt werden können. Verwendest du eine Target Platform/ Target Definition, dann brauchst du dich darum nicht kümmern.
 
G

Gast2

Gast
Hallo hab nochmal ne Frage zu Buckminster...

Hab noch nicht ganz kapiert fur was die .cqurey und die .rmap da ist?

.cqurey
[XML]
<?xml version="1.0" encoding="UTF-8"?>
<cq:componentQuery xmlns:cq="http://www.eclipse.org/buckminster/CQuery-1.0" resourceMap="site.rmap">
<cq:rootRequest name="season-site" componentType="eclipse.feature"/>
</cq:componentQuery>
[/XML]

[XML]
<?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>
</searchPath>

<locator searchPathRef="resources"/>
</rmap>
[/XML]


Java:
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

ich denk mal in workspace.root setze ich mein pfad zum workspace und die buckminster.component zu meinem feature wo .cspex drin ist?

Danke
 

Wildcard

Top Contributor
Hab noch nicht ganz kapiert fur was die .cqurey und die .rmap da ist?
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.
ich denk mal in workspace.root setze ich mein pfad zum workspace und die buckminster.component zu meinem feature wo .cspex drin 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.
Dieser Search Path findet also also Components die direkt im Workspace Root liegen und die in einem Verzeichnis liegen das genau so heißt wie die Bundle/Plugin ID der entsprechenden Component
 
G

Gast2

Gast
mhm okay und was genau ist dann falsch??
Ich muss anstatt eclipse.feature, den Namen von meinem Feature eintragen?
 
G

Gast2

Gast
Vielleicht mal mit Bilder. Vielleicht ist es dann einfacher zu sehen was ich falsch mache Oo...

Java:
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
 

Anhänge

  • feature.JPG
    feature.JPG
    12,6 KB · Aufrufe: 35
  • qurey.JPG
    qurey.JPG
    31,8 KB · Aufrufe: 37
  • rmap.JPG
    rmap.JPG
    48,8 KB · Aufrufe: 39
Zuletzt bearbeitet von einem Moderator:
G

Gast2

Gast
Ich hab nur einen Job:Weclher Job workspace? Hab ich was vergessen????:L
 

Anhänge

  • hudson.jpg
    hudson.jpg
    65,9 KB · Aufrufe: 36

Wildcard

Top Contributor
Ach, du rufst das gar nicht aus Hudson auf? Zu viele unterschiedliche Fragen für einen einzigen Thread...
Das heißt du hast alles was du brauchst schon in einem Eclipse Workspace? Dann brauchst du weder CQuery, noch RMAP. Einfach Rechtklick auf dein Feature -> Buckminster -> Invoke Action und dann die Action auswählen die du haben möchtest. Das Build Resultat kommt dann nach %TEMP%/buckminster
 
G

Gast2

Gast
Ja das hat ja schon geklappt...
Wollte das halt jetzt mit Hudson mal testen wie das klappt, oder geht das nur wenn ich SVN mein workspace in SVN oder CVS verwalte?
 

Wildcard

Top Contributor
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.
 
G

Gast2

Gast
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.

Ja das ist genau der Punkt der mir noch fehlt und den nicht hinbekommen hab!!!
Ich hab die rmap wo oder wie muss ich diese in den job einpflegen? Weil der workspace im hudson ist auch leer!!!
 
G

Gast2

Gast
Wo liegt das Zeug denn und soll es von Hudson, oder von Buckminster besorgt werden?

Also es liegt gerade noch auf dem Rechner wo der Hudson läuft, ist ja nur zum Testen.
Ja vom Prinzip ist es mir egal wer das Zeug holt? Was wäre denn die bessere Wahl? Oder was sind die Vor/Nachteile? Einzige was ich jetzt weiß was es Hudosn über SVN(CVS) hollen kann und Buckminster über die rmap.
 

Wildcard

Top Contributor
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
 
G

Gast2

Gast
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

Okay dann richt ich mir wenn ich zeit mal nen kleinen server mit hudosn und svn ein ;)...
Aber der Vor/Nachteil zwischen den beiden Verfahren ist mir immer noch so klar?
Wie machst du es?
 

Wildcard

Top Contributor
Den Checkout mit Buckminster zu erledigen ist flexibler (es ergibt sich aus den Abhängikeiten was von wo ausgecheckt werden muss). Den Checkout von Hudson erledigen zu lassen hat auch Vorteile. Du kannst builds automatisch triggern wenn etwas committed wird, du bekommst von Hudson einen Changelog pro build generiert,...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
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
H RCP Build mit Buckminster (headless) - unresolved node Tools - Maven, Gradle, Ant & mehr 7
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
T Buckminster Build JRE mitliefern Tools - Maven, Gradle, Ant & mehr 2
R [Maven2] immer Build failed für Projekt Tools - Maven, Gradle, Ant & mehr 10
T Buckminster-Hudson RCP-Build "CSpec source required" Tools - Maven, Gradle, Ant & mehr 9
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

Neue Themen


Oben