使用build.gradle.kts发布到mavenLocal

时间:2018-11-25 16:43:47

标签: gradle kotlin gradle-kotlin-dsl

我正在尝试将工件发布到~/.m2(本地行家),作为Gradle新手,我不确定自己缺少什么

到目前为止,我所看到的所有示例都建议使用publishing块,当我运行任何Gradle命令时,该块会引发弃用警告。 还包括maven-publish插件而没有任何publishing块会导致相同的警告。

repositories {
    mavenLocal()
    jcenter()
}

plugins {
    `maven-publish`
    kotlin("jvm") version("1.3.10")
    id("org.jetbrains.dokka") version "0.9.16"
}
  

作为使发布插件稳定的一部分,“   “发布{}”块的可配置行为已被   不推荐使用。在Gradle 5.0中   'enableFeaturePreview('STABLE_PUBLISHING')'标志将被删除,   新的行为将成为默认行为。请加   'enableFeaturePreview('STABLE_PUBLISHING')'到您的设置文件,然后   通过发布到本地存储库来进行测试。如果所有文物   已按预期发布,没有其他事情可做。如果   发布的工件发生意外更改,请参见迁移   指南以获取更多详细信息:   https://docs.gradle.org/4.10.2/userguide/publishing_maven.html#publishing_maven:deferred_configuration

如果它实际上已发布到maven-local,则我可能暂时忽略了该警告,但它根本没有发布,gradle publishToMavenLocal也没有发布,它只是用上述警告说BUILD SUCCESSFUL in __s。 / p>

尝试在publishing块内添加subprojects块的推荐路线(根据链接)会导致intellij出现很多红色

enter image description here

不确定那是否是Kotlin DSL ...尝试尝试Gradle Docs的Kotlin DSL版本上显示的其他方法:

enter image description here

enter image description here

知道我想念什么吗?

这是我的Gradle版本和其他相关信息(IntelliJ具有Kotlin 3.1.0)

gradle -version

------------------------------------------------------------
Gradle 4.10.2
------------------------------------------------------------

Build time:   2018-09-19 18:10:15 UTC
Revision:     b4d8d5d170bb4ba516e88d7fe5647e2323d791dd

Kotlin DSL:   1.0-rc-6
Kotlin:       1.2.61
Groovy:       2.4.15
Ant:          Apache Ant(TM) version 1.9.11 compiled on March 23 2018
JVM:          1.8.0_151 (Oracle Corporation 25.151-b12)
OS:           Mac OS X 10.14.1 x86_64

1 个答案:

答案 0 :(得分:1)

我认为您需要做的就是应用maven插件,然后运行install任务。 here是如何应用该插件的详细信息,例如使用您将拥有的Kotlin DSL:

plugins {
    maven
}

然后,您只需运行install任务,例如从您的IDE(在您的情况下为IntelliJ的Gradle窗口)或命令行中,例如./gradlew install

关于应用maven插件,如果您是Gradle的新手,您可能想在Gradle插件DSL上获得清晰的信息(上面的代码片段就是其中的一个示例)。如果您不使用该插件,则插件的应用方式会稍有不同(例如,您必须使用apply命令)。详细信息here。请注意,关于是否使用Gradle插件DSL的决定与对编写build.gradle文件的语言使用Groovy或Kotlin的选择不同。