~bzr/bzr-windows-installers/trunk

86.1.1 by Ian Clatworthy
first cut at buildout.cfg generation
1
# Copyright (C) 2010 by Canonical Ltd
2
#
3
# This program is free software; you can redistribute it and/or modify
4
# it under the terms of the GNU General Public License as published by
5
# the Free Software Foundation; either version 2 of the License, or
6
# (at your option) any later version.
7
8
# This program is distributed in the hope that it will be useful,
9
# but WITHOUT ANY WARRANTY; without even the implied warranty of
10
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11
# GNU General Public License for more details.
12
13
# You should have received a copy of the GNU General Public License
14
# along with this program; if not, write to the Free Software
15
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
17
"""Configuration metadata for the various releases."""
18
126 by Gary van der Merwe
Specify revisions for 2.2b2 - 2.
19
from copy import copy
86.1.1 by Ian Clatworthy
first cut at buildout.cfg generation
20
21
# Some URL parts
119 by John Arbash Meinel
Download svnlib and zlib from our own location on launchpad.
22
_LPL = "http://launchpadlibrarian.net"
141.2.1 by INADA Naoki
Update Tortoise Overlays to 1.1.2
23
_TBZR = "http://tortoisesvn.googlecode.com/svn/TortoiseOverlays/version-1.1.2/bin/TortoiseOverlays-1.1.2.19334-"
86.1.1 by Ian Clatworthy
first cut at buildout.cfg generation
24
25
86.1.31 by Ian Clatworthy
Object-based bazaar_releases.py
26
## Classes used to build a distribution ##
27
28
class Project(object):
29
    def __init__(self, lp_project, branch=None, revision=None):
30
        self.lp_project = lp_project
31
        self.branch = branch
32
        self.revision = revision
126 by Gary van der Merwe
Specify revisions for 2.2b2 - 2.
33
        self.update_url()
34
    
35
    def update_url(self):
36
        if self.branch:
37
            self.url = self.branch
86.1.35 by Ian Clatworthy
port buildoutgen.py to use jinja2 instead of hard-coded logic
38
        else:
126 by Gary van der Merwe
Specify revisions for 2.2b2 - 2.
39
            self.url = "lp:%s" % (self.lp_project,)
40
        if self.revision:
41
            self.url = "%s@%s" % (self.url, self.revision)
42
    
43
    def copy_write(self, **kargs):
44
        """Create a copy of this object, and change some of it attributes."""
45
        new = copy(self)
46
        new.write(**kargs)
47
        return new
48
    
49
    def write(self, **kargs):
50
        """Change some of this object's attributes."""
51
        for key, value in kargs.iteritems():
52
            setattr(self, key, value)
53
        self.update_url()
86.1.31 by Ian Clatworthy
Object-based bazaar_releases.py
54
55
class Plugin(Project):
56
    def __init__(self, lp_project, description, branch=None, revision=None,
57
            core=False, display_in_installer=True):
58
        Project.__init__(self, lp_project, branch, revision)
59
        self.description = description
60
        self.core = core
61
        self.display_in_installer = display_in_installer
126 by Gary van der Merwe
Specify revisions for 2.2b2 - 2.
62
        self.update_id()
63
    
64
    def update_id(self):
86.1.31 by Ian Clatworthy
Object-based bazaar_releases.py
65
        self.id = self.lp_project
66
        if self.id.startswith("bzr-"):
67
            self.id = self.id[4:]
126 by Gary van der Merwe
Specify revisions for 2.2b2 - 2.
68
    
69
    def write(self, **kargs):
70
        """Change some of this object's attributes."""
71
        super(Plugin, self).write(**kargs)
72
        self.update_url()
86.1.31 by Ian Clatworthy
Object-based bazaar_releases.py
73
74
class Docset(object):
75
    def __init__(self, id, description, localization=False):
76
        self.id = id
77
        self.description = description
78
        self.localization = localization
86.1.35 by Ian Clatworthy
port buildoutgen.py to use jinja2 instead of hard-coded logic
79
        self.part_name = "bzr-chm-%s" % (id,)
86.1.31 by Ian Clatworthy
Object-based bazaar_releases.py
80
81
class Download(object):
82
    def __init__(self, part_name, dest, url, flags):
83
        self.part_name = part_name
84
        self.dest = dest
85
        self.url = url
86
        self.flags = flags
87
88
class TortoiseOverlay(Download):
89
    def __init__(self, id):
86.1.35 by Ian Clatworthy
port buildoutgen.py to use jinja2 instead of hard-coded logic
90
        url = "%s%s.msi" % (_TBZR, id)
91
        Download.__init__(self, "tortoise-overlays-%s" % id,
86.1.31 by Ian Clatworthy
Object-based bazaar_releases.py
92
            "tortoise-overlays", url, {'download-only': True})
93
        self.id = id
94
95
class Application(object):
86.1.33 by Ian Clatworthy
iss generation clean-ups
96
    def __init__(self, id, name, description, params):
86.1.31 by Ian Clatworthy
Object-based bazaar_releases.py
97
        self.id = id
98
        self.name = name
99
        self.description = description
86.1.33 by Ian Clatworthy
iss generation clean-ups
100
        self.params = params
86.1.31 by Ian Clatworthy
Object-based bazaar_releases.py
101
184.1.1 by Jelmer Vernooij
ship dulwich and bzr-git.
102
dulwich = Project('dulwich')
137 by Gary van der Merwe
Define subverty once.
103
subvertpy = Project('subvertpy', branch='lp:~jelmer/subvertpy/trunk')
150.1.1 by Jelmer Vernooij
Bundle fastimport 0.10.0, add python-fastimport dependency.
104
python_fastimport = Project('fastimport', branch='lp:python-fastimport')
161 by John Arbash Meinel
Be a little bit more consistent in copying Projects rather than writing them from scratch.
105
tortoisebzr = Project('tortoisebzr', branch='lp:tortoisebzr')
150.1.1 by Jelmer Vernooij
Bundle fastimport 0.10.0, add python-fastimport dependency.
106
171.1.1 by Alexander Belchenko
add built-in changelog_merge plugin to installer
107
# Core plugins
108
changelog_merge = Plugin('changelog_merge',
109
                         "Merge hook for GNU ChangeLog files", core=True)
126 by Gary van der Merwe
Specify revisions for 2.2b2 - 2.
110
launchpad = Plugin('launchpad', "Launchpad.net integration", core=True)
111
netrc_credential_store = Plugin('netrc_credential_store',
112
                                "netrc (credential store example)", core=True)
113
news_merge = Plugin('news_merge', "Smart merging of NEWS files", core=True)
171.1.1 by Alexander Belchenko
add built-in changelog_merge plugin to installer
114
115
# Other plugins
126 by Gary van der Merwe
Specify revisions for 2.2b2 - 2.
116
bzrtools = Plugin('bzrtools', "BzrTools (miscellaneous additions)")
117
colo = Plugin('bzr-colo', "Colo (work with colocated branches)")
118
explorer = Plugin('bzr-explorer', "Bazaar Explorer", display_in_installer=False)
150.1.1 by Jelmer Vernooij
Bundle fastimport 0.10.0, add python-fastimport dependency.
119
bzr_fastimport = Plugin('bzr-fastimport', "FastImport (import/export of history)")
191 by Martin Packman
Correct location of bzr-git and use untagged dulwich 0.8.1
120
git = Plugin('bzr-git', "Git integration")
126 by Gary van der Merwe
Specify revisions for 2.2b2 - 2.
121
loom = Plugin('bzr-loom', "Loom (manage a stack of patches over an upstream)")
122
pipeline = Plugin('bzr-pipeline',
123
                  "Pipeline (work on large changes as smaller pieces)")
124
rewrite = Plugin('bzr-rewrite', "Rewrite (change history by rebasing)")
184.1.1 by Jelmer Vernooij
ship dulwich and bzr-git.
125
svn = Plugin('bzr-svn', "Subversion integration")
126 by Gary van der Merwe
Specify revisions for 2.2b2 - 2.
126
upload = Plugin('bzr-upload', "Upload working tree")
127
xmloutput = Plugin('bzr-xmloutput', "XmlOutput (interface for IDEs)")
128
qbzr = Plugin('qbzr', "QBzr (dialogs for GUI applications and IDEs)")
129
86.1.31 by Ian Clatworthy
Object-based bazaar_releases.py
130
115 by Ian Clatworthy
Add 2.2 distribution using bzr/2.2 branch.
131
# The components in Bazaar 2.2
132
BAZAAR_2_2 = dict(
86.1.32 by Ian Clatworthy
Only support 2.2 and later using this new approach
133
    name = 'bzr-2.2',
86.1.31 by Ian Clatworthy
Object-based bazaar_releases.py
134
135
    # The projects to bundle
86.1.1 by Ian Clatworthy
first cut at buildout.cfg generation
136
    projects = [
143 by Gary van der Merwe
Bzr 2.2.3 + lots of plugin updates.
137
        Project('bzr', 'lp:bzr/2.2', revision='tag:bzr-2.2.3'),
138
        subvertpy.copy_write(revision='tag:subvertpy-0.7.5'),
161 by John Arbash Meinel
Be a little bit more consistent in copying Projects rather than writing them from scratch.
139
        tortoisebzr.copy_write(revision='tag:release-0.5.8'),
150.1.1 by Jelmer Vernooij
Bundle fastimport 0.10.0, add python-fastimport dependency.
140
        python_fastimport.copy_write(revision='tag:fastimport-0.9.0'),
86.1.31 by Ian Clatworthy
Object-based bazaar_releases.py
141
        ],
142
143
    # The plugins to bundle
144
    plugins = [
126 by Gary van der Merwe
Specify revisions for 2.2b2 - 2.
145
        launchpad,
146
        netrc_credential_store,
147
        news_merge,
128 by Gary van der Merwe
Remove whitespace per PEP08.
148
        bzrtools.copy_write(revision='tag:release-2.2.0'),
143 by Gary van der Merwe
Bzr 2.2.3 + lots of plugin updates.
149
        colo.copy_write(revision='tag:0.2.0'),
144 by Gary van der Merwe
Fix white space ( s/\t/ / )
150
        explorer.copy_write(revision='tag:release-1.1.2'),
150.1.1 by Jelmer Vernooij
Bundle fastimport 0.10.0, add python-fastimport dependency.
151
        bzr_fastimport.copy_write(revision='tag:release-0.10.0'),
143 by Gary van der Merwe
Bzr 2.2.3 + lots of plugin updates.
152
        loom.copy_write(revision='revno:127'), # Latest. No 2.2 release yet
153
        pipeline.copy_write(branch='lp:bzr-pipeline/stable',
148 by Gary van der Merwe
Bazaar 2.3.0 + plugins.
154
                            revision='tag:release-1.1'),
135 by Gary van der Merwe
Bzr 2.2.1 and new plugins.
155
        rewrite.copy_write(revision='tag:bzr-rewrite-0.6.1'),
156
        svn.copy_write(revision='tag:bzr-svn-1.0.4'),
143 by Gary van der Merwe
Bzr 2.2.3 + lots of plugin updates.
157
        upload.copy_write(revision='tag:bzr-upload-1.0.0'),
128 by Gary van der Merwe
Remove whitespace per PEP08.
158
        xmloutput.copy_write(revision='tag:0.8.6'),
176.1.1 by Alexander Belchenko
updated versions of QBzr and Bazaar Explorer
159
        qbzr.copy_write(branch='lp:qbzr/0.19', revision='tag:release-0.19.4'),
86.1.1 by Ian Clatworthy
first cut at buildout.cfg generation
160
        ],
86.1.31 by Ian Clatworthy
Object-based bazaar_releases.py
161
162
    # These are the documentation sets shown in the installer
86.1.33 by Ian Clatworthy
iss generation clean-ups
163
    docsets = [
86.1.31 by Ian Clatworthy
Object-based bazaar_releases.py
164
        Docset('en', "Core Documentation"),
165
        Docset('developers', "Developer Documentation"),
166
        Docset('es', "Core Documentation - Spanish", localization=True),
167
        Docset('ja', "Core Documentation - Japanese", localization=True),
168
        Docset('ru', "Core Documentation - Russian", localization=True),
169
        ],
170
171
    # These are the applications shown in the installer
172
    applications = [
173
        Application("explorer", "Bazaar Explorer",
86.1.33 by Ian Clatworthy
iss generation clean-ups
174
            "Bazaar Explorer GUI Application", "explorer"),
86.1.31 by Ian Clatworthy
Object-based bazaar_releases.py
175
        ],
176
177
    # These are the additional dependencies we need to install.
178
    # (In the future, it would be nice to explicitly associate these with
179
    # the projects requiring them.)
86.1.1 by Ian Clatworthy
first cut at buildout.cfg generation
180
    downloads = [
119 by John Arbash Meinel
Download svnlib and zlib from our own location on launchpad.
181
        Download('svn-lib', 'svn', _LPL + "/51246029/svn-win32-1.6.6.zip",
86.1.1 by Ian Clatworthy
first cut at buildout.cfg generation
182
            {'strip-top-level-dir': True}),
119 by John Arbash Meinel
Download svnlib and zlib from our own location on launchpad.
183
        Download('svn-dev', 'svn', _LPL + "/51247521/svn-win32-1.6.6_dev.zip",
86.1.1 by Ian Clatworthy
first cut at buildout.cfg generation
184
            {'strip-top-level-dir': True, 'ignore-existing': True}),
119 by John Arbash Meinel
Download svnlib and zlib from our own location on launchpad.
185
        Download('svn-db4', 'db4', _LPL + "/51247865/db-4.4.20-win32.zip",
186
            {'strip-top-level-dir': True}),
187
        Download('svn-libintl', 'libintl', _LPL + "/51249217/svn-win32-libintl.zip",
188
            {'strip-top-level-dir': True}),
189
        Download('zlib', 'zlib', _LPL + "/51249454/zlib123-dll.zip",
190
            {}),
86.1.31 by Ian Clatworthy
Object-based bazaar_releases.py
191
        ],
192
    tortoise_overlays = [
193
        TortoiseOverlay('win32'),
194
        TortoiseOverlay('x64'),
86.1.1 by Ian Clatworthy
first cut at buildout.cfg generation
195
        ],
164 by John Arbash Meinel
Add 'incompatible_pythons' as a way to keep us from building bzr-2.4 for python2.4 or python2.5
196
197
    incompatible_pythons = set([])
86.1.1 by Ian Clatworthy
first cut at buildout.cfg generation
198
    )
199
200
136 by Gary van der Merwe
Add bzr 2.3.
201
# The components in Bazaar 2.3
202
BAZAAR_2_3 = dict(
203
    name = 'bzr-2.3',
204
205
    # The projects to bundle
206
    projects = [
176 by John Arbash Meinel
bzr-2.3.4-1
207
        Project('bzr', 'lp:bzr/2.3', revision='tag:bzr-2.3.4'),
148 by Gary van der Merwe
Bazaar 2.3.0 + plugins.
208
        subvertpy.copy_write(revision='tag:subvertpy-0.7.5'),
150.1.1 by Jelmer Vernooij
Bundle fastimport 0.10.0, add python-fastimport dependency.
209
        python_fastimport.copy_write(revision='tag:fastimport-0.9.0'),
201.2.1 by Martin Packman
Update bzr 2.3 and 2.4 releases to use tortoisebzr 0.6.6b1
210
        tortoisebzr.copy_write(revision='tag:release-0.6.6b1'),
136 by Gary van der Merwe
Add bzr 2.3.
211
        ],
212
213
    # The plugins to bundle
214
    plugins = [
215
        launchpad,
216
        netrc_credential_store,
217
        news_merge,
149 by Gary van der Merwe
Correct some branch/revision tags.
218
        bzrtools.copy_write(branch='lp:bzrtools/2.3',
150 by Gary van der Merwe
Fix whitespace.
219
                            revision='tag:release-2.3.1'),
148 by Gary van der Merwe
Bazaar 2.3.0 + plugins.
220
        colo.copy_write(revision='tag:0.2.1'),
174.1.1 by Alexander Belchenko
bump explorer version to 1.1.4 for bzr 2.3/2.4
221
        explorer.copy_write(revision='tag:release-1.1.4'),
150.1.1 by Jelmer Vernooij
Bundle fastimport 0.10.0, add python-fastimport dependency.
222
        bzr_fastimport.copy_write(revision='tag:release-0.10.0'),
148 by Gary van der Merwe
Bazaar 2.3.0 + plugins.
223
        loom.copy_write(revision='revno:127'), # Latest. No 2.2 release yet
224
        pipeline.copy_write(branch='lp:bzr-pipeline/stable',
149 by Gary van der Merwe
Correct some branch/revision tags.
225
                            revision='tag:release-1.1'),
148 by Gary van der Merwe
Bazaar 2.3.0 + plugins.
226
        rewrite.copy_write(revision='revno:227'),
227
        svn.copy_write(revision='revno:3515'),
145 by Gary van der Merwe
Update for bzr 2.3b5
228
        upload.copy_write(revision='tag:bzr-upload-1.0.0'),
176.2.1 by Alexander Belchenko
conservative patch for version of xmloutput in bzr-2.3 series: use lp:bzr-xmloutput:revno:150 with the fix for incorrect version_info tuple.
229
        xmloutput.copy_write(revision='revno:150'),
193 by Alexander Belchenko
update qbzr's info with new stable releases.
230
        qbzr.copy_write(branch='lp:qbzr/0.20', revision='tag:release-0.20.3'),
136 by Gary van der Merwe
Add bzr 2.3.
231
        ],
232
233
    # These are the documentation sets shown in the installer
234
    docsets = BAZAAR_2_2['docsets'],
235
236
    # These are the applications shown in the installer
237
    applications = BAZAAR_2_2['applications'],
238
239
    # These are the additional dependencies we need to install.
240
    # (In the future, it would be nice to explicitly associate these with
241
    # the projects requiring them.)
242
    downloads = BAZAAR_2_2['downloads'],
243
    tortoise_overlays = BAZAAR_2_2['tortoise_overlays'],
164 by John Arbash Meinel
Add 'incompatible_pythons' as a way to keep us from building bzr-2.4 for python2.4 or python2.5
244
245
    incompatible_pythons = set([])
136 by Gary van der Merwe
Add bzr 2.3.
246
    )
247
155.2.3 by Alexander Belchenko
added bzr-2.4 as separate distribution target
248
# The components in Bazaar 2.4
249
BAZAAR_2_4 = dict(
250
    name = 'bzr-2.4',
251
252
    # The projects to bundle
253
    projects = [
187 by John Arbash Meinel
Package bzr-2.4.2
254
        Project('bzr', 'lp:bzr/2.4', revision='tag:bzr-2.4.2'),
155.2.3 by Alexander Belchenko
added bzr-2.4 as separate distribution target
255
        subvertpy.copy_write(revision='tag:subvertpy-0.8.0'),
256
        python_fastimport.copy_write(revision='tag:fastimport-0.9.0'),
201.2.1 by Martin Packman
Update bzr 2.3 and 2.4 releases to use tortoisebzr 0.6.6b1
257
        tortoisebzr.copy_write(revision='tag:release-0.6.6b1'),
155.2.3 by Alexander Belchenko
added bzr-2.4 as separate distribution target
258
        ],
259
260
    # The plugins to bundle
261
    plugins = [
171.1.1 by Alexander Belchenko
add built-in changelog_merge plugin to installer
262
        changelog_merge,
155.2.3 by Alexander Belchenko
added bzr-2.4 as separate distribution target
263
        launchpad,
264
        netrc_credential_store,
265
        news_merge,
266
        bzrtools,
267
        colo,
216.1.1 by Alexander Belchenko
update versions of qbzr and bzr-explorer: the latest at 12 July 2012
268
        explorer.copy_write(revision='tag:release-1.2.3'),
155.2.3 by Alexander Belchenko
added bzr-2.4 as separate distribution target
269
        bzr_fastimport,
270
        loom,
271
        pipeline,
272
        rewrite,
182 by John Arbash Meinel
Updated bzr-svn to use the new 1.1.0 release.
273
        svn.copy_write(revision='tag:bzr-svn-1.1.0'),
155.2.3 by Alexander Belchenko
added bzr-2.4 as separate distribution target
274
        upload,
275
        xmloutput.copy_write(revision='tag:0.8.7'),
216.1.1 by Alexander Belchenko
update versions of qbzr and bzr-explorer: the latest at 12 July 2012
276
        qbzr.copy_write(branch='lp:qbzr/0.21', revision='tag:release-0.21.4'),
155.2.3 by Alexander Belchenko
added bzr-2.4 as separate distribution target
277
        ],
278
279
    # These are the documentation sets shown in the installer
280
    docsets = BAZAAR_2_2['docsets'],
281
282
    # These are the applications shown in the installer
283
    applications = BAZAAR_2_2['applications'],
284
285
    # These are the additional dependencies we need to install.
286
    # (In the future, it would be nice to explicitly associate these with
287
    # the projects requiring them.)
288
    downloads = BAZAAR_2_2['downloads'],
289
    tortoise_overlays = BAZAAR_2_2['tortoise_overlays'],
164 by John Arbash Meinel
Add 'incompatible_pythons' as a way to keep us from building bzr-2.4 for python2.4 or python2.5
290
291
    incompatible_pythons = set(['Python24', 'Python25'])
155.2.3 by Alexander Belchenko
added bzr-2.4 as separate distribution target
292
    )
293
183 by John Arbash Meinel
Add a 2.5 series.
294
295
# The components in Bazaar 2.5
296
BAZAAR_2_5 = dict(
297
    name = 'bzr-2.5',
298
299
    # The projects to bundle
300
    projects = [
216 by Martin Packman
Update for bzr-2.5.1, including new fastimport, dulwich, bzr-git, and bzr-svn versions
301
        Project('bzr', 'lp:~gz/bzr/2.5.1-1'),
302
        dulwich.copy_write(revision='tag:dulwich-0.8.5'),
206 by Martin Packman
Update for bzr-2.5.0, including new subvertpy, tortoisebzr and bzr-git versions
303
        subvertpy.copy_write(revision='tag:subvertpy-0.8.10'),
216 by Martin Packman
Update for bzr-2.5.1, including new fastimport, dulwich, bzr-git, and bzr-svn versions
304
        python_fastimport.copy_write(revision='tag:fastimport-0.9.2'),
206 by Martin Packman
Update for bzr-2.5.0, including new subvertpy, tortoisebzr and bzr-git versions
305
        tortoisebzr.copy_write(revision='tag:release-0.6.6'),
183 by John Arbash Meinel
Add a 2.5 series.
306
        ],
307
308
    # The plugins to bundle
309
    plugins = [
310
        changelog_merge,
311
        launchpad,
312
        netrc_credential_store,
313
        news_merge,
199 by Martin Packman
Update for bzr-2.5b5, switch several plugins to new revisions or stable branches
314
        bzrtools.copy_write(revision='tag:release-2.5'),
183 by John Arbash Meinel
Add a 2.5 series.
315
        colo,
216.1.1 by Alexander Belchenko
update versions of qbzr and bzr-explorer: the latest at 12 July 2012
316
        explorer.copy_write(revision='tag:release-1.2.3'),
183 by John Arbash Meinel
Add a 2.5 series.
317
        bzr_fastimport,
216 by Martin Packman
Update for bzr-2.5.1, including new fastimport, dulwich, bzr-git, and bzr-svn versions
318
        git.copy_write(revision='tag:bzr-git-0.6.8'),
183 by John Arbash Meinel
Add a 2.5 series.
319
        loom,
199 by Martin Packman
Update for bzr-2.5b5, switch several plugins to new revisions or stable branches
320
        pipeline.copy_write(branch='lp:bzr-pipeline/stable',
321
                            revision='tag:release-1.4'),
183 by John Arbash Meinel
Add a 2.5 series.
322
        rewrite,
207.1.1 by Martin Packman
Update bzr-svn to 1.2.1 as required for colo changes in bzr 2.5
323
        svn.copy_write(branch='lp:bzr-svn/1.2',
216 by Martin Packman
Update for bzr-2.5.1, including new fastimport, dulwich, bzr-git, and bzr-svn versions
324
                       revision='tag:bzr-svn-1.2.2'),
183 by John Arbash Meinel
Add a 2.5 series.
325
        upload,
201.1.1 by Martin Packman
Bump xmloutput plugin version to r160 for import fixes bzr 2.5 requires
326
        xmloutput.copy_write(revision='revno:160'), # 0.8.8 plus fixes
216.1.1 by Alexander Belchenko
update versions of qbzr and bzr-explorer: the latest at 12 July 2012
327
        qbzr.copy_write(branch='lp:qbzr/0.22', revision='tag:release-0.22.4'),
183 by John Arbash Meinel
Add a 2.5 series.
328
        ],
329
330
    # These are the documentation sets shown in the installer
331
    docsets = BAZAAR_2_2['docsets'],
332
333
    # These are the applications shown in the installer
334
    applications = BAZAAR_2_2['applications'],
335
336
    # These are the additional dependencies we need to install.
337
    # (In the future, it would be nice to explicitly associate these with
338
    # the projects requiring them.)
204.1.1 by Martin Packman
Download and include https certificate bundle in all-in-one installer
339
    downloads = BAZAAR_2_2['downloads'] + [
204.1.2 by Martin Packman
Buildout doesn't understand non-archive compressed files, just download the certs uncompressed
340
        Download('certs', 'certs', "http://curl.haxx.se/ca/cacert.pem",
341
            {'download-only': True}),
204.1.1 by Martin Packman
Download and include https certificate bundle in all-in-one installer
342
    ],
183 by John Arbash Meinel
Add a 2.5 series.
343
    tortoise_overlays = BAZAAR_2_2['tortoise_overlays'],
344
345
    incompatible_pythons = set(['Python24', 'Python25'])
346
    )
347
209 by Martin Packman
Add bzr-2.6 to bazaar releases
348
349
BAZAAR_2_6 = dict(
350
    name = 'bzr-2.6',
351
352
    # The projects to bundle
353
    projects = [
211 by Martin Packman
Cheat locations of 2.5 and 2.6 to include fixes needed for installers
354
        Project('bzr', 'lp:~gz/bzr/2.6b1-1'),
212 by Martin Packman
Use trunk for bzr-git, bzr-svn, and dulwich with 2.6 beta releases
355
        dulwich,
209 by Martin Packman
Add bzr-2.6 to bazaar releases
356
        subvertpy.copy_write(revision='tag:subvertpy-0.8.10'),
357
        python_fastimport.copy_write(revision='tag:fastimport-0.9.0'),
358
        tortoisebzr.copy_write(revision='tag:release-0.6.6'),
359
        ],
360
361
    # The plugins to bundle
362
    plugins = [
363
        changelog_merge,
364
        launchpad,
365
        netrc_credential_store,
366
        news_merge,
367
        bzrtools,
368
        colo,
216.1.1 by Alexander Belchenko
update versions of qbzr and bzr-explorer: the latest at 12 July 2012
369
        explorer.copy_write(revision='tag:release-1.3.0'),
209 by Martin Packman
Add bzr-2.6 to bazaar releases
370
        bzr_fastimport,
212 by Martin Packman
Use trunk for bzr-git, bzr-svn, and dulwich with 2.6 beta releases
371
        git,
209 by Martin Packman
Add bzr-2.6 to bazaar releases
372
        loom,
373
        pipeline,
374
        rewrite,
212 by Martin Packman
Use trunk for bzr-git, bzr-svn, and dulwich with 2.6 beta releases
375
        svn,
209 by Martin Packman
Add bzr-2.6 to bazaar releases
376
        upload,
377
        xmloutput,
217.1.1 by Alexander Belchenko
use qbzr 0.23.1 for bzr 2.6
378
        qbzr.copy_write(branch='lp:qbzr/0.23', revision='tag:release-0.23.1'),
209 by Martin Packman
Add bzr-2.6 to bazaar releases
379
        ],
380
381
    docsets = BAZAAR_2_2['docsets'],
382
    applications = BAZAAR_2_2['applications'],
383
    downloads = BAZAAR_2_5['downloads'],
384
    tortoise_overlays = BAZAAR_2_2['tortoise_overlays'],
385
    incompatible_pythons = BAZAAR_2_5['incompatible_pythons']
386
    )
387
388
115 by Ian Clatworthy
Add 2.2 distribution using bzr/2.2 branch.
389
# The components in Bazaar trunk
390
BAZAAR_TRUNK = dict(
391
    name = 'bzr-dev',
392
393
    # The projects to bundle
394
    projects = [
395
        Project('bzr'),
206.1.1 by Alexander Belchenko
dulwich 0.8.3 required for bzr-git 0.6.7. Updated version numbers of bzr-git/dulwich for bzr trunk as well.
396
        dulwich.copy_write(revision='tag:dulwich-0.8.3'),
185.1.1 by Alexander Belchenko
include python-fastimport in bzr-trunk installer
397
        python_fastimport,
137 by Gary van der Merwe
Define subverty once.
398
        subvertpy,
161 by John Arbash Meinel
Be a little bit more consistent in copying Projects rather than writing them from scratch.
399
        tortoisebzr,
115 by Ian Clatworthy
Add 2.2 distribution using bzr/2.2 branch.
400
        ],
401
402
    # The plugins to bundle
126 by Gary van der Merwe
Specify revisions for 2.2b2 - 2.
403
    plugins = [
171.1.1 by Alexander Belchenko
add built-in changelog_merge plugin to installer
404
        changelog_merge,
126 by Gary van der Merwe
Specify revisions for 2.2b2 - 2.
405
        launchpad,
406
        netrc_credential_store,
407
        news_merge,
408
        bzrtools,
409
        colo,
410
        explorer,
150.1.1 by Jelmer Vernooij
Bundle fastimport 0.10.0, add python-fastimport dependency.
411
        bzr_fastimport,
206.1.1 by Alexander Belchenko
dulwich 0.8.3 required for bzr-git 0.6.7. Updated version numbers of bzr-git/dulwich for bzr trunk as well.
412
        git.copy_write(revision='tag:bzr-git-0.6.7'),
126 by Gary van der Merwe
Specify revisions for 2.2b2 - 2.
413
        loom,
414
        pipeline,
415
        rewrite,
416
        svn,
417
        upload,
418
        xmloutput,
419
        qbzr,
420
        ],
115 by Ian Clatworthy
Add 2.2 distribution using bzr/2.2 branch.
421
422
    # These are the documentation sets shown in the installer
423
    docsets = BAZAAR_2_2['docsets'],
424
425
    # These are the applications shown in the installer
426
    applications = BAZAAR_2_2['applications'],
427
428
    # These are the additional dependencies we need to install.
429
    # (In the future, it would be nice to explicitly associate these with
430
    # the projects requiring them.)
431
    downloads = BAZAAR_2_2['downloads'],
432
    tortoise_overlays = BAZAAR_2_2['tortoise_overlays'],
164 by John Arbash Meinel
Add 'incompatible_pythons' as a way to keep us from building bzr-2.4 for python2.4 or python2.5
433
434
    incompatible_pythons = set([])
115 by Ian Clatworthy
Add 2.2 distribution using bzr/2.2 branch.
435
    )
436
86.1.32 by Ian Clatworthy
Only support 2.2 and later using this new approach
437
# The complete set of distributions. We don't go back before 2.2
438
# though because those installers are built with older scripts.
86.1.1 by Ian Clatworthy
first cut at buildout.cfg generation
439
DISTRIBUTIONS = [
115 by Ian Clatworthy
Add 2.2 distribution using bzr/2.2 branch.
440
    BAZAAR_2_2,
136 by Gary van der Merwe
Add bzr 2.3.
441
    BAZAAR_2_3,
155.2.3 by Alexander Belchenko
added bzr-2.4 as separate distribution target
442
    BAZAAR_2_4,
183 by John Arbash Meinel
Add a 2.5 series.
443
    BAZAAR_2_5,
213 by Martin Packman
Add 2.6 to set of distributions
444
    BAZAAR_2_6,
86.1.32 by Ian Clatworthy
Only support 2.2 and later using this new approach
445
    BAZAAR_TRUNK,
86.1.1 by Ian Clatworthy
first cut at buildout.cfg generation
446
    ]