Although every build item has an Abuild.conf
file, there are various other files that a build item may have.
We defer a complete list and detailed discussion these files for
later in the document, but we touch briefly upon a few of the
common ones here.
Abuild.conf
This is the most basic of the build item files, and it is the only file that must be present for every build item. We sometimes refer to this as the build item configuration file.
Abuild.mk
, Abuild.groovy
These are the files that direct abuild what to actually
build in a given build item. Each build file is associated
with a specific backend. Exactly one of these files must be
present in order for abuild to attempt to build a build
item. As such, these files are known as build
files. When we say that a build item has or does
not have a build file, we are specifically talking about one
of these files. In particular, it is important to note that
Abuild.conf
and
Abuild.interface
are not considered build
files.
[10]
Abuild.interface
The Abuild.interface
file is present for
every build item that wants to make some product of its build
accessible to other build items. We refer to this as the
build item's interface file. There has
been some confusion among some abuild users about the term
interface. Please understand that
abuild interfaces are distinct from Java interfaces, C++
header files, and so forth, though they serve essentially the
same function. If you view a build item as an object, the
abuild interface contains information about what services
that object provides. It exposes the interfaces through which
other build items will access a given build item's products.
[10]
Additionally, the files
Abuild-ant.properties
and
Abuild-ant.xml
are recognized as build
files, associated with the deprecated xml-based ant backend.