forked from mkmik/buildout.eggnestdev
-
Notifications
You must be signed in to change notification settings - Fork 1
/
README.txt
90 lines (61 loc) · 2.76 KB
/
README.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
buildout.eggnest
=================
The problem
-----------
It is very convenient to install functionality to a buildout with just
a couple of lines, but for those used to Zope 2, one might miss
the way of adding a piece of functionality by just dropping something
(i.e. a product) into a folder. This could be good for people who want to try
out things without worrying about editing a configuration file with
lots of directives in it.
When wanting to install a new egg using buildout you currently have to
edit the buildout configuration file(s) and add a couple of lines in
the right places. What if you could just drop a file in a folder instead?
Solution
--------
Make a buildout extension so that the only thing you need to do in order to install an egg
is to take a simple text file, and drop it in a certain directory. When you rerun buildout the
contents of that file is parsed, the specified egg is downloaded and added to the instance.
When ``buildout.eggnest`` is run it::
1. If ``eggnest-src-directory`` is not given the default directory ``src``
is scanned.
2. Adds the egg to the ``eggs`` and ``zcml`` option to a set of given buildout parts.
This steps are done on the fly when running buildout. So I can add/delete/rename
an egg and it will be picked up.
NOTE: The extension does not write to the buildout's configuration file.
buildout.eggnest options
-------------------------
eggnest-src-directory:
Specified to the directory that your egg install files should be placed.
Defaults to src. An idea could be
to have a dedicated directory called "eggnest".
eggnest-parts:
What part of your buildout config that the eggs should be added to. *required*
eggnest-verbose:
Set this to ``true`` to get more information.
Not really that much right now but a little bit more at least.
How to use it
-------------
To use ``buildout.eggnest`` you need to add the following to your buildout.cfg::
[buildout]
extensions =
buildout.eggnest
eggnest-parts =
instance
In ``eggnest-parts`` you need to specify what buildout part that the eggs should be added to.
By default the ``src`` directory is scanned for egg specification files.
eggs specification files for eggnest
------------------------------------
The egg install specification files should have this structure. This is the same as the normal buildout config format.::
[eggnest]
egg =
plone.introspector
zcml =
plone.introspector
``zcml`` can be multiple lines if additional slugs need to be specified.
If the egg is in the ``Products`` namespace the zcml is not needed in the specification file.::
[eggnest]
egg =
Products.DocFinderTab
buildout.eggnest was created by Martin Lundwall <[email protected]> after an
initial idea by Jorgen Modin <[email protected]>