1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.plugins.assembly.filter;
20
21 import javax.inject.Named;
22
23 import org.codehaus.plexus.components.io.fileselectors.FileInfo;
24
25
26
27
28 @Named("metaInf-spring")
29 public class MetaInfSpringHandler extends AbstractLineAggregatingHandler {
30
31 private static final String SPRING_PATH_PREFIX = "META-INF/";
32
33 @Override
34 protected String getOutputPathPrefix(final FileInfo fileInfo) {
35 return SPRING_PATH_PREFIX;
36 }
37
38 @Override
39 protected boolean fileMatches(final FileInfo fileInfo) {
40 final String path = fileInfo.getName();
41
42 String leftover = null;
43 if (path.startsWith("/META-INF/spring.")) {
44 leftover = path.substring("/META-INF/spring.".length());
45 } else if (path.startsWith("META-INF/spring.")) {
46 leftover = path.substring("META-INF/spring.".length() - 1);
47 }
48
49 return leftover != null && leftover.length() > 0;
50 }
51 }