substituteVariables function
Replaces ${VAR} tokens in script using variables first, then
Platform.environment as fallback. Unknown variables are left unchanged.
Implementation
String substituteVariables(String script, Map<String, String> variables) {
return script.replaceAllMapped(RegExp(r'\$\{(\w+)\}'), (match) {
final name = match.group(1)!;
return variables[name] ?? Platform.environment[name] ?? match.group(0)!;
});
}