Генерация groovydoc без компиляции Groovy источников с помощью Gradle
Я пытаюсь создать документы из какого-то заводного кода, но Gradle терпит неудачу, потому что он не может импортировать зависимости при попытке скомпилировать код. Это ожидается, так как этот код должен выполняться в определенном контексте, прежде чем эти зависимости будут доступны. Я не знаю, почему он даже пытается скомпилировать код, когда кажется, что он должен просто анализировать исходный код, чтобы извлечь документы, но это побочная проблема.
Мое телосложение.грэдл:
apply plugin: 'groovy'
repositories {
mavenCentral();
}
dependencies {
compile 'org.codehaus.groovy:groovy-all:2.4.5'
}
sourceSets {
main {
groovy {
srcDirs = ['src/org/mysource']
}
}
}
Я пробовал разные вещи, такие как exclude как в задачах groovyCompile, так и в задачах CompileGroovy, но это не имело никакого значения. Я не могу предоставить зависимости в этом контексте. Другие предложения приветствуются. Бонусные очки для всех, кто может определить работоспособное решение для использования asciidoc для документирования groovy, чего я также не смог достичь.
1 ответ:
У вас есть два варианта отключения
:compileGroovyво время выполнения задачиgroovydoc. Сначала небольшой пример. У меня есть отличный проект Gradle, где я внес некоторые изменения, которые делают его компиляцию неудачной:gradle groovydocВывод:
Теперь давайте более подробно рассмотрим опции, которые позволяют мне генерировать groovydoc без компиляции этого источника.> Task :compileGroovy FAILED startup failed: /home/wololock/workspace/upwork/jenkins-continuous-delivery-pipeline/src/com/upwork/util/MapUtils.groovy: 29: [Static type checking] - Cannot find matching method com.upwork.util.MapUtils#merge(V, java.lang.Object). Please check if the declared type is right and if the method exists. @ line 29, column 56. = result[k] instanceof Map ? merge(resu ^ 1 error FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':compileGroovy'. > Compilation failed; see the compiler error output for details. * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Get more help at https://help.gradle.org BUILD FAILED in 4s 1 actionable task: 1 executed
1. Отключить
compileGroovyиз командной строкиВы можете использовать переключатель
-x, чтобы отключитьcompileGroovyпри запускеgroovydocЗадачи Gradle:gradle clean groovydoc -x compileGroovyВывод:
> Task :groovydoc Trying to override old definition of task fileScanner BUILD SUCCESSFUL in 2s 2 actionable tasks: 2 executed
2. Отключить
compileGroovyвbuild.gradleЕсли вы не хотите использовать переключатель
-xи ожидаете, что задачаcompileGroovyбудет отключена при каждом запускеgroovydoc, то вы можете отключитьcompileGroovy, изменив график задачи вbuild.gradle:Просто добавьте его куда-нибудь в свой файлgradle.taskGraph.whenReady { graph -> if (graph.hasTask(':groovydoc')) { compileGroovy.enabled = false } }build.gradle. Теперь, когда вы выполняете:gradle groovydocЗадача
compileGroovyбудет отключена, и исходный код не будет компилироваться.> Task :groovydoc Trying to override old definition of task fileScanner BUILD SUCCESSFUL in 2s 2 actionable tasks: 2 executed
Comments