首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将asciidoctor.convert升级到asciidoctor.jvm.convert

将asciidoctor.convert升级到asciidoctor.jvm.convert
EN

Stack Overflow用户
提问于 2021-05-17 14:58:14
回答 1查看 880关注 0票数 2

我正在尝试升级asciidoctor,因为在gradle版本7中不再支持旧版本。问题是,我不知道如何从我当前的gradle kotlin代码中升级它。(我只在groovy中找到了一些例子)。我目前拥有的gradle代码看起来有点像以下内容:

代码语言:javascript
复制
plugins {
    id("org.asciidoctor.convert") version "2.4.0"
    ....
    kotlin("jvm") version "1.5.0"
    kotlin("plugin.spring") version "1.5.0"
}

....

repositories {
    mavenCentral()
    maven { url = uri("https://repo.spring.io/milestone") }
    maven { url = uri("https://repo.spring.io/snapshot") }
    jcenter()
}

dependencies {
    ....

    asciidoctor("org.springframework.restdocs:spring-restdocs-asciidoctor")
}

val snippetsDir by extra { file("build/generated-snippets") }
tasks.test {
    useJUnitPlatform()
    outputs.dir(snippetsDir)

    mustRunAfter(tasks.flywayMigrate.get())
}

tasks.asciidoctor {
    dependsOn(tasks.test.get())
    sourceDir("src/main/docs")
    inputs.dir(snippetsDir)
    attributes["snippets"] = file(snippetsDir)
    attributes["docinfo1"] = ""
    attributes["environment-${project.properties["spring.profiles.active"]}"] = true
}

当我将org.asciidoctor.convert更改为org.asciidoctor.jvm.convert时出现以下错误

代码语言:javascript
复制
Expression 'asciidoctor' cannot be invoked as a function. The function 'invoke()' is not found

和:

代码语言:javascript
复制
Unresolved reference. None of the following candidates is applicable because of receiver type mismatch: 
public val TaskContainer.asciidoctor: TaskProvider<AsciidoctorTask> defined in org.gradle.kotlin.dsl

我在网上找到的示例如下所示:

代码语言:javascript
复制
configurations {
    asciidoctorExt
}

dependencies {
    asciidoctorExt 'org.springframework.restdocs:spring-restdocs-asciidoctor'
    // …
}

asciidoctor {
    configurations 'asciidoctorExt'
    // …
}

有人能解释一下我要改变什么吗?这样我就可以升级我的asciidoctor版本了。

EN

回答 1

Stack Overflow用户

发布于 2022-01-07 14:57:39

我把这件事做好的方法是:

代码语言:javascript
复制
plugins {
    id("org.asciidoctor.jvm.convert") version "2.4.0"
}

val asciidoctorExt by configurations.creating

dependencies {
    asciidoctorExt("org.springframework.restdocs:spring-restdocs-asciidoctor:2.0.5.RELEASE")
    // ...
}

val snippetsDir by extra { file("${buildDir}/generated-snippets") }

val test = tasks.named<Test>("test") {
    outputs.dir(snippetsDir)
}

tasks.named<org.asciidoctor.gradle.jvm.AsciidoctorTask>("asciidoctor") {
    dependsOn(test)
    inputs.dir(snippetsDir)

    configurations("asciidoctorExt")

    setSourceDir("src/doc/asciidoc")
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67572163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档