问题标签 [maven-publish]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
5344 浏览

android - 如何在我的 Maven 本地存储库中使用 gradle 发布现有的 aar?

我有一个具有以下结构的项目:

  • 项目根

  • 构建.gradle

  • 模块1/

    • 构建.gradle

    • artifact1.aar

  • 模块2/ ....

我的 artifact1.aar 是一个编译的工件,我无法访问源代码。

我的模块 1 gradle 构建文件如下:

有了这个, .aar 中包含的代码可以通过简单地引用 gradle 项目依赖项在模块 2 中使用。

但我想在我的本地 maven 中发布 .aar,以便其他 android 项目可以访问它。

我检查了 maven-publish 插件和 android-maven-publish 插件,但这两个插件似乎是在 java-library 插件或 com.android.library 插件之后调用的。

所以我的问题是如何在我的 Maven 本地存储库中使用 gradle 发布现有的 aar ?

我在 4.8 版中使用 gradle。

0 投票
1 回答
296 浏览

java - 未使用 Gradle 发布的 Maven 依赖项

我有以下内容build.gradle

不幸的是,当我运行目标时publishToMavenLocal,我得到以下 pom 文件...\.m2\repository\org\inthemoon\spring\springfx\1.1-SNAPSHOT\springfx-1.1-SNAPSHOT.pom

即没有依赖关系。

怎么修?

0 投票
1 回答
728 浏览

gradle - 使用 Gradle 将文件上传到 Artifactory,无需 maven 发布

是否可以使用 Gradle 将文件上传到 Artifactory 存储库而不使用 maven-publish 插件?

我要做的就是将任何文件上传到特定的存储库位置。这是发布片段:

我想要的只是该updatePlugins条目将 上传README.txt到相对存储库路径/pluginDescriptor

但是README.txt被上传为项目名称pluginDescriptor/nip/nip-.txt在哪里。nip

如何在没有组、artifactID 和版本的情况下提供专用名称?

我能找到的所有示例都使用 maven-publish 插件,它根据组、artifactID 和版本上传文件。

关于如何实现这一目标的任何想法?

编辑:有一个直接的可能性是如何在独立于平台的问题中完成任务:artifactory-client-java

0 投票
0 回答
2778 浏览

maven - 语义版本控制 (semver) 与 Maven 约定与工件存储库约定 - 使用什么版本控制方案?

我正在为一个新建项目设置版本控制方案,并阅读了很多关于semverMaven 约定的内容。我正在使用 Nexus OSS 存储库管理器 (v3.13.0)。

在版本控制方面很难确定一个权威的方案,但我相信约定的力量。虽然 semver 文档(上面的链接)似乎写得很好,但我注意到与 Maven 似乎如何处理版本号的冲突。目标是确定一个提供良好排序的方案。Semver 提到预发布标签(后面的部分Major.Minor.Patch-)可能有点分隔的段,其中一些是数字,并且要像这样进行比较,所以不应该有零填充,例如RC.09. 然而,在实践中,Maven(上面的 oracle 链接,但这是权威的吗?)将第一个破折号之后的所有内容视为一个字母数字字段,因此,应该使用RC09and RC10

我的问题是,是否使用零填充?我很想坚持semver,但我也需要一些有效的东西。

增加的复杂性是我使用的不是 Maven,而是 Gradle!但这还重要吗?--> 版本排序在哪里计算,在构建系统或 repo 管理器中(在我的例子中是 Nexus)。看看Nexus 关于这个主题的说法- 但是,它引用了 Maven,所以我不确定这是否适用于 Gradle 客户端(或者更确切地说,适用于maven-publish插件)。再一次,Gradle 在发布标准方面试图模仿 Maven。一团糟!

0 投票
0 回答
124 浏览

android - 为什么在 gradle:3.2.1 上出现未知属性“bundleRelease”错误?

从更新classpath 'com.android.tools.build:gradle:3.1.4'classpath 'com.android.tools.build:gradle:3.2.1'

发生错误:

错误在文件mavenCustom.gradle

0 投票
1 回答
1049 浏览

gradle - 如何使用 gradle 以一定的顺序发布许多依赖的子项目?

我正在尝试使用 gradle 发布两个子项目。我有两个子项目:SubprojectA 依赖于 SubprojectB。我想使用 maven-publish 发布它们。我在 build.gradle 中有这个:

Gradle 尝试按字母顺序发布它们:由于 subprojectA 依赖于 subprojectB,因此它不起作用,因为 subprojectB 尚未发布。如果我将 subprojectA 重命名为 ZSubprojectA,如下所示:

然后它可以工作,但我不喜欢这个解决方案。我试过这样的事情:

但它不起作用,并且 :subprojectB:publish 不存在。

0 投票
0 回答
530 浏览

gradle - Gradle maven-publish 不更新元数据

我有一个非常简单的 Gradle 项目,它生成一个 jar 文件,我正在应用 maven-publish 插件并调用publish任务将工件发布到 Artifactory:

构建.gradle

命令

这工作正常,它将工件发布到 Artifactory,但是我看到latest元数据 xml 中的标签只是间歇性地更新:

maven-metadata.xml

Gradle 版本是 4.10.2。如何确保最新标签反映最新版本?发布插件如何确定当前版本不是最新的?我坚持这一点。

0 投票
0 回答
545 浏览

java - 直接发布工件,包括 gradle 子模块

我想从一个项目中发布一个 maven 工件,该项目包括子模块中的所有类(如 fatJar),而不是将它们作为已发布工件的 pom 文件中的依赖项。

假设我有一个 gradle 项目设置,例如

我想发布一个工件moduleToPublish,我设置buid.gradle如下(注意对其他子模块的直接依赖)

当我运行时./gradlew :moduleToPublish:publish,工件中仅包含来自的类,moduleToPublish而子模块依赖项与 3p 依赖项一起位于 pom 文件中。

不过,就我而言,我希望工件也包含来自这些子模块的类,但我不知道如何到达那里。这是因为我希望我的所有消费者都能够使用包含我项目中所有依赖项的单个工件,而不是我发布单个依赖项,然后让消费者单独使用它们。我将这些模块拆分为 gradle,因为内部模块在不同时间使用它们的一部分 - 所以我不想将它们合并为单个 gradle 模块。

我试着artifact ':dependencyOne'假设它会使用MavenArtifact 插件,但这只是抱怨发布了不止一个工件。这里的任何帮助都会很棒。

0 投票
1 回答
159 浏览

gradle - maven 在哪里发布 Gradle 构建文件的相关部分?

我确实向 Maven Central 发布了一个开源库。为了做到这一点,该文件包含对包含秘密信息(如用户名和密码)的gradle.build文件的变量引用。gradle.properties

当然build.gradle需要发布到公共 git 存储库,gradle.properties不应该发布,因为包含所有个人信息但没有属性文件build.gradle是无效的。

开源项目如何处理这些敏感数据?

0 投票
1 回答
1486 浏览

android - doLast gradle 任务未运行

我有一个依赖于 maven-publish 插件的自定义任务。在运行 maven-publish 插件之前,我的自定义任务需要命令行中的一些参数。

为此,我在我的自定义任务上尝试了 doLast 闭包,但是发布任务没有运行。

我究竟做错了什么?