0

テストとして、ローカルの .tar ファイル (以前に Artifactory から手動でダウンロードしたもの) を抽出できるタスクを作成しました。ファイルが Artifactory 上にある場合、gradle スクリプトからファイルを参照するにはどうすればよいですか? サーバーパスを使用する必要がありますか? 私がgradleで行ったのは基本的なことだけで、リポジトリは扱っていません。

最後にスクリプトを実行してからファイルが変更されたかどうかに基づいて特定のアクションを実行したいのですが、それは可能ですか?

4

1 に答える 1

1

これを行う1つの方法はconfiguration、TARファイル用に新しいファイルを作成することです。私の例では、名前を付けましたmyTar。リポジトリクロージャでは、ArtifactoryリポジトリへのURLを定義し、dependenciesクロージャの依存関係としてTARファイルを参照します。Gradleを実行すると、ファイルがダウンロードされ、ローカルリポジトリに配置されます。私が読んだように、あなたはすでにTARファイルを抽出するタスクを作成しました。extractMyTarダウンロードしたTARファイルを構成名で参照し、ローカルディレクトリに解凍するという名前のタスクを作成しました。

configurations {
    myTar
}

repositories {
    mavenRepo urls: 'http://my.artifactory/repo'
}

dependencies {
    myTar 'your.org:artifact-name:1.0@tar'
}

task extractMyTar << {
    File myTarFile = configurations.getByName('myTar').singleFile

    if(myTarFile.exists()) {
        ant.untar(src: myTarFile, dest: file('myDestDir'))
    }
}
于 2012-06-17T14:05:13.133 に答える