5

マルチプロジェクト ビルドがあり、1 つ以上のサブプロジェクトが壊れたモジュールに依存しています。モジュールの依存関係をローカル JAR ファイルへの依存関係に置き換えたいと考えています。

私は次のことを試しました(実際にはうまくいくとは思っていませんでした)が、これを超えると少し途方に暮れています:

configurations.all {
    resolutionStrategy {
        failOnVersionConflict()

        eachDependency { DependencyResolveDetails details ->
            if (details.requested.group == "com.android.support" && details.requested.name == "support-v4") {
                details.useTarget("lib/android-support-v4-fixed.jar")
            }
        }
    }
}

サブプロジェクトのモジュール依存関係をファイル (つまり JAR) への依存関係に置き換えるにはどうすればよいですか?

4

4 に答える 4

3

これを行うには、次のようにローカル リポジトリを追加します。

configure(allprojects) {
    repositories {                                                                                                         
      maven {
          url "../repo"  // this is relative to subproject, so assumes all subprojects are in the same folder
      }
      
      // ... other repositories

}

固定 jar は、mvn フォルダー構造を使用して repo dir に配置する必要があります。あなたの場合、2つのファイルをに追加する必要がありますrepo/com/android/support/support-v4/r6-fixed:

support-v4-r6-fixed.jar
support-v4-r6-fixed.pom

注: ファイルは次のような名前にする必要が<artifactId>-<version>.<ext>あり、これは pom の値と一致する必要があります。

pom は、次のようなコンテンツを持つ有効な pom メタである必要があります (壊れたバージョンの既存の pom を使用して作成します)

<?xml version="1.0" encoding="UTF-8"?>                                                                                                                                 
    <project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <modelVersion>4.0.0</modelVersion>
      <groupId>com.android.support</groupId>
      <artifactId>support-v4</artifactId>
      <version>r6-fixed</version>
    </project>
于 2013-10-31T08:25:17.377 に答える
0

FlatDir リポジトリを作成し、そこに jar を配置します。

于 2013-10-31T08:13:58.793 に答える