Jan
Jan

Reputation: 6828

How to setup for development of plone products

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

Answers (3)

Alex
Alex

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

tisto
tisto

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

vangheem
vangheem

Reputation: 3293

I'm not exactly sure what you mean by organize your source tree...

Regardless, you'll want to look over:

The SCM you choose has nothing to do with Plone. Make that choice on your own.

Upvotes: 2

Related Questions