我已经构建了一个定制的gradle插件,我正试图将其发布到一个私有的maven repo。我使用MavenPublication
插件来实现这一点。在经历了很多麻烦之后,我查看了google play services插件的实现(https://github.com/google/play-services-plugins/blob/master/google-services-plugin/publish.gradle)并试图复制它。
事实证明,只有当我添加一个名为pluginmaven
的发布时,发布才能正常工作,因此我的配置必须如下所示:
task sourcesJar(type: Jar, dependsOn: classes) {
archiveClassifier = 'sources'
from sourceSets.main.allSource
}
publishing {
publications {
pluginMaven(MavenPublication) {
groupId = 'com.magicbluepenguin'
artifactId = 'mbpplugin'
version = '1.0.0'
artifact sourcesJar
}
}
}
它将以下2个任务添加到我的项目中:
task sourcesJar(type: Jar, dependsOn: classes) {
archiveClassifier = 'sources'
from sourceSets.main.allSource
}
publishing {
publications {
pluginMavenDevelop(MavenPublication) {
groupId = 'com.magicbluepenguin'
artifactId = 'mbpplugin'
version = '1.0.0'
artifact sourcesJar
}
}
}
当然这也有问题:
>
调用“default”任务现在失败,因为它的artifactiD、
version`等尚未定义。
调用自定义任务成功,但尝试从客户端应用程序使用插件失败,出现id为'mbppplugin'not found的插件错误。
不知何故,我现在需要能够为开发、登台和生产定义自定义出版物,但我真的不知道如何处理这个问题,也没有找到关于如何做到这一点的任何文档。
通过使用适当的参数找到了解决方法。我的任务现在看起来如下:
task sourcesJar(type: Jar, dependsOn: classes) {
archiveClassifier = 'sources'
from sourceSets.main.allSource
}
publishing {
publications {
pluginMaven(MavenPublication) {
groupId = 'com.magicbluepenguin'
artifactId = 'mbpplugin'
if (project.hasProperty('versionArgs')) {
version = version + project.findProperty('versionArgs')
}
artifact sourcesJar
}
}
}
通过调用以下命令,我现在可以继续将插件作为开发版本发布:
./gradlew buildsrc:publishpluginmavenpublicationtomavenrepository-pversionargs=-develop
我有一个gradle构建脚本,它检索了一些常见的依赖项,并将它们组合起来创建了一个“胖罐子”。
Gradle版本:3.5 我试图发布我的自定义每1k展现的收入神器,但留档是真的不清楚这应该如何做。 这是我们发布的gradle脚本的摘录: 我不确定应该如何在发布闭包中引用每1k展现的收入工件的自定义。使用工件名称('our-software-rpm')不起作用,使用任务名称(rpmArts)也不起作用。那么我该怎么办? 此外,该项目还应用java插件来获取一个ArtifactHandler,该
我有一个自定义dto类: 和一个使用Web Api(4.5. net框架)的控制器 客户端只有4.0.net框架,因此我将无法使用PostAsJsonAsync()方法。将对象从客户端传递到服务器的解决方案是什么? 我尝试了如下方法: 然而它给了我一个例外: 难道不能使用牛顿软件库吗?
Web 第三方应用开发-资源发布 资源上线 发布成功 Web 第三方应用开发-资源发布 更新时间:2018-07-03 22:17:05 本章介绍如何把您的应用资源上线。 资源上线 点击“线上发布”按钮: 发布成功
我试图发布一个由Gradle 6.0创建的模糊JAR。1个ProGuard插件到Maven存储库。在过去的几天里,我学到了很多关于Gradle配置、变体和工件的知识,但我似乎无法做到这一点。我相信相关文件就是这里的文件。 我创建了一个简单的示例,展示了我在Github上的预期设置。 如果我运行在这个项目中,我得到了以下错误。 我还尝试了不推荐的插件。不幸的是,这个插件忽略了定制的ProGuard
我想使用将我的jar上传到Maven中央存储库,并在其他项目中作为依赖项使用它。我遵循了这个不错的教程,结果我的JAR被上传到Sonatype Nexus(见下面的屏幕截图)。 我的jar的0.1版本可用;线路 在我的从属项目的文件。我通过点击屏幕截图中的关闭和释放按钮发布了0.1版本。之后,我评论了我在这里创建的Jira票据,并被告知中央同步将每两小时运行一次。 我的理解是,如果我现在想发布我的