Reputation: 6828
I want to develop a few products for a defined Plone install/version, which I cannot change (3.3.5).
What is the best way to organize my source tree, so that I do not have to put a huge plone instance into source control that won't change anyway? I still want to use buildout for local checking, though...
What do you recommend?
I am on Windows and prefer git to hg, but can live with both...
Upvotes: 3
Views: 503
Reputation: 4345
Generally speaking, this is done now-a-days with mr.developer
. You can use a buildout like this:
[buildout]
extends =
https://raw.githubusercontent.com/plock/pins/master/plone-4-3
https://raw.githubusercontent.com/plock/pins/master/dev
And then add your sources to the auto-checkout
parameter in the [buildout]
section, and in the [sources]
section, in the format described here:
Something like:
[buildout]
auto-checkout = my.package
[sources]
my.package = git https://url.to/my.package
Then add your package to the eggs
parameter of the plone.recipe.zope2instance
section as usual:
[instance]
recipe = plone.recipe.zope2instance
eggs =
Pillow
Plone
my.package
See the Plone coredev buildout for a working example:
And don't forget there is a develop
parameter for the [buildout]
section which allows you to specify the file system path to a "develop egg" (it does not perform a checkout though):
[buildout]
develop = src/my.package
Upvotes: 10
Reputation: 1347
Just create a buildout.cfg file in the root directory of your egg/product and extend the plonetest buildout from the collective:
[buildout]
extends =
http://svn.plone.org/svn/collective/buildout/plonetest/plone-3.3.x.cfg
package-name = collective.mypackage
This way you will only need to add two files (buildout.cfg and bootstrap.py) to your repository.
See http://svn.plone.org/svn/plone/plone.app.discussion/trunk/ for a full example.
If you develop more than one package though, mr.developer is probably the way to go.
Upvotes: 1
Reputation: 3293
I'm not exactly sure what you mean by organize your source tree...
Regardless, you'll want to look over:
http://plone.org/products/zopeskel for generating package structure
http://plone.org/documentation/manual/developer-manual developer manual docs
and http://collective-docs.plone.org/ community supplied howtos
If you can, get Martin Aspeli's "Professional Plone Development" book also
The SCM you choose has nothing to do with Plone. Make that choice on your own.
Upvotes: 2