问题标签 [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.
gradle - 在 gradle maven 发布期间向库添加前缀
我为多项目构建设置了下一个配置:
但是前缀仅应用于构建的工件,而不是在我执行发布任务时。有没有办法用前缀配置发布?
android - Gradle maven 发布插件配置参考了动态创建的 gradle 任务
我的 build.gradle 文件中有一个如下所示的发布配置块
}
注意releaseJavadocsJar
,这是一个定义如下的 gradle 任务:
当我同步 gradle 这条线
该出版物抱怨说
这意味着当 gradle 同步发生时,我的动态创建的任务还不存在。
有没有办法解决?
java - 从 Gradle 中的 Maven 存储库获取最新的快照版本
我有一个项目,它使用 Gradle 将我们的 SNAPSHOT 工件发布到远程 Maven 存储库。
当我发布到 Maven 时,时间戳和内部版本号会附加到 Jar 名称中。我正在尝试从其他项目之一下载最新版本,即 myjar-1.6.0-20170926.190543-10.jar。除非我将其从 .gradle 中删除或重新启动我的工作空间,否则我无法下载。
依赖项目有以下
也试过了
但没有任何结果。让我知道如何解决这个问题?
gradle - Gradle Nexus 和 FlatDir 部署,无需 java-、ear- 或 war-plugin
我有一个由非 Java 项目组成的多项目 gradle(2.1 版!!)构建。
我想将生成的工件(.tar.gz 文件)部署到 Nexus 以及目录。
目前,我在块的根中定义存储库,build.gradle
并再次为根文件中的块repositories
中的每个子项目定义存储库。repositories
subprojects
build.gradle
我将base
插件应用于根项目,并将maven-publish
插件应用于所有要部署工件的子项目。
我尝试按照此处的说明进行操作:
- https://docs.gradle.org/2.1/userguide/publishing_maven.html
- https://docs.gradle.org/2.1/dsl/org.gradle.api.publish.maven.MavenPublication.html
- https://discuss.gradle.org/t/how-to-have-multiple-uploadarchives/19381/3
- 如何使 uploadArchives 依赖于另一个任务?
- 还有一些……
但没有任何效果。:-(
这就是我所做的:
这是创建我要上传的工件的compressTar
自定义任务。Tar
当我执行时,./gradlew publishTarFilesPublicationToNexusDeployRepository
我收到以下错误:
当我执行uploadArchives
时,任务成功,但没有任何内容上传到任何地方,并且从输出看起来该uploadArchives
任务仅针对未应用 maven-plugin 的子项目执行。
这样做的正确方法是什么?我应该在何时/何地应用哪些插件?
gradle - 读取外部 .gradle 文件时发布源 jar
我的项目中有一个 git 子模块(我无法控制),其中包含名为publish.gradle
. 这个文件的内容是:
在我的build.gradle
文件中,我有以下行:
apply from: "${rootDir}/submodule/gradle/publish.gradle"
当我尝试在此行之后添加以下行时:
然后发布正确的内容,除了pom
存储库中的文件仅包含一个<dependencyManagement/>
部分并且缺少所有依赖项。当我从上面的行中删除build.gradle
是pom
正确的。
gradle - 简化 gradle 中的 jar 版本名称?
如何在 gradle 的构建 jar 中有一个简单的版本?我有一个像 name-version-yyyyMMdd.time-iteration-classifier.jar 这样的罐子——像这样。有没有办法没有这个yyyyMMdd.time-iteration
。我使用maven-publish
插件。
jenkins - Nexus 更新 buildNumber maven-metadata.xml
我正在将 Jenkins 的构建上传到 Nexus 存储库。如果构建成功,它会从存储在 Nexus 上的 maven-metadata.xml 中使用增加的 buildNumber 上传。但是,有时我们的构建会失败,这意味着我们不会向 nexus 上传任何内容。但是 Jenkins 的内部版本号增加了。我们希望 Jenkins 和 Nexus 中的 buildNumber 保持一致。
例子:
- Jenkins 成功的 build#1(作为 buildNumber 1 上传到 Nexus)
- Jenkins 上的 build#2 失败(没有上传到 Nexus)
- build#3 on Jenkins 成功(作为buildNumber 3上传到 Nexus )
它以某种方式可定制吗?
编辑:我正在使用带有 Maven Publishing 插件的 gradle
java - 使用 'maven-publish' 插件发布 jar 依赖项
我在 java 的 IntelliJ IDE 中有一个 gradle 项目。
我的依赖是这样的:
问题是当我在已发布的 jar 中发布我的项目时,我没有找到 somejar.jar 那么我该如何发布它。
我希望 someJar.jar 中的所有类都在我的主包旁边。
gradle - gradle发布具有不同分类器的jar,缺少依赖项
Gradle 新的 maven-publish 插件:
对于具有不同分类器的多个罐子,例如,
源集
要构建的罐子:
bar.jar 对 foo jar 具有编译依赖性。
摇篮:
已发布的存储库:
只有一个没有任何依赖关系的pom。
现在用不同的 artifactId (s) 将它们分开
每个 jar 都有自己的 POM:
两个问题:
- 分类器 (foo, bar) 不在 jar 名称中的版本之后。
- 为 foo 和 bar 生成的 POM.xml 文件没有依赖关系。
android - Android:带有 Retrofit 的库项目导致 NoClassDefFoundError
我正在尝试构建一个使用 OkHttp 和 Retrofit 来授予对我们 REST 后端的访问权限的 android 库项目。
只要我使用api
而不是implementation
依赖于com.squareup.retrofit2:converter-gson
. 似乎这是唯一需要这个的依赖项(所有其他依赖项都可以与 一起使用implementation
)。
在implementation
这里使用时,调用应用程序将崩溃NoClassDefFoundError
:
java.lang.NoClassDefFoundError:解析失败:Lcom/google/gson/GsonBuilder;
我正在使用consumerProguardFiles
一堆 proguard-rule-files(例如,来自这个repo的一个用于 okhttp3、retrofit2 等)。所有这些都将被打包到一个 AAR 中,因此还应该添加依赖项中的规则。
似乎我缺少converter-gson
. com.squareup.retrofit2:converter-gson
有人可以发布在图书馆项目中使用的规则吗?
编辑 1
如前所述,这似乎还不够。也许我需要别的东西converter-gson
!?
编辑 2
我的依赖项如下所示:
我正试图摆脱api
最后一个,因为我在使用这个库的应用程序中不需要它(或者这是无法避免的)?
编辑 3
嗯,也许 proguard 是错误的关键字。其实问题在于使用implementation
over api
。因此依赖项不会暴露给消费者。请参阅https://stackoverflow.com/a/44493379/2170109。
但是我不明白为什么converter-gson
只有图书馆调用时我需要向图书馆的消费者公开GsonBuilder
?