2011-05-19 45 views
3

我想爲定義的Plone安裝/版本開發一些產品,我不能更改(3.3.5)。如何設置Plone產品的開發

什麼是最好的方式來組織我的源代碼樹,以便我不必將巨大的plone實例放入源代碼管理,不會改變呢?我仍然想使用buildout進行本地檢查,但...

你有什麼建議?

我在Windows和喜歡GIT中汞,但可以同...

回答

10

一般來說,這樣做是現在給天mr.developer生活。您可以使用附加件這樣的:

[buildout] 
extends = 
    https://raw.githubusercontent.com/plock/pins/master/plone-4-3 
    https://raw.githubusercontent.com/plock/pins/master/dev 

,然後添加你的源代碼給auto-checkout參數在[buildout]部分,並在[sources]部分的格式描述如下:

喜歡的東西:

[buildout] 
auto-checkout = my.package 

[sources] 
my.package = git https://url.to/my.package 

那麼你的包添加到plone.recipe.zope2instance部分照常eggs參數:

[instance] 
recipe = plone.recipe.zope2instance 
eggs = 
    Pillow 
    Plone 
    my.package 

參見工作示例Plone的coredev擴建:

和唐不要忘記[buildout]部分有一個develop參數,它允許您指定文件系統路徑到「開發蛋」(不,雖然執行檢出):

[buildout] 
develop = src/my.package 
+3

我通常還會在[buildout]部分放置always-checkout = true,以便在運行構建時自動更新結帳。 – 2011-05-20 15:47:29

+2

我還添加了「eggtractor」,那麼你甚至不需要指定「develop =」變量。只需使用'extensions + = buildout.eggtractor' – Auspex 2011-05-21 02:24:31

+2

我查找了[mr.developer使用信息](https://pypi.python.org/pypi/mr.developer/#usage),發現'always-checkout'確實(正如我所希望的那樣)是指「自動結賬」軟件包。太好了! – Tobias 2015-06-26 12:52:28

1

只需創建一個構建。在你的蛋/產品的根目錄CFG文件,並從集體延長plonetest擴建:

[buildout] 
extends = 
    http://svn.plone.org/svn/collective/buildout/plonetest/plone-3.3.x.cfg 

package-name = collective.mypackage 

這樣你就只需要兩個文件(buildout.cfg和bootstrap.py)添加到您的存儲庫。

查看http://svn.plone.org/svn/plone/plone.app.discussion/trunk/的完整示例。

如果你開發了多個包,mr.developer可能是最好的選擇。