正在运行grails publish-plugin
似乎没有做任何事情,我能找到的唯一文件就是发布到bintray。
[编辑:]
我可以通过gradle publish
发布插件,但想知道是否有grails-y方式来做,并想知道grails publish-plugin
实际上做了什么:/
答案 0 :(得分:7)
我在Ryan Vanderwerf http://rvanderwerf.blogspot.com/2015/07/how-to-publish-grails-3-plugin.html的帮助下找到了它,他写道,有一堆spring-boot依赖项没有版本,导致gradle吓坏了。要解决它,请删除没有版本的pom中的所有依赖项:
publishing {
publications {
mavenJar(MavenPublication) {
pom.withXml {
def pomNode = asNode()
pomNode.dependencyManagement.replaceNode {}
// simply remove dependencies without a version
// version-less dependencies are handled with dependencyManagement
// see https://github.com/spring-gradle-plugins/dependency-management-plugin/issues/8 for more complete solutions
pomNode.dependencies.dependency.findAll {
it.version.text().isEmpty()
}.each {
it.replaceNode {}
}
}
from components.java
}
}
repositories {
maven {
credentials {
username "username"
password "password"
}
url "http://localhost/repo"
}
}
}
然后您可以使用grails publish-plugin
或gradle publish
发布您的插件
答案 1 :(得分:0)
在Grails 3.0.11中,我使用gradle目标 publishToMavenLocal 进行本地开发。还有另一个目标 publishMavenPublicationToMavenRepository 。这似乎来自gradle插件:
apply plugin: 'maven-publish'
似乎是标准插件build.gradle。
(编辑:添加使用本地maven的注释)。
重新阅读下面的问题和评论后,我不认为这就是您要找的内容。听起来您希望正常发布到系统上的存储库。 publishMavenPublicationToMavenRepository
可以解决这个问题。我上面描述的是使用本地Maven缓存来保存您可以在应用程序中使用的插件的快照。
在开发我的应用程序中使用的插件时,这适用于我。
我没有创建本地存储库。上面的gradle插件(maven-publish
)有一个任务publishToMavenLocal
,它将Grails插件发布到本地maven缓存以进行本地开发。
它将插件的.zip文件存储在.m2缓存目录中:
C:\Users\xyz\.m2\repository\org\whatever\plugins\pluginName\0.3-SNAPSHOT
然后,您可以在计算机上的Grails应用程序中使用该插件。
答案 2 :(得分:-2)
在BuildConfig.groovy
中grails.project.dependency.distribution = {
remoteRepository(id: '<repo name>', url: '<url to your nexus repo>')
}
然后:
grails clean
grails编译
grails maven-deploy --repository = repo name