2010-09-22 15 views
0

Je construis mon plugin Eclipse au moyen d'Eclipse PDE construire, à savoir que j'ai défini toutes les cibles requises dans « custom.xml »Eclipse PDE Build: comment organiser les plugins et les fonctionnalités avec l'étape "fetch" sautée?

Mais je ne veux pas chercher mes plugins depuis un dépôt, donc je saute cette étape. Cependant, tous les plugins doivent être situés dans le répertoire plugins, et toutes les fonctionnalités doivent être situées dans le dossier des fonctionnalités en conséquence. Ceci est réellement fait avec des fichiers de carte, mais j'ai sauté l'étape. Donc, je copie mes éléments comme suit:

<target name="init"> 

    <mkdir dir="${buildDirectory}" /> 
    <mkdir dir="${buildDirectory}/plugins" /> 
    <mkdir dir="${buildDirectory}/features" /> 

    <copy todir="${buildDirectory}/${type}s"> 
     <fileset dir="${buildDirectory}/../"> 
     <include name="${id}/**" /> 
     </fileset> 
    </copy> 
</target> 

<target name="preGenerate"> 
    <antcall target="allElements"> 
     <param name="genericTargets" value="${builder}/customTargets.xml"/> 
     <param name="target" value="init"/> 
    </antcall> 
</target> 

Cela fonctionne parfaitement! La seule chose que je n'aime pas, c'est que dans la cible "allElements" je dois spécifier l'ensemble de tous les plugins et fonctionnalités que j'ai. Et je le fais uniquement pour l'objectif de la copie. La spécification dans les éléments d'une seule caractéristique 'principale' est suffisante pour le reste du processus de construction. Donc, ma question est: comment spécifier une seule fonction 'principale' sans avoir besoin de spécifier le reste des plugins (qui sont déjà listés dans cette fonctionnalité) pour préparer le processus de construction Eclipse? Ou, il est possible de démarrer la construction sans cette copie? Probablement, spécifier des fichiers cartographiques en quelque sorte?

Merci d'avance!

Répondre

0

Pourquoi avez-vous allElements.xml? PDE elle-même crée un projet de fonctionnalité fictive pour construire les choses que vous lui demandez. Est-ce une application RCP que vous souhaitez construire? Si oui, vous pouvez utiliser une configuration de produit pour appeler la construction. Si ce n'est pas le cas, vous pouvez créer un projet de fonctionnalité de niveau racine fictif et y ajouter tout, générer son build.xml et le construire sans le diriger.

Vous voudrez peut-être jeter un coup d'œil à ce post series (excuses pour vous avoir envoyé sans vergogne à mon blog).

+0

Non, ce n'est pas RCP. allElement est une cible dans customTargets.xml: – Daria

+0

\t \t \t \t \t \t \t \t \t ... Daria

+0

projet de long métrage "factice" ne permet pas. Cela fonctionne pour tout le processus de construction sauf pour les étapes initiales: tous les plugins doivent être situés dans le dossier "plugins" du répertoire de construction, toutes les fonctionnalités doivent être situées dans le dossier "features". Et pendant le développement, ce n'est bien sûr pas le cas. Lors de l'extraction des plugins requis à partir de CVS, dans le fichier map, vous devez également spécifier tous les pplugins au lieu de l'un, "main", ou "dummy" comme vous l'appeliez, ce qui n'est pas bon. – Daria