Tôi đang cố gắng thay thế tất cả phụ thuộc -SNAPSHOT
bằng một dự án phụ cục bộ. nó hoạt động tốt, nhưng tôi có một vấn đề: tôi không thể xác định cấu hình dự án mà tôi muốn sử dụng (phải mất default
, kéo dài runtime
, và tôi không muốn điều đó):Thay thế phụ thuộc Gradle với cấu hình dự án
configurations.all {
resolutionStrategy.dependencySubstitution {
all { dependency ->
if (!dependency.requested.version.endsWith('SNAPSHOT'))
return
def isRootProject = rootProject.name.equals(dependency.requested.module)
def matching = rootProject.subprojects.find {
it.name.equals(dependency.requested.module)
}
if (isRootProject)
dependency.useTarget rootProject
else if (matching)
// The specified syntax with path: and configuration: does not work. How can I do ?
dependency.useTarget project(path: ":" + dependency.requested.module, configuration: 'compile')
else
println 'Keep SNAPSHOT: ' + dependency.requested.module;
}
}
}
tôi biết tại sao nó không hoạt động, tài liệu khá rõ ràng: https://docs.gradle.org/current/javadoc/org/gradle/api/artifacts/DependencySubstitutions.html#project%28java.lang.String%29 nó không hỗ trợ tên cấu hình.
Có cách giải quyết nào cho giới hạn này không?