1 package org.apache.maven.model.interpolation;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import java.text.SimpleDateFormat;
23 import java.util.Date;
24
25 import org.codehaus.plexus.interpolation.AbstractValueSource;
26
27
28
29
30 class BuildTimestampValueSource
31 extends AbstractValueSource
32 {
33
34 private final Date startTime;
35
36 private final String format;
37
38 private String formattedDate;
39
40 public BuildTimestampValueSource( Date startTime, String format )
41 {
42 super( false );
43 this.startTime = startTime;
44 this.format = format;
45 }
46
47 public Object getValue( String expression )
48 {
49 if ( "build.timestamp".equals( expression ) || "maven.build.timestamp".equals( expression ) )
50 {
51 if ( formattedDate == null && startTime != null )
52 {
53 formattedDate = new SimpleDateFormat( format ).format( startTime );
54 }
55
56 return formattedDate;
57 }
58
59 return null;
60 }
61
62 }