2011-09-01 8 views
5

私はgradプロジェクトに変換しているantプロジェクトを持っています。アリプロジェクトでは、このようなものがあります:gradleを使ってプロパティを展開するときに、どのようにしてantの動作を得ることができますか?

<copy todir="dest_dir"> 
    <fileset> 
    ... 
    </fileset> 
    <filterchain> 
    <expandproperties/> 
    </filterchain> 
</copy> 

フィルタチェーンは${property}のようなプロパティを展開しますが、中括弧なしでドル記号を無視します。私はこの動作をgradleで再現しようとしています。

もし私がexpandとすると、gradleはファイルをグロビテンプレートとして展開し、ドル記号を中括弧で拡張しようとします。

copy { 
    from 'source_dir' 
    into 'dest_dir' 
    expand(project.properties) 
} 

IアリExpandPropertiesフィルタクラスとfilter場合、私はNullPointerExceptionが取得します。私が逃したこれを行う簡単な方法はありますか?

答えて

6

私はこれを理解しました。 ExpandPropertiesフィルタには、Antプロジェクトで設定されたプロジェクトプロパティが必要です。これは、私はそれが動作するように構成され得た方法である:

copy { 
    from 'source_dir' 
    to 'dest_dir' 
    filter(org.apache.tools.ant.filters.ExpandProperties, project: ant.antProject) 
} 

これは括弧なしでドル記号上につまずい取得せずに、Antのよう${property}のような性質がまったく同じ展開します。

関連する問題