1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.plugins.dependency.utils.markers;
20
21 import java.io.File;
22 import org.apache.maven.plugins.dependency.fromConfiguration.ArtifactItem;
23 import org.codehaus.plexus.util.StringUtils;
24
25
26
27
28 public class UnpackFileMarkerHandler extends DefaultFileMarkerHandler {
29
30
31
32 protected ArtifactItem artifactItem;
33
34
35
36
37 public UnpackFileMarkerHandler(File markerFilesDirectory) {
38 super(markerFilesDirectory);
39 }
40
41
42
43
44
45 public UnpackFileMarkerHandler(ArtifactItem artifactItem, File markerFilesDirectory) {
46 this(markerFilesDirectory);
47 setArtifactItem(artifactItem);
48 }
49
50 @Override
51 protected File getMarkerFile() {
52
53
54
55
56
57 File markerFile;
58 if (this.artifactItem == null
59 || (StringUtils.isEmpty(this.artifactItem.getIncludes())
60 && StringUtils.isEmpty(this.artifactItem.getExcludes()))) {
61 markerFile = super.getMarkerFile();
62 } else {
63 int includeExcludeHash = 0;
64
65 if (StringUtils.isNotEmpty(this.artifactItem.getIncludes())) {
66 includeExcludeHash += this.artifactItem.getIncludes().hashCode();
67 }
68
69 if (StringUtils.isNotEmpty(this.artifactItem.getExcludes())) {
70 includeExcludeHash += this.artifactItem.getExcludes().hashCode();
71 }
72
73 markerFile =
74 new File(this.markerFilesDirectory, this.artifact.getId().replace(':', '-') + includeExcludeHash);
75 }
76
77 return markerFile;
78 }
79
80
81
82
83 public void setArtifactItem(ArtifactItem artifactItem) {
84 this.artifactItem = artifactItem;
85
86 if (this.artifactItem != null) {
87 setArtifact(this.artifactItem.getArtifact());
88 }
89 }
90
91
92
93
94 public ArtifactItem getArtifactItem() {
95 return this.artifactItem;
96 }
97 }