1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.project.interpolation;
20
21 import java.io.File;
22 import java.util.List;
23
24 import org.apache.maven.project.path.PathTranslator;
25 import org.codehaus.plexus.interpolation.InterpolationPostProcessor;
26 import org.codehaus.plexus.interpolation.util.ValueSourceUtils;
27
28
29
30
31 @Deprecated
32 public class PathTranslatingPostProcessor implements InterpolationPostProcessor {
33
34 private final List<String> unprefixedPathKeys;
35 private final File projectDir;
36 private final PathTranslator pathTranslator;
37 private final List<String> expressionPrefixes;
38
39 public PathTranslatingPostProcessor(
40 List<String> expressionPrefixes,
41 List<String> unprefixedPathKeys,
42 File projectDir,
43 PathTranslator pathTranslator) {
44 this.expressionPrefixes = expressionPrefixes;
45 this.unprefixedPathKeys = unprefixedPathKeys;
46 this.projectDir = projectDir;
47 this.pathTranslator = pathTranslator;
48 }
49
50 public Object execute(String expression, Object value) {
51 expression = ValueSourceUtils.trimPrefix(expression, expressionPrefixes, true);
52
53 if (projectDir != null && value != null && unprefixedPathKeys.contains(expression)) {
54 return pathTranslator.alignToBaseDirectory(String.valueOf(value), projectDir);
55 }
56
57 return value;
58 }
59 }