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