如何将自定义独立插件的build.gradle属性应用于应用该插件的项目

如何将自定义独立插件的build.gradle属性应用于应用该插件的项目,gradle,gradle-plugin,Gradle,Gradle Plugin,我有许多项目使用相同的依赖项和插件等等。我准备了独立的Gradle插件,以避免在所有项目中使用它,但我面临一个问题 假设我的所有项目都使用com.gorylenko.gradle git属性 我的插件能够将git properties插件应用到应用我的插件的项目中-这很好,但我还想将此插件的一些属性添加到目标项目中,我的意思是这样的: gitProperties { dateFormat = 'yyyy-MM-dd HH:mm:ss' dateFormatTimeZone = 'Euro

我有许多项目使用相同的依赖项和插件等等。我准备了独立的Gradle插件,以避免在所有项目中使用它,但我面临一个问题

假设我的所有项目都使用com.gorylenko.gradle git属性

我的插件能够将git properties插件应用到应用我的插件的项目中-这很好,但我还想将此插件的一些属性添加到目标项目中,我的意思是这样的:

gitProperties {
  dateFormat = 'yyyy-MM-dd HH:mm:ss'
  dateFormatTimeZone = 'Europe/Warsaw'
  keys = [
          'git.branch',
          'git.commit.id.abbrev',
          'git.commit.time',
          'git.dirty',
          'git.commit.message.short'
  ]
}

问题:如何将此属性添加到target build.gradle?目标项目有可能重用plugin build.gradle或其他东西的属性吗

当您的插件配置有问题的项目并应用
com.gorylenko.gradle git属性时,您必须配置底层插件提供的扩展

鉴于此插件注册了类型为
GitPropertiesPluginExtension
的扩展,您需要访问它,然后才能配置它(Java代码):

// After adding the plugin
GitPropertiesPluginExtension gitExtension = project.getExtensions().getByType(GitPropertiesPluginExtension.class);
gitExtension.keys = // Your list of keys