Je ne comprends pas Buckminster du tout. Disons que j'ai un projet, et il a besoin de log4j et junit4. Comment puis-je commencer, que dois-je faire pour spécifier les dépendances et avoir les dépendances ajoutées à mon classpath dans eclipse. Y at-il un tutoriel qui montre comment cela est fait?Y at-il un exemple simple de Comment utiliser Buckminster
Répondre
J'ai trouvé buckminster brillant, mais terriblement documenté (je sais, je sais, je devrais contribuer).
Je cherchais quelque chose pour construire des produits RCP. Je ne parlerai pas trop plus à ce sujet, mais je vais dire ce qui a fonctionné pour moi:
- Le « webinar » m'a montré à peu près ce que je pouvais faire, et je me suis mis à revenir deux ou trois fois commencer avec. Essayez d'extraire votre projet dans votre espace de travail. Cela implique:
- installation Buckminster sur votre installation Eclipse
- créer un petit fichier CQUERY, qui est de 3 lignes de XML disant Buckminster ce que pour vérifier.
- créer un fichier RMAP pour vos projets. J'ai trouvé ce dogfood2.rmap très utile.
Heureusement, je suis en mesure d'ignorer complètement les fichiers CSPEC, car ils peuvent être déduites à partir des métadonnées existantes (c.-à-MANIFEST.MF
, plugin.xml
, .product
fichiers. Je pense qu'il peut travailler des fichiers .project
et .classpath
, mais je ne sais pas _k_now). De même, j'ignorerais les fichiers BOM pour le moment.
Une fois que j'ai réussi à matérialiser un espace de travail, je pourrais continuer à essayer de le répliquer.
Cette article J'ai trouvé utile de créer une installation pour Buckminster adaptée au déploiement dans le cadre de notre intégration continue.
À ce stade, j'ai longuement réfléchi aux relations entre les projets Eclipse utilisés pour construire le produit. Nous nous sommes installés sur un arbre (sic) avec deux branches principales - la branche de produits et la branche de test:
- points de cquery à un
build.feature
build.feature
pointe vers unproduct
et untest.product
.product
points aux caractéristiquesfoo.feature
,foo.ui.feature
,bar.feature
,bar.ui.feature
. Chacune de ces fonctionnalités indique des plugins ou des fonctionnalités.test.product
points àfoo.test.feature
,foo.ui.test.feature
,bar.test.feature
,bar.ui.test.feature
. Chacune de ces fonctionnalités pointe vers des fragments de test qui peuvent exercer les plugins du produit.
Par "point à", je veux dire que la fonction ou cquery le spécifie comme une dépendance. (Je ne pouvais pas sembler obtenir l'en-tête Require-Bundle
dans le fichier manifeste pour travailler, alors mettez tout dans le feature.xml
).
J'ai trouvé que jouer sur la ligne de commande était très utile à ce stade. Les commandes resolve
et build
que j'ai trouvé les plus utiles. J'ai également trouvé le réglage output property utile ici. Une fois que j'ai pu construire (c'est-à-dire compiler) tout avec succès, l'emballer comme un produit était la prochaine chose. L'utilisation de la commande perform
pour une action (create.*.product
) spécifiée dans un fichier CSPEC déduit généré à partir d'un fichier .product était peu intuitive, mais elle a permis d'avoir un bon produit connu capable d'être exporté en tant que produit de l'IDE.
La dernière chose que j'ai faite a été de trouver la commande setenv
(je pense), qui a aidé à définir la version Java utilisée pour compiler le code. Il y a un petit nombre de propriétés que vous pouvez définir, mais celui-ci était celui dont j'avais besoin.
Nouvelle documentation Buckminster est produit en ce moment. La première «ébauche» contient l'introduction (basée sur la conversation Eclipse '09), le RMAP et le CQUERY entièrement expliqués, les détails sur les propriétés et les versions. Ces chapitres ont environ 70 pages et sont presque terminés. Plus de chapitres et d'exemples à suivre. J'espère faire un nouveau brouillon disponible chaque semaine. Vous pouvez l'obtenir ici: http://www.eclipse.org/downloads/download.php?file=/tools/buckminster/doc/BuckyBook.pdf (6MB).
Pour un démarrage rapide sur le bâtiment, je recommande le tutoriel Headless Eclipse RCP builds with Buckminster and Hudson, mais il ne couvre pas la matérialisation. Comme Henrik mentionne le bucky book aka "Le guide définitif" fournit une bonne documentation en profondeur, de la présentation du concept aux spécifications xml.
En plus des suggestions ci-dessus, je recommanderais également la section dans Developing Plug-Ins - Continous Integration with Jenkins sur Preparing you plugins comme une promenade relativement simple.
Bien qu'un bon aperçu de la qualité Buckminster, cela ne répond pas vraiment à la question ... –
Serait-il possible pour vous d'afficher votre CQUERY et RMAP ici? – geejay
Malheureusement, @geejay, c'était chez un client précédent. Pour ces deux raisons, malheureusement, non. – jamesh