在自定义插件

时间:2016-03-24 02:10:31

标签: plugins gradle build.gradle

  buildscript {
  repositories {
    mavenCentral()
  }

  dependencies {
    classpath 'com.google.guava:guava:18.0'
  }
}

apply plugin: LolPlugin

class LolPlugin implements Plugin<Project> {
  public void apply(Project p) {
    p.buildscript.dependencies.each {
      println it
    }
  }
}

在此示例中,您可以尝试在自定义插件类中获取依赖项名称。 但是输出内容和预期内容之间存在差异。 我希望如此,

  

'com.google.guava:番石榴:18.0'

但输出是

  

org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependenciesHandler_Decorate@174b0a8

1 个答案:

答案 0 :(得分:1)

这个问题的几乎重复:How to iterate gradle dependencies in custom gradle plugin?

简短回答:

class LolPlugin implements Plugin<Project> {
  public void apply(Project p) {
    p.buildscript.configurations.each {
     it.allDependencies.each {
        println "${it.group}:${it.name}:${it.version}"
      }
    }
  }
}