filesystemPath function
Resolves a display-root path to a filesystem path under artifactRoot.
Implementation
String? filesystemPath(
String artifactDisplayPath, {
required String artifactRoot,
required String displayRoot,
}) {
final normalized = artifactDisplayPath.replaceAll('\\', '/');
final display = displayRoot.replaceAll('\\', '/');
String relative;
if (normalized == display || normalized.startsWith('$display/')) {
relative = p.relative(normalized, from: display);
} else if (p.isAbsolute(normalized)) {
return normalized;
} else {
relative = normalized;
}
return p.normalize(p.join(artifactRoot, relative));
}