2011-07-27 25 views
2

是否有一種方法可以將額外的構建步驟添加到當您右鍵單擊並從CRXDE中選擇「Build Bundle」時觸發的Bundle構建過程?如何自定義Adobe/Day公共套件構建過程?

我現在的具體使用案例是能夠運行xjc編譯器來生成一些額外的Java源類,以便JAXB綁定與第三方Web服務交互。但具體的額外任務可能是真的。

我可以看到,單擊Build Bundle項目會觸發對/ libs/crxde/build的POST請求,其中包含兩個參數,一個表示捆綁包的根目錄以及捆綁描述符的位置。該URL由com.day.crx.ide.CRXDEBuildServlet servlet提供服務,它是com.day.crx.crxde-support軟件包的一部分。

現在我不得不從外部運行xjc進程到CRXDE(在這種情況下通過Maven從命令行),然後使用vlt將生成的.java文件推回到JCR樹中,然後執行右鍵單擊Build捆綁過程。

我意識到我可以在外部構建我自己的OSGi包並將其安裝到Felix,但我正在尋找一種方法來避免這種情況,因爲它使我們的開發環境更加複雜,特別是對於團隊中的一些初級CQ人員。

回答

2

對於那些尋找這個問題的答案,遺憾的是沒有。嵌入在CQ中的包構建過程非常基礎,並且我沒有發現任何掛鉤可以讓您用自定義步驟擴展它。

如果您需要爲您的包進行自定義構建(包括其他步驟),則需要使用外部構建工具(如Apache Maven),然後將該包部署到您的CQ服務器(這可以輕鬆地作爲Maven構建過程)。

我們繼續創建了一個Maven原型,我們現在將其用作所有CQ項目的基礎,並且不再使用CQ中嵌入的包構建過程。我們所做的原型免費提供的,所以如果你想使用它,你可以讀到這裏:

http://www.cqblueprints.com/xwiki/bin/view/Blue+Prints/The+CQ+Project+Maven+Archetype

乾杯

相關問題