---
name: "icepick-apt"
section: "1"
platform: "linux"
package: "icepick"
version: "0.01-3"
release: "Debian 5.0 (Lenny)"
platforms: ["linux"]
url: "https://new.carta.tech/icepick-apt"
---

# icepick-apt(1)

annotation processing tool

## NAME

*apt* - annotation processing tool

## SYNOPSIS

*apt \[-classpath classpath*\] \[-sourcepath *sourcepath*\] \[-d *directory*\] \[-s *directory*\] \[-factorypath *path*\] \[-factory *class*\] \[-print\] \[-nocompile\] \[-A*key*\[*=val*\] ...\] \[*javac option*\] sourcefiles \[@files\]

## PARAMETERS

Options may be in any order. For a discussion of parameters which apply to a specific option, see OPTIONS below.

- sourcefiles

  Zero or more source files to be processed.

- @files

  One or more files that list source files or other options

## DESCRIPTION

The tool *apt*, annotation processing tool, includes a set of new reflective APIs and supporting infrastructure to process program annotations. The *apt* reflective APIs provide a build-time, source-based, read-only view of program structure. These reflective APIs are designed to cleanly model the Java(TM) programming language's type system after the addition of generics. First, *apt* runs annotation processors that can produce new source code and other files. Next, *apt* can cause compilation of both original and generated source files, easing development. The reflective APIs and other APIs used to interact with the tool are subpackages of *com.sun.mirror*.

A fuller discussion of how the tool operates as well as instructions for developing with *apt* are in  ***Getting Started with apt***. @ http://java.sun.com/javase/6/docs/technotes/guides/apt/GettingStarted.html

- Note:

  *The functionality of apt* has been subsumed by the annotation-processing infrastructure that is now part of the *javac* tool \[ *Solaris and Linux* @ http://java.sun.com/javase/6/docs/technotes/tools/solaris/javac.html\] \[Windows\] and standardized for use by all Java compilers. This new infrastructure relies on the language model and annotation-processing APIs that are now part of the Java Platform. It is recommended that new annotation processor development be based on the new APIs and the *javac* tool.

## OPTIONS

### apt specific options

- \-s dir

  Specify the directory root under which processor-generated source files will be placed; files are placed in subdirectories based on package namespace.

- \-nocompile

  Do not compile source files to class files.

- \-print

  Print out textual representation of specified types; perform no annotation processing or compilation.

- \-A\[key\[=val\]\]

  Options to pass to annotation processors -- these are not interpreted by *apt* directly, but are made available for use by individual processors

- \-factorypath path

  Specify where to find annotation processor factories; if this option is used, the classpath is *not* searched for factories.

- \-factory classname

  Name of annotation processor factory to use; bypasses default discovery process

### Options shared with javac

- \-d dir

  Specify where to place processor and javac generated class files

- \-cp path or -classpath

  path  Specify where to find user class files and annotation processor factories. If *-factorypath* is given, the classpath is not searched for factories.

Consult the javac(1) man page for information on *javac* options.

## NOTES

The functionality of *apt* has been subsumed by the standard annotation-processing infrastructure now offered by *javac*. Support for *apt* and its associated APIs may be discontinued in some future JDK release.

## SEE ALSO

- \*

  javac: \[ *Solaris and Linux* @ http://java.sun.com/javase/6/docs/technotes/tools/solaris/javac.html\] \[Windows\]

- \*

  java: \[ *Solaris* @ http://java.sun.com/javase/6/docs/technotes/tools/solaris/java.html\] \[ *Linux* @ http://java.sun.com/javase/6/docs/technotes/tools/linux/java.html\] \[Windows\]
