web-dev-qa-db-fra.com

Un moyen de générer automatiquement un fichier build.xml ant à partir d’Eclipse?

Sur Eclipse, j'ai trouvé Je peux facilement exporter un fichier de construction Ant pour mon projet . Il fournit des références à des bibliothèques tierces et à certaines cibles de base. Je l'utilise depuis mon fichier de construction global. La seule chose qui me dérange à ce propos, c’est que si quelque chose est modifié dans la structure du projet (comme l’ajout d’une nouvelle bibliothèque tierce), nous devons penser (oui, cela peut parfois être difficile!) À la régénération de ce fichier build.xml. Je me demande si quelqu'un ici connaît un moyen de le mettre à jour automatiquement. Par "automatiquement", je veux dire qu'il ne serait pas nécessaire de demander explicitement à Eclipse de le régénérer à chaque fois que cela est nécessaire. Je ne sais pas ce qui pourrait être le déclencheur cependant ...

Des idées ou des connaissances à ce sujet?

Merci!

MJ

77
Joanis

Faites un clic droit sur un projet Eclipse, puis "Exporter" puis "Général", puis "Fichiers de construction Ant". Je ne pense cependant pas qu'il soit possible de personnaliser le format de sortie.

70
Guillaume

J'ai essayé de faire la même chose moi-même. Ce que j’ai constaté, c’est que le fichier «Export Ant Buildfile» est lancé dans le fichier org.Eclipse.ant.internal.ui.datatransfer.AntBuildfileExportPage.Java. Cela réside dans le plugin org.Eclipse.ant.ui. 

Pour afficher la source, utilisez la perspective Développement de plug-in et ouvrez la vue Plug-ins. Cliquez ensuite avec le bouton droit sur le plugin org.Eclipse.ant.ui et sélectionnez importer en tant que> projet source.

Mon plan est de créer un programme Java pour lancer par programme la génération du fichier de compilation ant et l’appeler dans un fichier Ant chaque fois que je construis en ajoutant le fichier ant aux générateurs de mes projets (préférences de clic droit sur un projet, sous les générateurs). languette).

5
Tristan Ratchford

J'ai eu le même problème, notre environnement de travail est basé sur des projets Java Eclipse et nous avons dû créer automatiquement un fichier ANT afin de pouvoir utiliser un serveur d'intégration continue (Jenkins, dans notre cas).

Nous avons déployé notre propre outil Eclipse Java to Ant, désormais disponible sur GitHub:

ant-build-for-Java

Pour l'utiliser, appelez:

Java -jar ant-build-for-Java.jar <folder with repositories> [<.userlibraries file>]

Le premier argument est le dossier contenant les référentiels. Il recherchera récursivement le dossier pour tout fichier .project. L'outil créera un build.xml dans le dossier donné. 

Le deuxième argument peut éventuellement être un fichier .userlibraries exporté, à partir d'Eclipse, nécessaire lorsque l'un des projets utilise des bibliothèques utilisateur Eclipse. L'outil n'a été testé qu'avec des bibliothèques utilisateur utilisant des chemins relatifs, c'est comment nous les utilisons dans notre référentiel. Cela implique que les fichiers JAR et autres archives nécessaires aux projets se trouvent dans un projet Eclipse et qu'ils soient référencés à partir de celui-ci.

L'outil prend uniquement en charge les dépendances d'autres projets Eclipse et de bibliothèques utilisateur Eclipse.

4
JBishop

Si tout ce dont vous avez besoin est des entrées de chemin de classe, je fais quelque chose comme ceci pour utiliser le chemin de construction Eclipse.

<xmlproperty file=".classpath" collapseAttributes="true" delimiter=";" />

Puis définissez cette valeur dans le chemin

<path id="Eclipse.classpath">
    <pathelement path="${classpath.classpathentry.path}"/>
</path>


<target name="compile" depends="init">

    <javac srcdir="${src}" destdir="${build}" updatedProperty="compiled">
        <classpath refid="Eclipse.classpath"/>
    </javac>
</target>
2
scott

Examinez le fichier .classpath de votre projet, qui contient probablement la plupart des informations souhaitées. L’option la plus simple peut être de transformer votre propre "exportation build.xml", c’est-à-dire de traiter .classpath dans un nouveau fichier build.xml pendant la construction, puis de l’appeler avec une sous-tâche ant.

Analyser un peu de XML me semble beaucoup plus facile que d’attacher Eclipse JDT.

2
Jan Schiefer

Je suis celui qui a fait don du filtre d'exportation Ant à Eclipse. J'ai ajouté la fonctionnalité d'exportation automatique, mais uniquement à mon plug-in personnel Eclipse2ant , que je maintiens toujours pour coordonner les corrections de bugs.

Malheureusement, je n'ai pas le temps de le fusionner avec les versions officielles d'Eclipse.

1
J2G
  • Sélectionnez Fichier> Exporter dans le menu principal (ou cliquez avec le bouton droit sur le nom du projet et sélectionnez Exporter> Exporter…).
  • Dans la boîte de dialogue Exporter, sélectionnez Général> Ant Buildfiles comme suit:  enter image description here

  • Cliquez sur Suivant. Dans l'écran Generate Ant Buildfiless:

    • Vérifiez le projet dans la liste.
    • Décochez l'option "Créer une cible pour compiler le projet à l'aide du compilateur Eclipse" - car nous voulons créer un fichier de construction indépendant d'Eclipse.
    • Conservez le nom du fichier de compilation Ant par défaut: build.xml

 enter image description here

  • Cliquez Terminer, Eclipse générera le fichier build.xml sous le répertoire du projet comme suit:
     enter image description here
  • Double-cliquez sur le fichier build.xml pour ouvrir son contenu dans l'éditeur Ant:  enter image description here

la source

0
Premraj