这更像是我做得对的'题。
快速回顾:我已经构建了一个gradle插件(在一个独立的gradle / groovy项目中)。我在一个不同的java项目中使用它。客户端项目通过以下方式引用它:
buildScript
{
flatDir {
dirs '../my-gradle-plugin/build/libs'
}
classpath name: 'gradle-my-plugin'
}
所以我不想要对插件项目的相对引用(也不要让插件成为客户端的一部分)。我想我是否可以把它放在一个BinTray中并且像一个真实的'插入。
所以设置BinTray并经过多次试验和错误,我得到了它的工作,但我不认为我做对了。这是我做的:
我的buildScript块如下所示:
buildScript {
repositories {
maven {
url 'http://dl.bintray.com/my-bintray-id/MyStuff
}
}
dependencies {
classpath 'org.fhw:gradle-my-plugin:0.1'
}
}
所以我很好奇的是我在BinTray上对目标所做的黑客攻击。 W / O这个,上传的文件/罐子(对于版本)没有适当的路径。
对于BinTray和Gradle依赖项,这是一个正确的过程吗?
答案 0 :(得分:5)
你做的是好的,虽然使用the official Bintray plugin可以让你的生活更轻松。 它在一天之内变得越来越好,添加了功能并为您做了越来越多的工作(例如,如果它们不存在,它可以懒散地为您创建一个包和一个版本。)
要考虑的另一件事是将您的包裹包含到jcenter。这种包容的好处之一是a free account in oss.jfrog.org for your development process。它是一个免费的Artifactory帐户(like nexus, but so much better)。
另请注意,您可以在Gradle plugins portal添加插件。一旦你这样做,插件的使用将降至
plugins {
id "org.fhw.gradle-my-plugin" version "0.1"
}
Here are the inclusion instructions
P.S。关于nexus隐藏的群组ID' - Bintray不仅限于Maven工件布局,您可以在任何需要的布局中部署文件,这就是您在通过UI上传文件时需要提供路径的原因。说,当Bintray在上传的文件中遇到pom文件时,它会自动设置路径。
将maven
或maven-publish
与Bintray插件一起使用时,该路径也是可选的 - 一旦它清除了Maven文件,它就会计算工件的路径。