影子插件留档有一个groovy的例子,但我不明白如何将其转换为静态编程语言。
来自https://imperceptiblethoughts.com/shadow/publishing的绝妙例子:
publishing {
publications {
shadow(MavenPublication) { publication ->
project.shadow.component(publication)
}
}
}
我对Kotlin版本的最佳尝试:
publishing {
publications {
create<MavenPublication>("pluginMaven") {
artifact(tasks["shadowJar"])
project.shadow.component(this)
}
}
}
使用上述静态编程语言版本,阴影依赖项在生成的pom中显示为运行时依赖项,这违背了阴影的目的。
解决办法是:
tasks {
shadowJar {
archiveClassifier.set("")
minimize()
}
}
这个github问题的一些背景。
我试图发布一个由Gradle 6.0创建的模糊JAR。1个ProGuard插件到Maven存储库。在过去的几天里,我学到了很多关于Gradle配置、变体和工件的知识,但我似乎无法做到这一点。我相信相关文件就是这里的文件。 我创建了一个简单的示例,展示了我在Github上的预期设置。 如果我运行在这个项目中,我得到了以下错误。 我还尝试了不推荐的插件。不幸的是,这个插件忽略了定制的ProGuard
我正试着做一个包含所有项目的胖uber罐子。如果我做了“MVN包”,我得到一个uber jar下的“blah”项目标签文件夹。(blah项目有主类。)uber jar包含所有项目(作为文件夹而不是jar),但当我运行它时,它似乎无法识别feature1和feature2项目。 我在上面添加了feature1和feature2的依赖项,以便它们在uber jar文件中。这错了吗?附注。blahmes
我已经构建了一个定制的gradle插件,我正试图将其发布到一个私有的maven repo。我使用插件来实现这一点。在经历了很多麻烦之后,我查看了google play services插件的实现(https://github.com/google/play-services-plugins/blob/master/google-services-plugin/publish.gradle)并试图复
关于如何将胖JAR发布到JitPack并不是很直观,因为影子文档没有JitPack的部分,JitPack文档也没有关于胖JAR的部分。 所有文档都说,如果您包括,那么他们将执行任务。 通常通过创建shadowJar fat jar,但是JitPack上的build命令是不可配置的,因此我们必须修改以使用shadowJar。
2)有没有一种方法可以不使用这个pom,而是配置teamcity构建步骤,直接从gradle构建发布?
在我的buildconfig.groovy中,我有: 我试着用下面的命令来拉开序幕: publish-plugin--snapshot--repository=newsnapshot--stacktrace