Je ne comprends pas le bloc des plugins Gradle
apply plugin: 'someplugin1'
apply plugin: 'maven'
et autre:
plugins {
id 'org.hidetake.ssh' version '1.1.2'
}
Dans le premier bloc, nous avons un nom de plugin. dans le deuxième package et version. Je ne comprends pas où je devrais utiliser le premier bloc et quand le second.
groovy
gradle
gradle-plugin
Yevgen Kulik
la source
la source
Réponses:
Le
plugins
bloc est la nouvelle méthode d'application des plugins, et ils doivent être disponibles dans le référentiel de plugins Gradle . L'apply
approche est la méthode la plus ancienne mais la plus flexible d'ajout d'un plugin à votre build.La nouvelle
plugins
méthode ne fonctionne pas dans les configurations multi-projets (subprojects
,allprojects
), mais fonctionnera sur la configuration de génération pour chaque projet enfant.Je pense qu'à mesure que la fonctionnalité progresse, la
plugins
méthode de configuration dépassera l'ancienne approche, mais à ce stade, les deux peuvent être et sont utilisées simultanément.la source
plugins {...}
) ne fonctionne pas pour vos plugins privés ou les plugins d'entreprise qui ne sont pas publiés dans le repo officiel de plugins Gradle. C'est pourquoi j'espère que l'ancienne approche survivra au moins jusqu'à ce que la nouvelle prenne en charge la recherche dans des référentiels privés.plugins
fonctionne en multi-projets, selon le tutoriel Gradle (Gradle version 5.6.2) guides.gradle.org/creating-multi-project-builds/... Il utiliseplugins
block withapply false
pour ajouter le plugin au projet global, mais n'ajoute pas vers le projet racine. Le sous-projet utiliseplugins
à nouveau des blocs pour ajouter le plugin.plugins
overapply plugin
.apply plugin
Comme déjà mentionné par @cjstehno, il
apply plugin
s'agit d'une méthode héritée que vous devriez éviter.Avec la nouvelle
plugins block
méthode, vous pouvez ajouter un plugin et contrôler quand l'appliquer à l'aide d'un paramètre facultatifapply
:Vous utiliseriez toujours la méthode héritée dans les situations où vous souhaitez appliquer un plugin déjà ajouté mais non appliqué dans votre
plugins
bloc. Par exemple, dans le projet maître, un pluginxyz
est ajouté mais pas appliqué et il ne doit être appliqué que dans un sous-projetsubPro
:Notez que vous n'avez plus besoin de la version. La version est requise dans le
plugins
bloc , sauf si vous utilisez l' un des plug - ins de base Gradle, tels quejava
,scala
...J'ai passé du temps à comprendre la différence en essayant de créer une
Spring Boot
application, et c'est pourquoi je réponds à nouveau après un certain temps. L'exemple suivant d'utilisation duSpring Boot
plugin m'a beaucoup aidé:Ce qui doit être utilisé actuellement:
Ce qui avait été utilisé avant Gradle 2.1:
la source
apply plugin xxx
àplugins { id xxx }
(je l' ai essayé et ça n'a pas marché )