7
votes

Phing, appelez une commande obtenir sa sortie dans une propriété

J'ai un script pouvant rechercher et sortir ou écrire mon numéro de version actuel dans un fichier texte. Maintenant, le seul problème est comment puis-je obtenir ce numéro de version dans une propriété phing.

À l'heure actuelle, ma cible de phings construit build.zip et construit.tar, j'aimerais qu'il construit la construction-1.0.0.zip ou tout ce que le script de version décide de la version actuelle. Comment puis-je faire ceci? Devrai-je créer ma propre "tâche"?


0 commentaires

4 Réponses :


7
votes

Vous pourriez avoir besoin de créer votre propre tâche pour cela. La tâche peut sembler quelque chose comme ... xxx pré>

alors vous définissez la tâche dans votre version xml p> xxx pré>

puis appelez la tâche

<target name="dist">
    <versiontask versionprop="version.number"/>
</target>


0 commentaires

15
votes

Une approche alternative consiste à utiliser l'attribut OutputProperty code> sur l'ExecTask pour fournir une propriété dans votre fichier de construction.

<target name="version">
  <exec command="cat version.txt" outputProperty="version.number" />
  <echo msg="Version: ${version.number}" />
</target>


0 commentaires

5
votes

Une approche alternative qui fonctionne sur Windows et Linux.

<propertyprompt propertyName="release_version" defaultValue="${version.numver}" promptText="Enter version to be released."/>
<exec executable="php">
    <arg value="-r" />
    <arg value="$file=file_get_contents('version.txt'); $file = str_replace('${version.number}', '${release_version}', $file); file_put_contents('version.txt', $file);" />
</exec>
<echo msg="Version number updated." />
<property name="version.number" value="${release_version}" override="true" />


1 commentaires

Copié du script de construction CakePHP.



1
votes

Aussi alternatif et meilleur moyen (mon avis) qui fonctionne à la fois sur Windows et Linux, il utilise une tâche natif loadfileTask xxx

aussi vous pouvez utiliser filtrage xxx

Plus d'informations


0 commentaires