小编Pat*_*ner的帖子

在配置阶段使用Gradle项目扩展属性

在编写自定义Gradle插件时,如何build.gradle在自定义插件的配置阶段访问使用中定义的扩展属性?

请参阅以下MWE.

build.gradle

apply plugin: 'codechecks'

codechecks {
  checkstyleConfig = '/home/user/checkstyle.xml'
}
Run Code Online (Sandbox Code Playgroud)

CodechecksPlugin.groovy

class CodechecksPlugin implements Plugin<Project> {

  void apply(Project project) {
    project.extensions.create('codechecks', CodechecksPluginExtension)
    project.apply( [ plugin: 'checkstyle' ] )

    project.checkstyle {
      configFile = project.codechecks.checkstyleConfig
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

CodechecksPluginExtension.groovy

class CodechecksPluginExtension {
  def checkstyleConfig = 'config/checkstyle/checkstyle.xml'
}
Run Code Online (Sandbox Code Playgroud)

通缉行为:checkstyle插件使用build.gradle codechecks扩展中定义的配置文件.

实际行为:CodechecksPluginExtension正在使用的默认值,因为build.gradle codechecks尚未评估扩展.

我已经尝试过把所有用途的的codechecks的插件扩展到关门,而是由于在执行阶段类铸件的问题,他们将无法正常展开.

谢谢你的帮助!

plugins checkstyle gradle build.gradle

4
推荐指数
1
解决办法
1722
查看次数

标签 统计

build.gradle ×1

checkstyle ×1

gradle ×1

plugins ×1