gpt4 book ai didi

gradle - Gradle:无法应用插件[id 'groovy']

转载 作者:行者123 更新时间:2023-12-03 06:20:14 25 4
gpt4 key购买 nike

当应用我自己的自定义插件(反过来又应用groovy(插件))时,它失败并显示Failed to apply plugin [id 'groovy'],这是由java.lang.IllegalStateException: model 'tasks' is finalized抛出的org.gradle.model.internal.registry.DefaultModelRegistry.assertNotFinalized引起的

从其他插件中应用groovy可能不可行吗?还是我在这里想念什么?

应用我的插件的项目:

buildscript {
repositories {
mavenCentral()
maven {
url file( '../../maven-deploy' )
}
}
dependencies {
// will be loaded from maven-deploy, not mavenCentral().
classpath 'se.toxbee.robospock:gradle-plugin-robospock:0.1.0'
}
}

apply plugin: 'robospock'

以及应用groovy的代码:
def applyGroovy( RoboSpockConfiguration cfg ) {
def p = cfg.project
if ( !p.plugins.hasPlugin( 'groovy' ) ) {
p.apply plugin: 'groovy'
}
}

堆栈跟踪: http://pastebin.com/ikXJTM67

git仓库: https://github.com/Centril/gradle-plugin-robospock
(此处的README.md不准确,请不要阅读...)

groovy的应用发生在afterEvaluate闭包中,这可能相关吗?

如果我在失败行之前添加 p.apply plugin: 'eclipse',它不会因 eclipse 而失败,因此一般不禁止应用插件。

最佳答案

这似乎是由于afterEvaluate所致-当groovy插件的应用程序移出该闭包但仍在该插件中时,它可以正常工作。

但是,我不确定为什么会这样,只是事实如此。知道的人都可以随时编辑我的答案或发表评论。

关于gradle - Gradle:无法应用插件[id 'groovy'],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26271951/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com