Est-il possible de spécifier une cible d'amorçage dans un fichier de compilation ANT?

StackOverflow https://stackoverflow.com/questions/1982098

  •  22-09-2019
  •  | 
  •  

Question

Dans mon fichier de construction de Ant, j'utilise une propriété chiffrée que je lis au large d'un fichier texte. Je dois décrypter dans une sorte de cible bootstrap au cours de mon processus de construction. Comment puis-je faire?

À titre d'exemple, voici le contenu des fichiers.

monFichier.txt :

ENCRYPTED=encryptedtext

build.xml :

<project name="myProject" default="all">
<property file="myFile.txt">

<!--Specify bootstrap target here to perform the decryption task-->

<target name="myTarget">
<!--Use the decrypted property here-->

Je reçois qu'une façon de le faire est de configurer une cible pour effectuer le décryptage et l'ajouter comme depends dans toutes les cibles nécessaires. Je ne veux pas faire cela. Je suis intéressé par des alternatives qui rendent le processus aussi propre que possible. Cela signifie aussi que j'ai des solutions déjà envisagées qui vont « Pourquoi vous pas effectuer le décryptage et le lire ailleurs à partir de là? » et je ne suis pas intéressé par eux.

Merci.

Était-ce utile?

La solution

À mon avis, contrairement à votre objectif déclaré, je pense que la façon la plus propre de configurer vos besoins à utiliser la structure de cette fourmi depends fournit. Il a été développé uniquement dans ce but.

Si vous voulez vous assurer que ce décryptage est exécuté à chaque fois que vous exécutez votre processus de fourmi, et vous voulez toujours résister à l'envie d'utiliser l'outil de depends, vous avez la possibilité de mettre votre processus de décryptage dans votre ant.bat, avant l'appel à la fourmi appropriée, ou envelopper le ant.bat dans votre decryptAndCallAnt.bat.

Autres conseils

Si vous mettre en œuvre votre propre tâche d'effectuer le décryptage, vous devriez être en mesure de faire quelque chose comme ceci:

<decrypt file="myFile.txt" refid="decrypted.refid"/>
<property refid="decrypted.refid"/>

Vous mettez en oeuvre votre propre tâche appelée decrypt, qui se lit myFile.txt et définit une ressource avec le decrypted.refid ref-id. attribut La tâche de property peut lire les propriétés de tout type de ressource en utilisant le « ref-id ». Vous devrez faire des fouilles dans le Ant manuel afin de comprendre la les détails de la façon de définir votre propre tâche et la façon de définir une ressource contenant le contenu du fichier crypté, mais il devrait être faisable.

Avec les nouvelles versions de Ant (depuis 1.6 je pense) les tâches ne doivent pas nécessairement contenu dans une cible. Si vous voulez toujours certaines tâches à exécuter juste ne les envelopper pas dans une cible.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top