APM: Build Process and Package Installation Utility

by Rafael H. Schloming

Overview

The apm utility provides commands for creating, installing, and compiling packages. The apm is a command line utility that provides a set of sub commands. This structure is similar in nature to that used by utilities such as cvs and rpm. The apm utility will typically be used to install and administer an ACS 4.0 Java installation, and during the development cycle to rebuild any modified packages.

Directory Structure

In order to understand the function of each sub command it is useful to be familiar with the directory structure of an ACS 4.0 Java installation. The following directories are important to the apm utility. The are specified relative to the root directory of the ACS installation.

WEB-INF/classes Target directory for all package .class files.
WEB-INF/tmp Intermediate directory used by the macro translator.
WEB-INF/lib Supporting jar files.
packages/<pkgkey>/java/src Package specific source code.
packages/<pkgkey>/sql Package specific data model.
WEB-INF/src The source for the macro translator, database API, and the apm utility itself.
WEB-INF/boot/classes Target directory for .class files generate from the source in /WEB-INF/src.
WEB-INF/boot/tmp Intermediate directory used by the macro translator.
www/api-doc The target directory for generated documentation.

APM Sub Commands

The basic functionality provided by each sub command is described below. Detailed usage information for each sub command is available by using the apm help and apm usage sub commands, or by reading the usage section of this document.

APM Usage

Usage:

  apm bootstrap
    Rebuilds the bootstrap.jar file that contains the apm itself. This is
    required if you modify the source for the apm itself or any of the things
    that it depends on such as the database API. Note that if you modify the
    apm in such a way that it is incapable of rebuilding itself you will either
    need to retrieve an old bootstrap.jar file in order to rebuild it, or
    rebuild the files by hand.

  apm build
    Rebuilds all the packages as needed.

  apm build <key1> ... <keyn>
    Rebuilds the specified packages as needed.

  apm clean
    Removes all the generated files.

  apm create <apmfile> <key>
    Creates an apm from the given package.

  apm help
    Prints this message.

  apm install <file1> <file2> ...
    You may specify .apm files or .info files. If you specify a .info file it
    is expected to be located within a valid package directory structure.

  apm install-acs
    Does a complete acs install.

  apm javadoc
    Rebuilds the API level documentation into www/api-doc.

  apm javadoc <key1> ... <keyn>
    Rebuilds the API level documentation into www/api-doc. Unfortunately
    javadoc is not capable of doing incremental builds at this point, so if you
    specify only a subset of packages, you will clobber any existing
    documentation in www/api-doc.

  apm usage
    Prints this message.

Revision History

Document Revision # Action Taken, Notes When? By Whom?
0.1 Creation January 16, 2001 Rafael H. Schloming

acs-docs@arsdigita.com
Last modified: apm.html,v 1.1 2001/01/23 01:42:17 rhs Exp