in src/main/java/org/apache/sling/feature/builder/FeatureBuilder.java [231:251]
public static void resolveVariables(final Feature feature, final Map<String,String> additionalVariables) {
for(final Configuration cfg : feature.getConfigurations()) {
final Set<String> keys = new HashSet<>(Collections.list(cfg.getProperties().keys()));
for(final String key : keys) {
final Object value = cfg.getProperties().get(key);
if ( value instanceof String ) {
cfg.getProperties().put(key, replaceVariables((String)value, additionalVariables, feature));
} else if ( value instanceof String[]) {
final String[] values = (String[]) value;
for(int i=0;i<values.length;i++) {
values[i] = replaceVariables(values[i], additionalVariables, feature);
}
cfg.getProperties().put(key, values);
}
}
}
for(final Map.Entry<String, String> entry : feature.getFrameworkProperties().entrySet()) {
// the value is always a string
entry.setValue(replaceVariables(entry.getValue(), additionalVariables, feature));
}
}