2004 April 9: Aap article in Linux Journal
An introduction to Aap can be found in the article "Automating tasks with
Aap", in the May 2004 edition of the Linux Journal Magazine
The two main subjects are maintaining a web site and building programs.
The article was written by Bram Moolenaar.
Update: The article is now available online
[Hmm, that no longer works; try
2003 October 8: Zimbu awards presented
The winners of the Zimbu awards are: Adriaan de Groot, Rui Lopes and Joerg
Beyer. They have worked hard to make Aap more powerful, faster, reliable and simpler to use.
Since Adriaan works not far from where Bram lives, he was handed the award
You can find more info and pictures on the
Zimbu Award page
2003 September 16: List of packages added
A page has been added to list the packages that can currently be installed
aap --install package-name.
The list has been growing steadily and it is not obvious
which package is available on what system. You can find the list
2003 September 4: Installing Aap made easier
The download page has been updated.
Now there is a step-by-step explanation for installing Aap and
Agide on Unix, MS-Windows and Mac OS X. The procedure has been
simplified, especially for Agide. Most work can be done automatically
aap --install agide.
2003 August 20: Configuration support added
:conf command can be used to detect features of the
system and compiler. There are checks for header files, functions, libraries,
etc. This works like using autoconf, except that you can omit the step to
generate a configuration script. This feature is still being developed: more
checks will be added, the syntax may still change a little and there is not
much documentation yet.
Your input is welcome!
The actual checks are developed in cooperation with
2003 July 4: Zimbu award
Aap version 1.0 has been released. The next version should be even more
powerful, faster, reliable and simpler to use. If you help making this
possible you will not only receive appreciation from Aap users, but have a
chance to make money as well! The three Zimbu awards are worth 444, 222 and
111 euro. See the Zimbu Award page
2003 July 4: Aap 1.0 has been released
After more than a year of development Aap version 1.0 is ready.
The functionality it offers is comprehensive. This is illustrated by the
documentation: The PDF version is now over 170 pages long. Building software,
up- and downloading, version control and much more has been implemented.
2003 June 4: Aap 0.9: first Beta release
Now that Aap is getting more and more stable, it is time to start beta
testing. This means that development will concentrate on getting the release
ready. Testing and updating the documentation should help to find the
problems that need to be fixed. Minor feature enhancements may
still be included.
2003 May 20: Examples, wildcard expansion and
Two larger examples have been made to show how Aap can be used.
One is for building and installing Exuberant Ctags.
The other for maintaining a web site, with automatic uploading and version
control. You can find them on the
Wildcard expansion is now done in most places where a file name is used.
This avoids the need for using the Python glob() function and makes many
Avoiding wildcard expansion has become a bit more difficult.
Read about the backgrounds for this choice in
design decision 28.
Support for using rsync has been added.
This mostly works like scp, but only those parts of a file that have
actually changed are transferred.
Rsync is used like scp, just use "rsync://" instead of "scp://" and it
The same ssh connection is used.
I am now using rsync to upload the A-A-P website.
While testing it I accidentally included a directory name, and discovered that
it was created automatically.
The code that does this for scp apparently also works for rsync.
Using rcp is also possible, but this hasn't been tested yet.
2003 May 15: BOF session at O'Reilly conference
The proposal to organize a
BOF session on A-A-P has been accepted.
It will take place on Thursday evening July 10, from 8 to 9 pm.
This is directly after the
BOF session on SCons, in the same room.
A nice occasion for people to talk about modern building tools!
More information about the conference
2003 May 1: Automatic Package install
Aap can now download and install a package automatically.
For example, if a recipe wants to copy a file with secure copy and
there is no "scp" command to be found, Aap will install it for you.
The same is done for "cvs".
More packages can be added, a generic mechanism is being used.
Read more about it in a new chapter of the user documentation:
2003 Mar 24: Presentation at O'Reilly conference
A-A-P will be presented at the O'Reilly Open Source Convention.
Bram Moolenaar will do a talk with the title
A-A-P: A Software Build Facility for the Internet Era.
This is on July 10 in Portland, OR, USA.
More information about the conference
This will be a good occasion to discuss the 1.0 release of Aap, which is
planned to be available by then.
2003 Mar 13: Agide version 0.1 released
An important milestone: The first usable version of Agide is available.
Agide stands for A-A-P GUI IDE.
This is the second pillar under the A-A-P project.
The IDE is designed as a framework in which separate tools can work together.
This makes it very flexible.
Currently Vim and gdb are supported, making it possible to debug C programs.
Read the tutorial to get an idea how it works.
The current version is just a starting point.
It is easy to add more tools, thus with help from volunteers Agide should grow
2003 Feb 7: FOSDEM handout
I made a two page leaflet about A-A-P, to be handed out at the FOSDEM
conference in Brussels.
It contains a few short examples, to give the reader some idea of what A-A-P
can be used for.
Since FOSDEM is a place where open source developers meet, I have added a list
of tasks that volunteers can work on.
You can find the handout
here (PDF, 238 kbyte).
Feel free to give copies away.
2003 Jan 17: Updated plan
After reviewing the proposed plan for version 1.0 with stichting NLnet it has
The main difference is that the release of version 1.0 has been sped up.
It is now planned to be available in July 2003.
An additional version 1.1 as been added to the plan.
More about this on the plan page.
2002 Dec 23: A-A-P on first Google page
Despite the problem that Google doesn't make a difference between searching
for "AAP" or "A-A-P", the A-A-P project now moved to the first page of search
results. This means that Google considers A-A-P to be more popular than most
other of the 500,000 pages about "AAP". You can see it
2002 Dec 23: FreeBSD port committed
The FreeBSD port of A-A-P version 0.100 has been included in the FreeBSD ports
collection. This means A-A-P ports can be made that include a dependency on
A-A-P, so that it will be installed automatically.
The A-A-P port will be automatically added when updating the ports collection.
You can browse it on-line in the
2002 Nov 14: Version log started
So far the versions checked into CVS did not include comments.
Now that several people are using A-A-P and report problems, they want to know
when a problem has been fixed.
The new version log contains short remarks about the changes done for each
version. You can find it here.
2002 Oct 30: Interview about A-A-P on O'Reilly site
Steve Mallett has done an interview with the A-A-P project leader.
It goes into the question what A-A-P can do for people and why the project was
started in the first place.
You can find it on the O'Reilly opensourcedirectory website
2002 Oct 25: Version 0.100 released!
This is an important milestone for the A-A-P project. The main element in
this release is that the recipe format is fully worked out. The "aap" program
has been implemented to verify the format works well. The examples in the
tutorial have been used as a final test that version 0.100 is ready. This is
the base for further developments.
2002 Oct 22: Tutorial updated
The first part of the A-A-P manual, the tutorial, has been updated. It
contains a lot of examples and explains how these work. This is a good start
to get to know the recipe syntax. The other chapters in the manual still need
quite a bit of work...
See the manual page index for the table of
contents. There is also a PDF version, use this
if you want to print the manual.
2002 Oct 4: Maillists moved to sourceforge
There were a few complaints about the maillist support at Yahoo.
The full-page advertisements are annoying and their user support is very
All current subscribers have been moved to the new lists at sourceforge.
Note that sending a message now requires using a different address.
See the maillist page for more info.
2002 Sep 20: Ports recipe support added
A very first version of the support for ports has been added.
A recipe that defines the "PORTNAME" variable is handled in a special way.
Many targets are automatically added.
This is much like the FreeBSD ports system.
A first port was done for testing: Vim.
The port file is available here.
Much work is still to be done.
The draft documentation is here.
2002 Sep 4: Documentation on-line
The documentation has been converted from a plain text file to DocBook format.
This makes it possible to publish the information in HTML, PDF and other
The HTML files can be viewed directly on-line
The PDF version is nicer for printing, but it requires a PDF viewer, such as
Adobe Acrobat Reader.
You can find the PDF file here.
A lot of work is still to be done.
Several chapters need to be filled with information and the layout has to be
2002 July 29: uploading and downloading made easy
The targets and commands used to upload and download files have been made
consistent with using a version control system.
"aap refresh" obtains the latest version of an application.
The recipe only needs to specify where to find the server and what method to
use. This is currently implemented for ftp, http, scp and CVS.
"aap publish" can be used to upload modified files to a server through ftp,
scp and CVS.
The A-A-P files are now checked into CVS with A-A-P itself.
You can find an example here.
The A-A-P website is now updated with a simple recipe.
You can find an example here.
2002 July 8: Sources available by anonymous CVS
The sources are now also available by anonymous CVS.
This makes it easy to update your A-A-P files to the latest version.
Support for uploading and downloading to/from a CVS repository isn't available
in the recipe itself though, you must use the cvs commands for now.
See the download page.
CVS access will be added to the Recipe Executive soon, then it will be even
2002 June 27: automatic dependency checking added
Compiling C and C++ programs is now much easier: The recipe executive will
figure out include file dependencies automatically.
This works without doing anything extra.
And the dependencies are automatically updated when an include file is
This does require "gcc" at the moment.
But another dependency checker can be defined with the ":autodepend" command.
Part of this addition is automatic detection of file types.
This works with rules that check the file name suffix, match the file name
with a regular expression or check the first line of the file for a script
If everything else fails, a Python script can be used to detect the file type.
2002 June 17: various features added
The development of the recipe executive continues.
Among the new features are indexing a variable. The first item from the list
of sources is obtained with $(source), for example.
The variables used in build commands have changed. The different kinds of
quoting are now available everywhere. The default quoting depends on the
command used. For a shell command attributes are omitted and quotes added
that fit the shell used. $sh_in and $sh_out are no longer available, use
$source and $target.
Variables can now be assigned a value from the command line. This is
especially useful for selecting variants.
2002 June 8: variant support added
The ":variant" command offers the possibility to build two or more variations
of the same program. For example a debug and a release version. The
intermediate files are stored separately, thus when switching between variants
not everything needs to be rebuild.
An implicit variant is for the system type, so that building can be done for
several systems without the need to specify anything.
2002 June 3: A-A-P presented at SANE 2002
A-A-P was presented at the SANE 2002 conference in the form of a poster.
Quite a few people were interested in what A-A-P is about.
This was also the first appearance of Zimbu.
See the presentations page for details.
2002 May 24: A-A-P can upload itself
The recipe executive now includes enough features to be able to upload itself
to sourceforge and to generate and upload the files for this web site.
The features above what "make" supports now include:
Many things are still untested though. USE WITH GREAT CARE!
- Automatic downloading of source files.
- Caching downloaded files.
- Checking for updated files by md5 signature.
- Finding and executing matching build rules.
- Various commands for copying and moving files (also remote).
2002 May 17: Maillists created
The a-a-p-dev and a-a-p-user maillists have been created.
A-A-P developers and users can exchange messages on these lists.
An archive is also available.
See the maillist page.
2002 May 17: Source files available
The very first archive with source files is available.
This is for the Recipe Executive.
The files are available from
WARNING: Almost nothing has been tested, USE WITH GREAT CARE!
2002 May 2: Monthly status
In April the work on implementing A-A-P has started.
After inspecting several alternatives, a first version of the recipe format
was defined. It is a mix of Makefile and Python.
The plan to use SCons as a base for the recipe executive was abandoned.
[edited Feb 2003]
The structure of SCons does not fit the need of A-A-P. [/edited]
Instead, the executive is being written from scratch, using parts of SCons
Working on the implementation already caused the recipe format to be adjusted.
This fine-tuning will continue the coming months.
Ingo Krabbe has started work on the cross referencer.
It looks like A-A-P is fully on track with the plan for version 1.0.
2002 April 17: First shot at the recipe file format
The recipe file format stands central in A-A-P.
A first design round has been done to make the basic choices.
A good impression of the recipe format can be obtained by reading the first
shot at the documentation.
The coming weeks implementation of tools that use the recipe will start, to
check if the recipe format can meet the many demands for it.
2002 April 8: Plan for version 1.0 written
A plan has been written for the roadmap to get to version 1.0.
First version 0.1 is going to be made, which should be ready by September
A collection of work packages is defined and how much of each work package is
done in version 0.1 and 1.0.
The work until version 0.1 is defined in more detail than the steps from
version 0.1 to 1.0.
2002 March 26: Use cases and
Uses cases have been written for a number of common tasks.
A use case goes step by step through a task and explains how it is done with
This shows how various users interact with A-A-P and how the task is executed
by the modules of A-A-P.
This also functions as an explanation of how A-A-P will work.
2002 March 15: Design decisions online
To be able to plan the A-A-P project, decisions have to be made about the
choices that have a big impact. The list of design decisions will be updated
continuously. You can follow the direction A-A-P is taking, and discuss about
the arguments involved.
2002 March 7: Tools overview online
A-A-P intends to use existing tools as much as possible. An overview is being
made of tools which could be interesting, either to be included in A-A-P or
just for ideas. If you know a nice tool that's not in the list yet, send us
2002 March 1: the A-A-P project has started!
First of all the web pages have been moved to sourceforge and are now filled