gpt4 book ai didi

gradle - 如何使用 Bintray 用户存储库(正确地)作为 gradle 的依赖项?

转载 作者:行者123 更新时间:2023-12-04 12:20:44 33 4
gpt4 key购买 nike

这更像是一个“我做得对吗”的问题。

快速背景故事:我已经构建了一个 gradle 插件(在一个独立的 gradle/groovy 项目中)。我在另一个 java 项目中使用它。客户项目通过以下方式引用它:

buildScript
{
flatDir {
dirs '../my-gradle-plugin/build/libs'
}

classpath name: 'gradle-my-plugin'
}

所以我不想要插件项目的相对引用(也不让插件成为客户端的一部分)。我想我会看看我是否可以将它放在 BinTray 中并像“真正的”插件一样引用。

所以设置 BinTray 并经过多次反复试验,我让它工作了,但我认为我没有做对。这是我所做的:
  • 做了一个 Maven 仓库:MyStuff
  • 做了一个包:gradle-my-plugin
  • 做了一个版本:0.1
  • 上传了该版本的文件,但指定了一个目标路径,如“org/fhw/gradle-my-plugin/0.1”

  • 我的 buildScript 块如下所示:
    buildScript {
    repositories {
    maven {
    url 'http://dl.bintray.com/my-bintray-id/MyStuff
    }
    }
    dependencies {
    classpath 'org.fhw:gradle-my-plugin:0.1'
    }
    }

    所以我很好奇的是我对 BinTray 上的目标所做的 hack。没有这个,上传的文件/ jar (对于一个版本)没有正确的路径。

    那么对于 BinTray 和 Gradle 依赖项来说,这是一个正确的过程吗?

    最佳答案

    你所做的没问题,尽管使用 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 .

    附言关于 nexus '隐藏' 的组 id - Bintray 不限于 Maven 工件布局,您可以在您需要的任何布局中部署文件,这就是为什么您需要在通过 UI 上传文件时提供路径。也就是说,当Bintray在上传的文件中遇到pom文件时,它会自动设置路径。
    使用 maven 时路径也是可选的或 maven-publish使用 Bintray 插件 - 一旦明确这些是 Maven 文件,它就会从工件计算路径。

    关于gradle - 如何使用 Bintray 用户存储库(正确地)作为 gradle 的依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25715982/

    33 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com