Maven プロジェクトを作成しましたが、外部スクリプトを実行しようとしています。この外部スクリプトでは、read コマンドを使用して質問し、回答を得ています。
exec-maven-pluginでsudo mvn パッケージを実行すると機能します
しかし、しかし、しかし :
- sudo mvn packageを実行すると、スクリプトが読み取りコマンドで停止しません。
- exec-maven-plugin でsudo mvn release:prepareを実行すると、スクリプトが読み取りコマンドで停止しません。
- maven- antrun -plugin でsudo mvn release:prepareを実行すると、スクリプトが読み取りコマンドで停止しません。
そして明らかに、私はリリースを行う必要があります:)
読み取りコマンドの他の構文を使用して、スクリプトの最初の行 (#/usr/bin/bash、sh、...) を変更しようとしました...
誰かが私を助ける解決策を持っていますか???
ここに私の pom.xml の関連部分があります
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>initialisation</id>
<phase>initialize</phase>
<configuration>
<tasks>
<exec dir="${project.basedir}" executable="${project.basedir}/livraison/outils/0_init_livraison.ksh" failonerror="true">
<arg line="${project.name} ${project.version} ${ancienneVersion}" />
</exec>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
ここに私の 0_init_livraison.ksh の関連部分があります
#!/bin/ksh
echo -e "| EXECUTION DU SCIPT generation_livrable.ksh \n"
echo "SHELL : $SHELL"
boucle="boucler"
while [ $boucle -eq "boucler" ]
do
echo -ne " Souhaitez-vous forcer la procedure (oui/non)? "
read rep1
case "$rep1" in
o|O|y|Y|oui|Oui|OUI|yes|Yes|YES)
echo ""
break
;;
n|N|non|Non|NON|no|No|NO)
echo -e " Abandon de la procedure..."
boucle=""
exit 1
;;
*)
echo -e " Reponse incomprehensible.\c"
esac
done
sudo mvn パッケージを実行したときのコンソールの最後の行 (その後、何も起こりません。無限の while ループのためにブロックされているようです)
[INFO] --- maven-antrun-plugin:1.8:run (initialisation) @ MyProject---
[WARNING] Parameter tasks is deprecated, use target instead
[INFO] Executing tasks
main:
[exec] | EXECUTION DU SCIPT generation_livrable.ksh
[exec]
[exec] SHELL : /bin/bash
読んでくれてありがとう:)
編集 :
maven-antrun-plugin でプロパティを使用しようとしました。しかし、私は同様の問題を抱えています: mvn release:prepare 操作中に antrun 入力タスクが機能しません