The -standalone instruction in bnd allows you to transform a bndrun file into a standalone file that doesn’t require a workspace. It is a merged property, meaning you can specify additional repo-specs using -standalone.extra. However, the presence of the exact -standalone flag is what determines if the bndrun file is standalone. Without the -standalone flag, even if -standalone.extra is specified, a workspace will still be required.
A bndrun file is by default connected to its workspace, where the workspace defines the context and most important: the repositories. The workspace is by default defined in the workspace’s cnf directory.
The -standalone instruction tells bnd that this connection should be severed and that all information is contained in the bndrun file. The value of the -standalone instruction is used to define the repositories. Each repo-spec clause defines a repository.
-standalone ::= repo-spec ( ',' repo-spec )*
repo-spec ::= <relative url> ( '; <fixed index repo attrs> )*
The repositories that are created from the -standalone instruction are the OSGi Capabilities repositories as implemented by the Fixed Index Repository. For this repository you can add the following attributes:
name – Name of the repositorycache – File path to a cache directorytimeout – Time out for downloading the index-standalone: index.html; name=local
-runfw: org.apache.felix.framework;version=5
-runee: JavaSE-1.8
-runrequires: osgi.identity;filter:='(osgi.identity=com.springsource.org.apache.tools.ant)'