2015-03-19 18 views
2

我正在編寫一個Eclipse插件,我想使用gradle工具api來檢查gradle項目的構建腳本以查看它是否應用了某些插件。如何使用gradle tooling api將插件應用於構建腳本?

比方說,我有一個生成腳本,看起來是這樣的:

buildscript { 
    repositories { 
     mavenCentral() 
    } 

    dependencies { 
     classpath 'org.dm.gradle:gradle-bundle-plugin:0.6.2' 
    } 
} 

apply plugin: 'java' 
apply plugin: 'org.dm.bundle' 

repositories { 
    mavenCentral() 
} 

sourceCompatibility = 1.7 
version = '1.0' 

有沒有我可以使用gradle這個工具API來找出哪些插件這個特殊的gradle這個項目應用的方法嗎?

我知道你可以得到項目依賴列表,但是buildscript依賴關係呢?

回答

0

這個問題其實嵌入了兩個單獨的問題。我當時沒有意識到。第一個問題應該是:

1.您如何使用tooling-api查找特定項目已應用特定插件?

回答這個問題的處理恰恰在這裏:Gradle Tooling API Feature

可以發現,文章在這裏所使用的源代碼:Tooling API Example Repo

但是我有一些麻煩的是例如建立和本地執行所以我發佈了修復my own fork if you want to use it

然後第二個問題是:

一旦你從問題#1的必要工具,API模型和插件,你是如何從一個Eclipse插件上下文執行此定製工具腳本?

爲此,您需要使用優秀的gradle integration plugin for Eclipse作爲您自己的eclipse插件的依賴項。配置完成後,您可以簡單地導入由已提及的gradle plugin for eclipse導出的這些API GradleConnector,ProjectConnection,ModelBuilder

在類路徑中獲取自己的本地自定義模型與按照常規機制(MANIFEST.MF條目,不要忘記包含jar的build.properties)將jar嵌入到eclipse插件中一樣簡單。您還需要有一個本地回購可用於自定義Gradle腳本來拾取模型/插件類,如example github repo

+1

所示,第一個鏈接已死亡,這就是爲什麼應該提供回答而不是鏈接的確切原因。 – tishma 2015-06-19 19:42:33

相關問題