3

タスクをパラメータ化することは可能ですか? たとえば、他の 2 つのタスクで使用される 1 つの zip タスクを作成したいのですが、これらのタスクは、この zip タスクに関する追加情報 (例: zip 名) を渡す必要があります。

これが私がそれを機能させたい方法です。それができない場合、どうすればできますか?または、できる場合は、より良い解決策がありますか?

task zipFile(type: Zip) {
    from files('dist/zip')
    destinationDir = file('dist')
    archiveName = myArchiveName // myArchiveName should be passed as property
}

task zipTwoFiles << {
    // create first archive
    zipFile.execute() // how to pass property to this task?
    // create second archive
    zipFile.execute() // how to pass property to this task?
}

これは、プロジェクトを ant から gradle に移行するための最初のステップであるため、実行したいと考えています。アリでは、次のようになります。

<target name="zipFile">
    <zip destfile="dist/${myArchiveName}" basedir="dist/zip" />
</target>

<target name="zipFile1">
    <antcall target="zipFile">
        <param name="myArchiveName" value="myarchive.zip" />
    </antcall>
    <antcall target="zipFile">
        <param name="myArchiveName" value="myarchive2.zip" />
    </antcall>
</target>
4

1 に答える 1