2016-12-22 5 views
0

PluginRegistryがあります。そのプラグインをキーで検索します。つまり、ファイル名で直接読み込みます。しかし、どのように適用されたGradleプラグインキーを取得できますか?適用されたGradleプラグインキーの取得

.jarファイルをトラバースするよりも簡単な解決策を提案してください。

+0

ビルド中にプラグインの 'id'を見つける方法を知りたいのですか? 'プラグインのように適用する: 'ああ、あなたはああ知りたいですか? – JBirdVegas

+0

はい、それを取得するメカニズムはありますか? – ntviet18

答えて

0

悲しいことに、この情報はGradleによって保持されません。これを確認するためにいくつかのアイテムをダンプすることができます。project.pluginsproject.pluginManagergradle.pluginsgradle.pluginManageridは保存されませんが、クラスによってインストールされたプラグインは引き続き判別できます。私たちが実行したときに

apply plugin: "groovy" 

group = 'com.jbirdvegas.q41287036' 
version = '0.1' 

repositories { 
    jcenter() 
} 

println "Plugins: ${project.plugins.size()}" 
project.plugins.each { 
    println it.getClass().getCanonicalName() 
} 

println "\nproject.plugins dump: \n${project.plugins.dump()}" 
println "\nproject.pluginManager dump: \n${project.pluginManager.dump()}" 

task nothing {} 

println "\n\ngradle.plugins dump: \n${gradle.plugins.dump()}" 
println "\n\ngradle.pluginManager dump: \n${gradle.pluginManager.dump()}" 

その後、我々は、各適用のプラグインがidが保存されていないため、クラスを見ることができます。

$ ./gradlew -b build_simple.gradle -q nothing 
Plugins: 12 
com.gradle.scan.plugin.BuildScanPlugin 
org.gradle.api.plugins.HelpTasksPlugin 
org.gradle.language.base.plugins.LifecycleBasePlugin 
org.gradle.api.plugins.BasePlugin 
org.gradle.api.plugins.ReportingBasePlugin 
org.gradle.platform.base.plugins.ComponentBasePlugin 
org.gradle.language.base.plugins.LanguageBasePlugin 
org.gradle.platform.base.plugins.BinaryBasePlugin 
org.gradle.api.plugins.JavaBasePlugin 
org.gradle.api.plugins.GroovyBasePlugin 
org.gradle.api.plugins.JavaPlugin 
org.gradle.api.plugins.GroovyPlugin 

project.plugins dump: 
<org.gradle.api.internal.plugins.Defaul[email protected] plugi[email protected]78154b46 pluginManager[email protected]1eb1cc4a type=interface org.gradle.api.Plugin eventRegis[email protected]7530d0a2 store=[[email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]] mutateActions=[]> 

project.pluginManager dump: 
<[email protected]eb1cc4a __dyn_obj__=null [email protected][class org.gradle.api.internal.plugins.DefaultPluginManager_Decorated] insta[email protected]3d4ec275 appli[email protected]4f48cb44 plugi[email protected]78154b46 pluginContainer=[[email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]] plugins=[class org.gradle.platform.base.plugins.ComponentBasePlugin:org.gradle.api.internal.[email protected]557e4a5, class org.gradle.platform.base.plugins.BinaryBasePlugin:org.gradle.api.internal.[email protected]57cf4be7, class com.gradle.scan.plugin.BuildScanPlugin:org.gradle.api.internal.[email protected]1cd97601, class org.gradle.language.base.plugins.LifecycleBasePlugin:org.gradle.api.internal.[email protected]15c28c35, class org.gradle.api.plugins.JavaBasePlugin:org.gradle.api.internal.[email protected]2f8a30e4, class org.gradle.language.base.plugins.LanguageBasePlugin:org.gradle.api.internal.[email protected]237d681, class org.gradle.api.plugins.HelpTasksPlugin:org.gradle.api.internal.[email protected]5589c1b8, class org.gradle.api.plugins.GroovyBasePlugin:org.gradle.api.internal.[email protected]542b5c18, class org.gradle.api.plugins.BasePlugin:org.gradle.api.internal.[email protected]2a585b69, class org.gradle.api.plugins.ReportingBasePlugin:org.gradle.api.internal.[email protected]1667137d, class org.gradle.api.plugins.JavaPlugin:org.gradle.api.internal.[email protected]d789408, class org.gradle.api.plugins.GroovyPlugin:org.gradle.api.internal.[email protected]33dd223] instances=[class org.gradle.platform.base.plugins.ComponentBasePlugin:[email protected], class org.gradle.platform.base.plugins.BinaryBasePlugin:[email protected]4aad9daf, class com.gradle.scan.plugin.BuildScanPlugin:[email protected], class org.gradle.language.base.plugins.LifecycleBasePlugin:[email protected], class org.gradle.api.plugins.JavaBasePlugin:[email protected], class org.gradle.language.base.plugins.LanguageBasePlugin:[email protected], class org.gradle.api.plugins.HelpTasksPlugin:[email protected], class org.gradle.api.plugins.GroovyBasePlugin:[email protected], class org.gradle.api.plugins.BasePlugin:[email protected], class org.gradle.api.plugins.ReportingBasePlugin:[email protected], class org.gradle.api.plugins.JavaPlugin:[email protected], class org.gradle.api.plugins.GroovyPlugin:[email protected]] idMappings=[:]> 


gradle.plugins dump: 
<[email protected] plugi[email protected]38ca4273 pluginManager[email protected]5fef5ff0 type=interface org.gradle.api.Plugin eventRegis[email protected]79b9180f store=[] mutateActions=[]> 


gradle.pluginManager dump: 
<[email protected]fef5ff0 __dyn_obj__=null [email protected][class org.gradle.api.internal.plugins.DefaultPluginManager_Decorated] insta[email protected]53c09a79 applicator[email protected]76f54f2e plugi[email protected]38ca4273 pluginContainer=[] plugins=[:] instances=[:] idMappings=[:]> 
関連する問題