0
このプラグインでクロージャーエラーが発生する理由を理解できません。これが適用されてください:プラグインで奇妙なクロージャーエラーが発生する
class MetadataPlugin implements Plugin<Project> {
Project project
MetadataExtension extension
static final METADATA_REPORT = 'metadataReport'
static final METADATA_REPORT_TASK = ':' + METADATA_REPORT
@Override
void apply(Project project) {
this.project = project
// Create and install the extension object
extension = project.extensions.create('metadata', MetadataExtension)
// *** create the tasks ***
def ignore = project.tasks.create(METADATA_REPORT, MetadataReportTask)
ignore.group = PLUGIN_GROUP
ignore.description = 'Gets the detailed information for this project and formats it into a user readable report'
// *** validate the build file ***
project.afterEvaluate {
def String ext_hash = project.extensions.metadata.project_hash
def String hash = {
if (ext_hash == null) {
throw new InvalidUserDataException(
"You must configure the metadata:project_hash value before running any form of build"
)
}
return ext_hash
}
throw new InvalidUserDataException(hash)
}
}
}
がそれにこのbuild.gradle
plugins {
id 'metadata'
}
metadata {
project_hash '123123123'
}
を追加し、それがこのエラーを生成します。
19:44:49.934 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] FAILURE: Build failed with an exception.
19:44:49.935 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]
19:44:49.935 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * What went wrong:
19:44:49.935 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] A problem occurred configuring root project 'junit9025097301225311002'.
19:44:49.935 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] > com.[email protected]5bff38f7
19:44:49.935 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]
エラーが閉鎖エラーを適用することが、なぜそれが私に与えている必要があるとして、123123123ではない理由を私は理解していませんか?拡張子は単純なpojoだけです。あなたが直接値を代入する必要がありますので
[email protected]341f9e4 誤差が大きなものは、私は閉鎖を実行する必要があります理解し、ですが、それが実行されていない理由を私は理解できない – scphantm
を変更しませんでした時間あたり彼はafterEvaluateが実行される時を過ごす – scphantm