/** * Creates a map of prepared interpolation values. * <p> * All values support the standard ${name} syntax but also support * the @{name} syntax to cope with build systems with aggressive * token filtering. * </p> */ protected void loadInterpolationValues() { // System properties may be accessed using ${name} or @{name} for (String propertyName : System.getProperties().stringPropertyNames()) { String value = System.getProperty(propertyName); if (!StringUtils.isNullOrEmpty(value)) { addInterpolationValue(propertyName, value); } } // Environment variables may be accessed using ${env.NAME} or @{env.NAME} for (String variableName : System.getenv().keySet()) { String value = System.getenv(variableName); if (!StringUtils.isNullOrEmpty(value)) { addInterpolationValue("env." + variableName, value); } } }