O'Reilly Open Source Convention.
Books Safari Bookshelf Conferences O'Reilly Network

Arrow Home
Arrow Registration
Arrow Speakers
Arrow Keynotes
Arrow Tutorials
Arrow Sessions
Arrow At-a-Glance
Arrow BOFs
Arrow Events
Arrow Community
Arrow Exhibitors
Arrow Sponsors
Arrow Hotel/Travel
Arrow Venue Map
Arrow See & Do
Arrow Press
Arrow Mail List

O'Reilly Open Source Convention


A-A-P: A Software Build Facility for the Internet Era
Bram Moolenaar, NLnet Labs

Track: Python
Date: Thursday, July 10
Time: 10:45am - 11:30am
Location: Salon B

The well known "make" program was designed long before the Internet was born. The A-A-P project was started to provide a build facility with integrated support for programming in a networked environment.

Besides the known "make" mechanisms for handling the depenency tree, A-A-P takes fully care of downloading a file when it is needed. It only requires specifying the URL where the file is to be obtained from. Similarly, for uploading a file the destination URL is specified. A-A-P will figure out which files have changed and need to be uploaded.

A recipe is the A-A-P equivalent of a Makefile. It maintains the simplicity of describing a task with dependencies. Someone who has worked with "make" will easily understand the recipe semantics.

The A-A-P recipe is portable. This is achieved by avoiding shell commands. Common functionality, such as copying files over the internet, is provided by built-in commands. More complicated things can be done with the Python script language, which is smoothly integrated.

Many features of other build tools are also supported, such as using signatures to detect changed files, automatic dependency checking and support for version control systems. This makes building more reliable and avoids the need for separate scripts.

Moolenaar's presentation explains the goals of the project and the choices that were made. The format of the A-A-P recipe is compared to other solutions, such as using a Makefile with shell commands. Examples show how A-A-P can be used for various tasks.

O'Reilly Home | Privacy Policy

© 2003, O'Reilly Media, Inc.