fwe*_*and 7 dependency-management gradle bintray
这更像是"我做得对"的问题.
快速回顾:我已经构建了一个gradle插件(在一个独立的gradle/groovy项目中).我在一个不同的java项目中使用它.客户端项目通过以下方式引用它:
buildScript
{
flatDir {
dirs '../my-gradle-plugin/build/libs'
}
classpath name: 'gradle-my-plugin'
}
Run Code Online (Sandbox Code Playgroud)
所以我不想要相对引用插件项目(也不要让插件成为客户端的一部分).我以为我会看看我是否可以把它放在BinTray中,并且像个"真正的"插件一样.
所以设置BinTray并经过多次试验和错误后,我得到了它的工作,但我不认为我做对了.这是我做的:
我的buildScript块看起来像这样:
buildScript {
repositories {
maven {
url 'http://dl.bintray.com/my-bintray-id/MyStuff
}
}
dependencies {
classpath 'org.fhw:gradle-my-plugin:0.1'
}
}
Run Code Online (Sandbox Code Playgroud)
所以我很好奇的是我在BinTray上对目标所做的黑客攻击.W/O这个,上传的文件/ jar(对于版本)没有适当的路径.
这对BinTray和Gradle依赖是一个正确的过程吗?
你做的是好的,虽然使用官方的Bintray插件可以让你的生活更轻松.它在今天变得越来越好,添加功能并为您做更多的工作(例如,如果它们不存在,它可以懒洋洋地创建一个包和一个版本).
另一件需要考虑的事情是将你的包装包括在jcenter中.这种包含的一个好处是oss.jfrog.org中的免费帐户,用于您的开发过程.这是一个免费的Artifactory帐户(如nexus,但更好).
另请注意,您可以将插件包含在Gradle插件门户中.一旦你这样做,你的插件的使用率下降到
plugins {
id "org.fhw.gradle-my-plugin" version "0.1"
}
Run Code Online (Sandbox Code Playgroud)
PS关于nexus'隐藏'的组ID - Bintray不仅限于Maven工件布局,您可以在任何需要的布局中部署文件,这就是您在通过UI上传文件时需要提供路径的原因.说,当Bintray在上传的文件中遇到pom文件时,它会自动设置路径.使用maven或maven-publish使用Bintray插件时,该路径也是可选的- 一旦明确了那些是Maven文件,它就会计算工件的路径.
| 归档时间: |
|
| 查看次数: |
8250 次 |
| 最近记录: |