out.absolute.dirはantで何を意味しますか?

out.absolute.dirはantで何を意味しますか?

私はLinuxのさまざまなプロジェクトのビルドファイルでよく使われるのを見ましたが、out.absolute.dirこれがまさに何を意味するのか本当に疑問に思います。私は次の行で述べた短いビルドファイルを書きました。

<project name="Test_Ant_APK" default="print">
 <property name="cal.out.dir" location="${out.absolute.dir}"/> 
 <target name="print">
   <echo>p=${cal.out.dir}</echo>
 </target>
</project>

コマンドラインからこのビルドファイルを実行すると、次の出力が表示されます。

Buildfile: /home/jody/workspace/Test_Ant_APK/build.xml

print:

    [echo] p=/home/jody/workspace/Test_Ant_APK/${out.absolute.dir}
BUILD SUCCESSFUL

Total time: 0 seconds

出力がちょっと混乱しています。私たちは出力をしなければならないと思いますp=/home/jody/workspace/Test_Ant_APK${out.absolute.dir}出力の終わりになぜそのようなものがありますか?どういう意味ですか?このビルドファイルに問題がありますか?

正確にどこにout.absolute.dir

答え1

(コメントで始めたのに長すぎて答えになりました)

  1. out.absolute.dirLinuxでは特別な意味はありません。これはAntビルドスクリプトで使用される変数のように見えます。関連していない多くのAntスクリプトに頻繁に現れる場合、これはおそらく多くのAntユーザー/開発者が使用する一般的な規則です(ただし、まだ完全にランダムであり、Ant自体の外では特別な意味はありません)。

  2. ${out.absolute.dir}別のテキストが続く場合は、シェルがその変数を明示的に使用しているかどうかを確認する方法です。たとえば、リテラルテキストが後続の${out.absolute.dir}foo変数として扱われるのは、まったく異なる変数(存在しない可能性がある)として扱われ、エラーが発生します。または、悪いことには、スクリプトを実行してはいけないこと(たとえば、書き込みの代わりにサブディレクトリへの書き込み)を実行させます。)$out.absolute.dirfoo$out.absolute.dirfoo$out.absolute.dirfoo/home/jody/workspace/Test_Ant_APK/.../Test_Ant_APK

  3. /home/jody/workspace/Test_Ant_APK/${out.absolute.dir}変数の値$out.absolute.dir/home/jody/workspace/Test_Ant_APK/

  4. この変数が指す場所を正確に見つけるには、Antビルドスクリプトを徹底的に調べて変数に値を割り当てる行を見つける必要があります。スクリプトのコピーがなければ、この質問に答えることはできません。grep 'out.absolute.dir.*='アリと関連するビルドスクリプトで実行することをお勧めします。$out.absolute.dir他の変数で構成される可能性があるため、その値も参照する必要があります。

この変数はAnt自体によって自動的に定義できます。私は確かに知るためにAntについて十分に知りません。

答え2

たとえば、説明しましょう。

ホームディレクトリが次のと仮定します。/home/jody

家の下に次のようなディレクトリがあるとしましょう。work

ログインすると自動的にホームディレクトリに入ります。したがって、実行するとき:

cd work  #(*)

このディレクトリに自分自身を見つけることができますwork

しかし、あなたが別のディレクトリにいて、別のことをしていて、そのworkディレクトリに行かなければならないとしましょう。この場合は、次を実行します。

cd /home/jody/work   #(**)

(*) is a relative directory
(**) is an absolute directory

メッセージの前の最後の行を見ると、BUILD SUCCESSFULディレクトリパスが絶対パスであることがわかります。私はあなたのビルドプロセスを知りませんが、私が知っている限り、あなたが見るパスは絶対パスであることを教えているようです。

関連情報