You can use -include as follows:
-include: <path or url>
This will read the path or url as a properties or manifest file (if it ends in .MF).
It is important to realize that the include is not handled by the parser. That is, it is not a normal text include. The properties parser will read all properties in one go and then the Properties object is inspected for the -include instruction. The paths or URLs in the -include instruction one by one in order. By default, the read properties do not override the properties that were set in the same file as the -include instruction.
The -include instruction is processed before anything else in the properties. This means the -include instruction cannot use any properties defined in the same properties file to define the include paths. It can use properties already defined by a parent. So a Project’s bnd.bnd file can have an -include instruction use properties defined in the Workspace (cnf/build.bnd and cnf/ext/*.bnd). For the Workspace, cnf/build.bnd, -include instruction can only use the default properties of Bnd. The Workspace cnf/ext/*.bnd files are processed after cnf/build.bnd. So cnf/ext/*.bnd files can have -include instructions which use properties set in cnf/build.bnd.
There are two possible options. The path/URL starts with a:
~ – The included properties override the locally set properties.- – If file or URL or path does not exist then do not report an error.# Read an optional file in the user's home directory
-include ${java.home}/.xyz/base.bnd
# Read a manifest
-include META-INF/MANIFEST.MF
# Use a URL
-include http://example.com/foo/bar/setup.bnd
# Read several
-include first.bnd, second.properties, ~third.override