我想在本地为我的所有项目安装一些软件包,例如依赖性分析。但是我需要实际配置插件-也在init脚本中。

initscript {
    repositories {
      jcenter()
    }
    dependencies {
      classpath "ca.cutterslade.gradle:gradle-dependency-analyze:1.3.0"
    }
}
allprojects {
  apply plugin: ca.cutterslade.gradle.analyze.AnalyzeDependenciesPlugin
}

该初始化脚本可以正常工作并应用插件,但是不幸的是,默认设置是插件使构建失败。我只想记录一个警告。

为此,我需要添加配置:
analyzeClassesDependencies {
  justWarn = true
}

analyzeTestClassesDependencies {
  justWarn = true
}

但是当我尝试将其添加到init.gradle文件中时:
initscript {
    repositories {
      jcenter()
    }
    dependencies {
      classpath "ca.cutterslade.gradle:gradle-dependency-analyze:1.3.0"
    }
}
allprojects {
  apply plugin: ca.cutterslade.gradle.analyze.AnalyzeDependenciesPlugin
  analyzeClassesDependencies {
    justWarn = true
  }

  analyzeTestClassesDependencies {
    justWarn = true
  }
}

我收到一个错误:
FAILURE: Build failed with an exception.

* Where:
Initialization script '/Users/<my-user>/.gradle/init.gradle' line: 13

* What went wrong:
Could not find method analyzeClassesDependencies() for arguments [init_2y9p9if69e8553k9fsvzz4a28$_run_closure1$_closure2@3e17c37a] on root project 'my-project' of type org.gradle.api.Project.

有人知道我如何应用插件配置吗?
我尝试了gradle forum,但没有得到任何答案,因此希望在这里获得更多帮助:)

最佳答案

AnalyzeDependenciesPlugin将添加不同的任务,具体取决于哪个插件应用于您的项目。例如,仅当应用analyzeClassesDependencies插件时,才会声明analyzeTestClassesDependenciesjava(请参阅此处如何实现此插件:https://github.com/wfhartford/gradle-dependency-analyze/blob/master/src/main/groovy/ca/cutterslade/gradle/analyze/AnalyzeDependenciesPlugin.groovy)

因此,您只需要先应用java插件,然后再将其应用于AnalyzeDependenciesPlugin配置闭包中即可:

allprojects {
    apply plugin: "java" // <= apply Java plugin here
    apply plugin: ca.cutterslade.gradle.analyze.AnalyzeDependenciesPlugin
    analyzeClassesDependencies {
        justWarn = true
    }
    analyzeTestClassesDependencies {
        justWarn = true
    }
}

关于gradle - 在init.gradle脚本中应用插件配置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56538320/

10-10 18:32