prevent sub-group matching for purge
This commit is contained in:
@@ -219,14 +219,27 @@ public class PurgeRepoMojo extends AbstractMojo {
|
|||||||
|
|
||||||
Files.list(repoPath.resolve(groupPath)).forEach(new Consumer<Path>() {
|
Files.list(repoPath.resolve(groupPath)).forEach(new Consumer<Path>() {
|
||||||
@Override
|
@Override
|
||||||
public void accept(Path t) {
|
public void accept(Path fullArtifactPath) {
|
||||||
if (artifactPattern == null) {
|
if (artifactPattern == null) {
|
||||||
paths.add(repoPath.relativize(t));
|
// these may include sub-groups and not just artifacts
|
||||||
|
// which will lead to paths with artifacts as versions
|
||||||
|
// so we are looping through versions to see if it is indeed an artifact
|
||||||
|
try {
|
||||||
|
Files.list(fullArtifactPath).findFirst().ifPresent(new Consumer<Path>() {
|
||||||
|
@Override
|
||||||
|
public void accept(Path fullVersionPath) {
|
||||||
|
if (Files.exists(fullVersionPath.resolve("_remote.repositories")))
|
||||||
|
paths.add(repoPath.relativize(fullArtifactPath));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} catch (IOException ie) {
|
||||||
|
getLog().error(ie.getMessage(), ie);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
Matcher matcher = artifactPattern.matcher(t.getFileName().toString());
|
Matcher matcher = artifactPattern.matcher(fullArtifactPath.getFileName().toString());
|
||||||
if (matcher.matches()) {
|
if (matcher.matches()) {
|
||||||
getLog().debug("The artifact directory '" + t.getFileName() + "' qualifies as included");
|
getLog().debug("The artifact directory '" + fullArtifactPath.getFileName() + "' qualifies as included");
|
||||||
paths.add(repoPath.relativize(t));
|
paths.add(repoPath.relativize(fullArtifactPath));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user