Navigating the tree¶
See Setting up and running Launchpad (Advanced) to learn how to get Launchpad’s code and set up a local development environment.
The Launchpad tree is big, messy and changing. Sorry about that. Don’t panic
though! Keep a firm grip on grep and pay attention to
these important top-level folders:
bin/,utilities/Where you will find scripts intended for developers and admins. There’s no rhyme or reason to what goes in bin/ and what goes in utilities/, so take a look in both.
configs/Configuration files for various kinds of Launchpad instances.
developmentandtestrunnerare of particular interest to developers.cronscripts/Scripts that are run on actual production instances of Launchpad as cron jobs.
daemons/Entry points for various daemons that form part of Launchpad.
database/Our database schema, our sample data, and other things related to those.
doc/General system-wide documentation. You can also find documentation on the developer wiki, in docstrings, and in doctests.
lib/Where the vast majority of the code lives, along with our templates, tests, and the bits of our documentation that are written as doctests.
lpis the most interesting package, withcanonicalcontaining some things like images and style sheets. To learn more about how thelppackage is laid out, take a look at its docstring.MakefileThe
Makefilehas all sorts of goodies. If you spend any length of time hacking on Launchpad, you’ll use it often. The most important targets aremake clean,make compile,make schema,make runandmake run_all.scripts/Scripts that are run on actual production instances of Launchpad, generally triggered by some automatic process.
You can spend years hacking on Launchpad full-time and not know what all of the files in the top-level directory are for. However, here’s a guide to some of the ones that come up from time to time.
brzplugins/Breezy plugins used in running Launchpad.
zcml/Various configuration files for the Zope services.
Can I look at the code without downloading it all?¶
Yes, you can browse the source code on Launchpad. You can also use
git clone https://git.launchpad.net/launchpad to download the code
without setting up a development environment.