5

ANTプロパティ内に格納されている行をカウントするためにANT-Buildscriptを取得しようとしています。例から、次のようにファイル内の行をカウントする方法がわかりました。

<resourcecount count="0" when="eq">
    <tokens>
        <concat>
            <filterchain>
                <tokenfilter>
                    <linetokenizer/>
                </tokenfilter>
            </filterchain>
            <fileset file="${file}" />
        </concat>
    </tokens>
</resourcecount>

ここで、ファイルの代わりにANTプロパティを参照したいと思います。これを行う方法はありますか?<echo file="${temp.file}">${the.property.with.many.lines}</echo>後で上記のコードを使用して使用して、プロパティの内容をファイルに書き込むソリューションについて知っています。しかし、一時ファイルなしで機能する解決策があるのだろうか。

4

1 に答える 1

5

次のようpropertyresourceに、の代わりに要素を使用できます。fileset

<property name="lines"
    value="line01${line.separator}line02${line.separator}line03"/>

<target name="count-lines">
  <resourcecount property="line.count" count="0" when="eq">
    <tokens>
      <concat>
        <filterchain>
          <tokenfilter>
            <stringtokenizer delims="${line.separator}" />
          </tokenfilter>
        </filterchain>
        <propertyresource name="lines" />
      </concat>
    </tokens>
  </resourcecount>
  <echo message="${line.count}" />
</target>

出力

カウントライン:[エコー] 3

BUILD SUCCESSFUL合計時間:0秒

于 2012-07-21T20:37:50.943 に答える