Gradle-发布工件
我想将工件发布到ivy存储库,但它不起作用。我阅读并在阅读后创建了此示例构建:Gradle-发布工件,gradle,ivy,Gradle,Ivy,我想将工件发布到ivy存储库,但它不起作用。我阅读并在阅读后创建了此示例构建: task ivyPublishTest << { def buildDir = new File("build") buildDir.mkdirs() def fileToPublish = new File("build/file.abc") fileToPublish.write("asdasdasd") } artifacts { archives(ivyP
task ivyPublishTest << {
def buildDir = new File("build")
buildDir.mkdirs()
def fileToPublish = new File("build/file.abc")
fileToPublish.write("asdasdasd")
}
artifacts {
archives(ivyPublishTest.fileToPublish) {
name 'gradle-test-artifact'
builtBy ivyPublishTest
}
}
uploadArchives {
repositories {
ivy {
url "http://my.ivy.repo/ivyrep/shared"
}
}
}
task ivyPublishTest在Groovy中,def
创建一个局部变量,该变量在词汇范围内。因此,fileToPublish
在任务操作之外不可见。此外,必须在配置阶段完成配置(即任务操作中fileToPublish
的声明和分配将太迟)。下面是一个正确的解决方案:
task ivyPublishTest {
// configuration (always evaluated)
def buildDir = new File("build")
ext.fileToPublish = new File("build/file.abc")
doLast {
// execution (only evaluated if and when the task executes)
buildDir.mkdirs()
fileToPublish.write("asdasdasd")
}
}
artifacts {
// configuration (always evaluated)
archives(ivyPublishTest.fileToPublish) {
name 'gradle-test-artifact'
builtBy ivyPublishTest
}
}
ext.fileToPublish=…
声明一个附加到现有对象的新属性,该属性在对象(本例中为任务)可见的任何地方都可见。您可以在中阅读更多关于额外属性的信息。在Groovy中,def
创建一个局部变量,该变量在词汇范围内。因此,fileToPublish
在任务操作之外不可见。此外,必须在配置阶段完成配置(即任务操作中fileToPublish
的声明和分配将太迟)。下面是一个正确的解决方案:
task ivyPublishTest {
// configuration (always evaluated)
def buildDir = new File("build")
ext.fileToPublish = new File("build/file.abc")
doLast {
// execution (only evaluated if and when the task executes)
buildDir.mkdirs()
fileToPublish.write("asdasdasd")
}
}
artifacts {
// configuration (always evaluated)
archives(ivyPublishTest.fileToPublish) {
name 'gradle-test-artifact'
builtBy ivyPublishTest
}
}
ext.fileToPublish=…
声明一个附加到现有对象的新属性,该属性在对象(本例中为任务)可见的任何地方都可见。您可以在中阅读更多关于额外属性的信息。谢谢,但现在gradle显示了此错误无法找到参数的方法archives()[build\file.abc,build\u 343353k3f117pa3tdkoipl9of$\u run\u closure2\u clos…
您可能没有应用诸如java
之类的插件来声明存档
配置。请查看完整的Gradle发行版中的示例构建。好的,我现在明白了。我可以在没有任何插件的情况下发布工件吗?谢谢,但现在Gradle展示了这一点错误找不到参数的方法存档()[build\file.abc,build\u 343353k3f117pa3tdkoipl9of$\u run\u closure2\u clos…
您可能没有应用诸如java
之类的插件来声明存档
配置。请在完整的Gradle发行版中查看示例构建。好的,我现在明白了。我可以在没有任何插件的情况下发布工件吗?