Bonsoir,
Je suis en train de migrer une application Eclipse RCP 3.5 en Eclipse RCP 3.8.2 et j'ai un problème avec la build automatique. Celle-ci est effectuée par un script ant géré dans un serveur de build. Le serveur de build pour la version 3.5 était luntbuild, tandis que celui utilisé pour la 3.8 est quickbuild, mais je ne pense pas que cela soit vraiment important. De même, la version 3.5 était buildée avec Java 5 et la 3.8.2 avec Java 7. Les deux serveurs sont des serveurs ubuntu.
J'ai simplement reporté la config de luntbuild sur quickbuild. J'ai exactement les mêmes valeurs de variables dans les deux, à l'exception près du dossier de build (on en a profité pour faire un environnement plus propre). A partir de ce dossier, toute la structure en dessous est exactement la même.
La build a toujours fonctionné pour la 3.5 et elle plante pour la 3.8.2. J'obtiens une erreur 13 accompagnée d'un message qui dit qu'un plugin requis n'est pas disponible. Il se trouve que c'est un plugin maison qui est utilisé par quasiment l'ensemble des plugins de mon application. Autant dire qu'il est indispensable.
Tous les plugins sont bien présents dans le dossier, et complets, après checkout de repositories subversion, y compris celui indiqué comme manquant. A noter, que, pour des raisons d'architecture applicative, il y a 2 repositories subversion, avec chacun son lot de plugins et de features.
J'ai comparé les 2 logs de builds et j'ai la même chose dans les deux, en ce qui concerne les différentes variables nécessaires à la build. La commande est d'ailleurs un peu près la même. J'ai juste retiré une partie des paramètres signalés comme inconnus, et supprimer la partie p2 (parce que nous le supportons plus), alors que ça ne fonctionnait déjà pas (donc c'est sans rapport à priori).
A noter que la build qui fonctionnait me signalait déjà que les plugins étaient manquants, mais ça ne l'empêchait pas de se faire avec succès.
L'extrait de log avec la commande de lancement de PDE qui fonctionne, suivi de celle qui ne fonctionne pas (j'ai mis en gras et rouge la partie qui concerne les dossiers contenant les plugins et features, en particulier le pluginPath, qui en principe ce qui permet d'indiquer ou se trouve les plugins additionnels) :
L'extrait de log quand ça ne fonctionne pas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41 build.real: [echo] building eclipse release with : -nosplash -application org.eclipse.ant.core.antRunner -buildfile /opt/luntbuild/new/eclipse-3.5/plugins/org.eclipse.pde.build_3.5.0.v20090527-1800/scripts/productBuild/productBuild.xml -Dbuilder=/opt/luntbuild-1.6/work/Open4-LC/plugins/fr.wedia.noheto.product.build -DbaseLocation=/opt/luntbuild/new/eclipse-3.5 -DpluginPath=/opt/luntbuild/work/Open4-LC/lacroix:/opt/luntbuild/new/eclipse-3.5-delta-pack/eclipse:/opt/luntbuild-1.6/work/Open4-LC/plugins/fr.wedia.noheto.product.build/../..: -DbuildDirectory=/opt/luntbuild/work/Open4-LC -DsignJars=false -Dsign.keystore=plugins/fr.wedia.noheto.product.build/wedia-rd.keystore -Dsign.storepass=motdepassedelacleetdustore -Dgenerate.p2.metadata=true -Dp2.metadata.repo=file:/opt/luntbuild/work/Open4-LC/repository -Dp2.artifact.repo=file:/opt/luntbuild/work/Open4-LC/repository -Dp2.metadata.repo.name="Open4 Metadata Repository" -Dp2.artifacts.repo.name="Open4 Artifacts Repository" -Dp2.flavor=PUBLISH. -DprofileProperties org.eclipse.update.install.features=true -DprofileProperties osgi.bundles=org.eclipse.core.runtime@start,org.eclipse.equinox.simpleconfigurator@1\:start -DprofileProperties org.eclipse.equinox.simpleconfigurator.configUrl=file\:org.eclipse.equinox.simpleconfigurator\\bundles.info -DprofileProperties eclipse.p2.data.area=file\:/../p2/ -Dp2.publish.artifacts=true -Dproduct.name=Open4-LC -Dproduct.product=lacroix/plugins/fr.wedia.noheto.lacroix.product/lacroix.product [java] Executing '/usr/lib/jvm/java-1.5.0-sun-1.5.0.16/jre/bin/java' with arguments: [java] '-Xmx1024m' [java] '-jar' [java] '/opt/luntbuild/new/eclipse-3.5/plugins/org.eclipse.equinox.launcher_1.0.200.v20090520.jar' [java] '-nosplash' [java] '-application' [java] 'org.eclipse.ant.core.antRunner' [java] '-buildfile' [java] '/opt/luntbuild/new/eclipse-3.5/plugins/org.eclipse.pde.build_3.5.0.v20090527-1800/scripts/productBuild/productBuild.xml' [java] '-Dbuilder=/opt/luntbuild-1.6/work/Open4-LC/plugins/fr.wedia.noheto.product.build' [java] '-DbaseLocation=/opt/luntbuild/new/eclipse-3.5' [java] '-DpluginPath=/opt/luntbuild/work/Open4-LC/lacroix:/opt/luntbuild/new/eclipse-3.5-delta-pack/eclipse:/opt/luntbuild-1.6/work/Open4-LC/plugins/fr.wedia.noheto.product.build/../..:' [java] '-DbuildDirectory=/opt/luntbuild/work/Open4-LC' [java] '-DsignJars=false' [java] '-Dsign.keystore=plugins/fr.wedia.noheto.product.build/wedia-rd.keystore' [java] '-Dsign.storepass=motdepassedelacleetdustore' [java] '-Dgenerate.p2.metadata=true' [java] '-Dp2.metadata.repo=file:/opt/luntbuild/work/Open4-LC/repository' [java] '-Dp2.artifact.repo=file:/opt/luntbuild/work/Open4-LC/repository' [java] '-Dp2.metadata.repo.name=Open4 Metadata Repository' [java] '-Dp2.artifacts.repo.name=Open4 Artifacts Repository' [java] '-Dp2.flavor=PUBLISH.' [java] '-DprofileProperties' [java] 'org.eclipse.update.install.features=true' [java] '-DprofileProperties' [java] 'osgi.bundles=org.eclipse.core.runtime@start,org.eclipse.equinox.simpleconfigurator@1\:start' [java] '-DprofileProperties' [java] 'org.eclipse.equinox.simpleconfigurator.configUrl=file\:org.eclipse.equinox.simpleconfigurator\\bundles.info' [java] '-DprofileProperties' [java] 'eclipse.p2.data.area=file\:/../p2/' [java] '-Dp2.publish.artifacts=true' [java] '-Dproduct.name=Open4-LC' [java] '-Dproduct.product=lacroix/plugins/fr.wedia.noheto.lacroix.product/lacroix.product' [java] [java] The ' characters around the executable and arguments are [java] not part of the command. [java] Argument inconnu : -DprofileProperties org.eclipse.update.install.features=true -DprofileProperties osgi.bundles=org.eclipse.core.runtime@start,org.eclipse.equinox.simpleconfigurator@1\:start -DprofileProperties org.eclipse.equinox.simpleconfigurator.configUrl=file\:org.eclipse.equinox.simpleconfigurator\\bundles.info -DprofileProperties eclipse.p2.data.area=file\:/../p2/ [java] Fichier de génération : /opt/luntbuild/new/eclipse-3.5/plugins/org.eclipse.pde.build_3.5.0.v20090527-1800/scripts/productBuild/productBuild.xml [java]
Une précision : si dans le premier extrait, celui pour la commande qui fonctionne, on voit d'une part un dossier luntbuild et d'autre part un dossier luntbuilt-1.6, je ne sais pas pourquoi : en tout cas, luntbuild est un lien symbolique vers luntbuild-1.6. Est-ce que ça pourrait être un indice ? Parce que dans la configuration, tous les chemins sont indiqués avec le nom du lien symbolique. Je ne connais pas assez linux pour comprendre pourquoi certains sont affichés résolus et pas d'autre et si cela peut indiquer une raison de non fonctionnement dans l'autre cas, pour lequel, le chemin indiqué est le chemin du dossier (nous n'avons pas fait de lien symbolique).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 19:55:40,880 INFO - [echo] building eclipse release running : /mnt/wedia/bin/eclipse/plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar 19:55:40,881 INFO - [echo] building eclipse release with : -nosplash -application org.eclipse.ant.core.antRunner -buildfile /mnt/wedia/bin/eclipse/plugins/org.eclipse.pde.build_3.8.2.v20121114-140810/scripts/productBuild/productBuild.xml -Dbuilder=/mnt/wedia/quickbuild/work/Open4-LC/plugins/fr.wedia.noheto.product.build -DbaseLocation=/mnt/wedia/bin/eclipse -DpluginPath=/mnt/wedia/quickbuild/work/Open4-LC/lacroix:/mnt/wedia/bin/eclipse-delta-pack:/mnt/wedia/quickbuild/work/Open4-LC:/mnt/wedia/quickbuild/work/Open4-LC/plugins/fr.wedia.noheto.product.build/../.. -DbuildDirectory=/mnt/wedia/quickbuild/work/Open4-LC -DsignJars=false -Dsign.keystore=plugins/fr.wedia.noheto.product.build/wedia-rd.keystore -Dsign.storepass=motdepassedelacleetdustore -Dproduct.name=Open4-LC -Dproduct.product=lacroix/plugins/fr.wedia.noheto.lacroix.product/lacroix.product 19:55:40,956 DEBUG - [java] Executing '/usr/lib/jvm/java-7-oracle/jre/bin/java' with arguments: 19:55:40,956 DEBUG - [java] '-Xmx1024m' 19:55:40,956 DEBUG - [java] '-jar' 19:55:40,956 DEBUG - [java] '/mnt/wedia/bin/eclipse/plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar' 19:55:40,956 DEBUG - [java] '-nosplash' 19:55:40,956 DEBUG - [java] '-application' 19:55:40,956 DEBUG - [java] 'org.eclipse.ant.core.antRunner' 19:55:40,956 DEBUG - [java] '-buildfile' 19:55:40,956 DEBUG - [java] '/mnt/wedia/bin/eclipse/plugins/org.eclipse.pde.build_3.8.2.v20121114-140810/scripts/productBuild/productBuild.xml' 19:55:40,956 DEBUG - [java] '-Dbuilder=/mnt/wedia/quickbuild/work/Open4-LC/plugins/fr.wedia.noheto.product.build' 19:55:40,956 DEBUG - [java] '-DbaseLocation=/mnt/wedia/bin/eclipse' 19:55:40,956 DEBUG - [java] '-DpluginPath=/mnt/wedia/quickbuild/work/Open4-LC/lacroix:/mnt/wedia/bin/eclipse-delta-pack:/mnt/wedia/quickbuild/work/Open4-LC/plugins/fr.wedia.noheto.product.build/../..' 19:55:40,956 DEBUG - [java] '-DbuildDirectory=/mnt/wedia/quickbuild/work/Open4-LC' 19:55:40,956 DEBUG - [java] '-DsignJars=false' 19:55:40,956 DEBUG - [java] '-Dsign.keystore=plugins/fr.wedia.noheto.product.build/wedia-rd.keystore' 19:55:40,956 DEBUG - [java] '-Dsign.storepass=motdepassedelacleetdustore' 19:55:40,956 DEBUG - [java] '-Dproduct.name=Open4-LC' 19:55:40,956 DEBUG - [java] '-Dproduct.product=lacroix/plugins/fr.wedia.noheto.lacroix.product/lacroix.product' 19:55:40,956 DEBUG - [java] 19:55:40,956 DEBUG - [java] The ' characters around the executable and arguments are 19:55:40,956 DEBUG - [java] not part of the command. 19:55:40,975 DEBUG - [java] Error redirected to /mnt/wedia/quickbuild/work/buildJavaLog.log 19
Je ne comprends pas comment la même configuration fonctionne dans un cas mais pas dans l'autre. Et j'ai consulté tout ce que je pouvais trouver de documentation sur PDE-BUILD sans trouver de raison à ce problème.
Avez-vous déjà eu ce type de problème ?
Merci d'avance pour vos réponses et de votre attention.
Partager