The devonfw-ide
aims to be highly configurable and flexible. The configuration of the devon command and environment variables takes place via devon.properties
files. The following list shows these configuration files in the order they are loaded so files can override variables from files above in the list:
-
build in defaults (for
JAVA_VERSION
,ECLIPSE_PLUGINS
, etc.) -
~/devon.properties
- user specific global defaults (on windows in%USERPROFILE%/devon.properties
) -
scripts/devon.properties
- defaults provided bydevonfw-ide
. Never directly modify this file! -
devon.properties
- vendor variables for custom distributions ofdevonfw-ide-scripts
, may e.g. tweakSETTINGS_PATH
or predefineSETTINGS_URL
. -
settings/devon.properties
(${SETTINGS_PATH}/devon.properties
) - project specific configurations from settings. -
workspaces/${WORKSPACE}/devon.properties
- optional workspace specific configurations (especially helpful in projects using docker). -
conf/devon.properties
- user specific configurations (e.g.M2_REPO=~/.m2/repository
). During setup this file is created by copying a template from${SETTINGS_PATH}/devon/conf/devon.properties
.
The devon.properties
files allow to define environment variables in a simple and OS independent way:
-
# comments begin with a hash sign (#) and are ignored
-
variable_name=variable_value with space etc.
-
variable_name=${predefined_variable}/folder_name
variable values can refer to other variables that are already defined, which will be resolved to their value. You have to used
${…}
syntax to make it work on all platforms (never use%…%
,$…
, or$(…)
syntax indevon.properties
files). -
export exported_variable=this value will be exported in bash, in windows CMD the export prefix is ignored
-
variable_name=
this will unset the specified variable
-
variable_name=~/some/path/and.file
tilde is resolved to your personal home directory on any OS including windows.
-
array_variable=(value1 value2 value3)
This will only work properly in bash worlds but as no arrays are used in CMD world of
devonfw-ide
it does not hurt on windows. -
Please never surround values with quotes (
var="value"
) -
This format is similar to Java
*.properties
but does not support advanced features as unicode literals, multi-lined values, etc.
In order to know what to configure, have a look at the available variables.
Please only tweak configurations that you need to change and take according responsibility. There is a price to pay for flexibility, which means you have to be careful what you do.