如何轻松地在库的 groupId 形式与其在本地存储库中的关联路径之间进行转换?
How can I easily convert between the groupId form of a library and its associated path in the local repository?
我正在使用 gradle 安装 Android AAR 包(尽管可以想象这可以与 JAR 或任何其他工件一起使用)。我可以用 ./gradlew install
安装神器。这会将它安装到我的本地 Maven 存储库,默认情况下 ~/.m2/repository
.
这很好用。现在,我需要创建一个新任务来处理该存储库的实际文件。我可以获得我需要的所有信息,但我有 groupId
的形式:com.somecompany.project
,我想要它的形式:com/somecompany/project
(因为这是它的存储方式在文件系统上的本地 Maven 存储库中)。
我知道我可以将 .
字符转换为 ${file.separator}
,但是,考虑到 Maven 必须在内部执行此操作,是否有一种快速的方法来执行此操作,这是行家插件?我希望能够做类似的事情:
def groupDirStructure = maven.convertGroupToPath(project.group)
如果您想获取该文件,您应该将其作为依赖项进行解析,而不是在文件系统中搜索它。
repositories {
mavenLocal()
}
configurations {
local
}
dependencies {
local 'com.somecompany.project:module:1.0'
}
task copyArtifacts(type: Copy) {
from configurations.local
into "some/dir"
}
我正在使用 gradle 安装 Android AAR 包(尽管可以想象这可以与 JAR 或任何其他工件一起使用)。我可以用 ./gradlew install
安装神器。这会将它安装到我的本地 Maven 存储库,默认情况下 ~/.m2/repository
.
这很好用。现在,我需要创建一个新任务来处理该存储库的实际文件。我可以获得我需要的所有信息,但我有 groupId
的形式:com.somecompany.project
,我想要它的形式:com/somecompany/project
(因为这是它的存储方式在文件系统上的本地 Maven 存储库中)。
我知道我可以将 .
字符转换为 ${file.separator}
,但是,考虑到 Maven 必须在内部执行此操作,是否有一种快速的方法来执行此操作,这是行家插件?我希望能够做类似的事情:
def groupDirStructure = maven.convertGroupToPath(project.group)
如果您想获取该文件,您应该将其作为依赖项进行解析,而不是在文件系统中搜索它。
repositories {
mavenLocal()
}
configurations {
local
}
dependencies {
local 'com.somecompany.project:module:1.0'
}
task copyArtifacts(type: Copy) {
from configurations.local
into "some/dir"
}