Применить настройку плагина в скрипте init.gradle - PullRequest
0 голосов
/ 11 июня 2019

Я хочу установить несколько пакетов локально для всех моих проектов, например, зависимость-анализ.Но мне нужно на самом деле настроить плагин - также в скрипте инициализации.

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 , но не получил никакого ответа, поэтому надеюсь получить здесь дополнительную помощь :)

1 Ответ

1 голос
/ 11 июня 2019

AnalyzeDependenciesPlugin добавит различные задачи в зависимости от того, какой плагин применяется к вашему проекту. Например, analyzeClassesDependencies и analyzeTestClassesDependencies будут объявлены, только когда применяется плагин java (посмотрите, как этот плагин реализован здесь: https://github.com/wfhartford/gradle-dependency-analyze/blob/master/src/main/groovy/ca/cutterslade/gradle/analyze/AnalyzeDependenciesPlugin.groovy)

Так что вам просто нужно применить плагин java, прежде чем применять AnalyzeDependenciesPlugin в закрытии конфигурации allprojects:

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