## Place your specific settings here.


## Default settings are in ext/*.bnd and they will be overridden by anything
## you specify in this file.


## Properties from ext/*.bnd can be referenced in order to extend them.
## For example, to add one addtional plugin to the list defined in ext/repositories.bnd:
# -plugin: ${ext.repositories.-plugin}, org.example.MyPlugin


## If you use git, you might want to uncomment the following lines:
# Git-Descriptor: ${system-allow-fail;git describe --dirty --always}
# Git-SHA: ${system-allow-fail;git rev-list -1 HEAD}

