J'essaye d'apprendre tycho par l'exemple.
J'ai effectué les tutoriels de Keulkeul. Ce qui a produit le résultat escompté et J'ai même été jusqu'a l'intégrer dans Hudson.
Tout est OK.
Pour compliquer l'exercice, je souhaite développer une application bâtit sur Udig (qui est une application EclipseRCP dédié au SIG).
Et c'est là ou je rencontre divers problèmes.
Le premier est que je n'ai pas de repository p2 pour ma target.
Sous eclipse, lorsque nous développons, ils nous font configurer une target platform constituer de deux répertoires locaux.
Lorsque je passe sous maven/tycho, il ne m'est pas possible de lui définir la même chose. J'ai été obligé de créer un merge des deux répertoires et d'utiliser l'option :
-Dtycho.targetPlatform="D:\sdk\target-udig-eclipse-3.7\eclipse-3.7-sdk+udig-1.3.1"
Pour résoudre ce problème, j'ai vu ici qu'il était conseillé de créer une version p2 des targets. Sauf que ça ne marche pas.
Cela m'indique "No exit data avalaible".
Je me suis créer un bat :
1 2 3 4 5 6 7 8 9
| cls
set ECLIPSE=D:\Tools\eclipse-3.7\eclipse
set SRC=%1
set DEST=%2
set CATEGORY=%3
%ECLIPSE% -debug -consolelog -nosplash -verbose -application org.eclipse.equinox.p2.publisher.FeaturesAndBundlesPublisher -metadataRepository file:%DEST% -artifactRepository file:%DEST% -source %SRC% -compress -append -publishArtifacts
%ECLIPSE% -debug -consolelog -nosplash -verbose -application org.eclipse.equinox.p2.publisher.CategoryPublisher -metadataRepository file:%DEST% -categoryDefinition file:%CATEGORY% |
et j'utilise comme category.xml :
1 2 3 4 5 6 7 8
| <?xml version="1.0" encoding="UTF-8"?>
<site>
<category-def name="all" label="Maven osgi-bundles"/>
<iu>
<category name="all"/>
<query><expression type="match">providedCapabilities.exists(p | p.namespace == 'osgi.bundle')</expression></query>
</iu>
</site> |
Et enfin, je l'appelle avec :
publisher.bat D:\sdk\udig_sdk_1.3.1 D:\p2\p2-udig_sdk_1.3.1 category.xml
J'aimerais savoir d’où provient cette erreur et s'il elle est rédhibitoire.
Sachant que le but est de ne plus définir de target platform et de ne pas avoir cette erreur "
1 2 3
| [INFO] Adding repository file:/D:/p2/p2-udig-1.3.1-sdk
[WARNING] Failed to access p2 repository udig-sdk (file:///D:/p2/p2-udig-1.3.1-sdk), will try to use local cache. Reason: org.eclipse.equinox.p2.core.
ProvisionException: No repository found at file:/D:/p2/p2-udig-1.3.1-sdk. |
Merci d'avance,
Croc
Partager