4

ビルド構成で従来のリポジトリ管理 (グループ、バージョン解決など) を使用したいが、ビルドが Maven または Ivy 記述子ファイルに依存しないようにしたい。

Gradle の ClientModule でこれを実行しようとしています。ドキュメントには、ビルドファイルでモジュールのメタデータを宣言することでこれが可能になると記載されています。

http://www.gradle.org/docs/1.7/userguide/dependency_management.html#sub:client_module_dependencies

これは私が持っているものです:

repositories {
    //no external repos
}

dependencies {
    runtime module("org.lessjs:lessjs:1.4.1") {
        transitive = true
        artifact {
            type = "js"
            name = "lessjs"
            url = "https://raw.github.com/less/less.js/master/dist/less-1.4.1.min.js"
        }
    }

    runtime module("org.jquery:jquery:1.10.1") {
        transitive = true
        artifact {
            type = "js"
            name = "jquery"
            url=  "http://code.jquery.com/jquery-1.10.2.js"
        }
    }
}

JavaScript ファイルがローカル リポジトリに配置されるように、指定された URL からアーティファクトをダウンロードしたいと考えています。ただし、2 つのモジュールで未解決の依存関係エラーが発生します。

どうすればこれを機能させることができますか?このカスタム依存関係スキームを解決するには、新しいタイプの ArtifactRespository を実装する必要がありますか?

更新: 特定の JavaScript 依存関係に興味深い WebJars ( http://www.webjars.org/ ) に遭遇しましたが、可能であれば Maven/Ivy リポジトリなしでこれを行う方法を知りたいです。

更新パート 2: Ivy のサポートを主張しているにもかかわらず、Gradle はこれをサポートしていないようです。ローカル Ivy モジュール ファイルと、リモート アーティファクトをポイントし、ファイルをローカル キャッシュにダウンロードするカスタム URL を使用して、Gant/Ivy でこれを機能させることができました。これは、Javascript ファイルなどの任意のファイルで実行できます。

4

1 に答える 1

3

artifact.urlこの の使用が実際に実装されているかどうかはわかりません。ビルドで使用されているのを見たことがありません。Gradle の依存関係解決メカニズムは、Maven および Ivy リポジトリとのやり取りを対象としています。私の知る限り、任意の URL からのダウンロードには適していません。

于 2013-09-26T12:39:25.593 に答える