Personnalisé Plugin Gradle ID not found
Je suis en train d'écrire un plugin Gradle et je ne suis pas à obtenir le apply plugin:
commande à travailler dans le Gradle script qui utilise le plugin. Je suis l'aide de Gradle 1.1.
J'ai le plugin avec clean build
et je suis d'essayer de l'ajouter à la Gradle construire par l'intermédiaire d'un plat de pensions pour l'instant. Cela semble fonctionner, mais Gradle n'est pas de ramasser qu'il y a un plugin avec l'ID test-plugin
. Le nom du projet dans le plugin settings.gradle
est test-plugin
et le fichier de propriétés dans META-INF/gradle-plugins
est également test-plugin.properties
. Je ne sais pas où je peux indiquer le plugin ID.
La build.gradle
fichier dans le projet qui est à l'aide de la test-plugin
:
repositories {
flatDir name: 'libs', dirs: "../build/libs"
}
dependencies {
compile 'test:test-plugin:0.1'
}
apply plugin: 'test-plugin'
Erreur de Gradle:
What went wrong:
A problem occurred evaluating root project 'tmp'.
Plugin with id 'test-plugin' not found.
Vous devez vous connecter pour publier un commentaire.
Le plugin Jar doit être ajouté comme un script de génération de la dépendance:
classpath
dans ledependencies
bloc, et ont uneapply-plugin: "your-plugin"
ligne pour chaque.Si vous souhaitez mettre en place un plugin dans votre buildscript, alors vous avez deux options.
Option 1
apply plugin: YourCustomPluginClassName
Option 2
plugins {
id 'your.custom.plugin.id'
}
apply plugin:
est utilisé lors de la spécification de votre plugin par son nom de classe (ex.apply plugin: JavaPlugin
)plugins { }
est utilisé lors de la spécification de votre plugin, par son id (ex.plugins { id 'java' }
)Voir Gradle Plugins par tutorialspoint de référence
Si vous choisissez l'Option 1, le votre plugin personnalisé devra être apporté dans votre script de construction par 1 de 3 façons.
1. Vous pouvez coder directement dans votre script de build Gradle.
2. Vous pouvez la mettre sous buildSrc (ex. buildSrc/src/main/groovy/MyCustomPlugin).
3. Vous pouvez importer votre plugin personnalisé comme un jar dans votre
buildscript
méthode.Voir Gradle la Bonté de M. le Haki pour plus d'informations sur le
buildscript
méthode.Si vous choisissez l'Option 2, vous devez alors créer un plugin id. Créez le fichier suivant buildSrc/src/main/resources/META-INF/gradle-plugins/[désiré.plugin.id].propriétés. Copiez et collez
implementation-class=desired.plugin.id
dans votre nouvellement créé .propriétés fichier. Remplacerdesired.plugin.id
avec votre choix de plugin id.Voir Les Plugins Custom par Gradle pour plus d'info.
apply plugin:
est dans de nombreux exemples sur le Gradle tutoriel de écrit les plugins customJ'ai aussi eu le même problème avec un plugin personnalisé id n'est pas trouvé. Dans mon cas, j'ai simplement oublié d'ajouter le "src/main/resources/META-INF/gradle-plugins" fichier de propriétés. Le nom du fichier de propriétés doit correspondre avec le nom du plugin id '.propriétés' extension.
Le fichier doit contenir la ligne:
C'est le mécanisme complet sur comment plugin id du se résoudre à la classe des noms.
En outre, le plugin doit être ajouté en tant que dépendance comme l'a souligné dans la réponse précédente. La android la documentation indique que vous devez utiliser un nom associé à votre nom de domaine unique. I. e.: le nom de " test-plugin n'est pas vraiment dans la bonne forme, mais un id like 'com.foo.gradle.test-plugin " serait mieux.