无版本 gradle 依赖项
Versionless gradle dependencies
当我这样做时
dependencies {
file('libs/something.jar')
}
我的发行版中有 something.jar
。
但是,当我将依赖项推送到远程存储库(ivy 或 maven)并想从那里使用它时,gradle 总是向 jar 添加版本后缀。
dependencies {
compile group: 'org.company', name: 'something', version: '1.0'
}
结果 something-1.0.jar
。
连这个
dependencies {
compile group: 'org.company', name: 'something'
}
结果为 something-.jar
(注意破折号)。
我能否以某种方式阻止存储库依赖项拥有一个版本?
(我的动机是这个罐子是第 3 方罐子,我不想把它放在 git 回购中,但我也不希望它的名字改变。)
如您所说,您可以在存储库中为工件指定一个版本。您只是不想在您的应用程序中使用 jar 中的版本。你可以做
configurations {
something { transitive = false }
}
dependencies {
something 'org.company:something:1.0'
something 'org.company:something-else:1.0'
compile files(tasks['dummyTask'])
compile 'org.foo:some-normal-dep:1.1'
}
task copySomething(type:Copy) {
from configurations.something
into "$buildDir/something"
rename '(.+)-.+?\.jar', '.jar'
}
task dummyTask {
dependsOn copySomething
inputs.dir "$buildDir/something"
outputs.files fileTree("$buildDir/something")
}
主要的推动因素是 Project.files(...) 可以接受 Task
当我这样做时
dependencies {
file('libs/something.jar')
}
我的发行版中有 something.jar
。
但是,当我将依赖项推送到远程存储库(ivy 或 maven)并想从那里使用它时,gradle 总是向 jar 添加版本后缀。
dependencies {
compile group: 'org.company', name: 'something', version: '1.0'
}
结果 something-1.0.jar
。
连这个
dependencies {
compile group: 'org.company', name: 'something'
}
结果为 something-.jar
(注意破折号)。
我能否以某种方式阻止存储库依赖项拥有一个版本?
(我的动机是这个罐子是第 3 方罐子,我不想把它放在 git 回购中,但我也不希望它的名字改变。)
如您所说,您可以在存储库中为工件指定一个版本。您只是不想在您的应用程序中使用 jar 中的版本。你可以做
configurations {
something { transitive = false }
}
dependencies {
something 'org.company:something:1.0'
something 'org.company:something-else:1.0'
compile files(tasks['dummyTask'])
compile 'org.foo:some-normal-dep:1.1'
}
task copySomething(type:Copy) {
from configurations.something
into "$buildDir/something"
rename '(.+)-.+?\.jar', '.jar'
}
task dummyTask {
dependsOn copySomething
inputs.dir "$buildDir/something"
outputs.files fileTree("$buildDir/something")
}
主要的推动因素是 Project.files(...) 可以接受 Task