[ https://issues.apache.org/jira/browse/MBUILDCACHE-64?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17758249#comment-17758249 ]
ASF GitHub Bot commented on MBUILDCACHE-64: ------------------------------------------- kbuntrock commented on code in PR #91: URL: https://github.com/apache/maven-build-cache-extension/pull/91#discussion_r1303582003 ########## src/main/java/org/apache/maven/buildcache/checksum/TreeWalkerPathMatcher.java: ########## @@ -0,0 +1,53 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.maven.buildcache.checksum; + +import java.nio.file.FileSystems; +import java.nio.file.Path; +import java.nio.file.PathMatcher; + +/** + * A path matcher with some extra info + */ +public class TreeWalkerPathMatcher implements PathMatcher { + + /** + * True if the matching should stop exploring the directory tree further away + */ + private final boolean matchingSkipSubtree; + + /** + * Wrapped regular path matcher + */ + private final PathMatcher pathMatcher; Review Comment: It should not, the underlying conversion from glob to regex pattern (sun.nio.fs.Globs#toRegexPattern) used by different FS pathmatcher implementations (ex : sun.nio.fs.WindowsFileSystem#getPathMatcher) seems to handle FS specific syntax conversion since java 8. (https://github.com/adoptium/jdk8u) But PathMatching is not something I've dealt with a lot. Do you think we should take a belt and braces approach ? (french expression, but it looks like existing in English too ^^) PS : On a side note, I'm always testing on Windows (but not all jvm ...) since I primarily work on Windows those days. > Apply global exclusions to folder names > --------------------------------------- > > Key: MBUILDCACHE-64 > URL: https://issues.apache.org/jira/browse/MBUILDCACHE-64 > Project: Maven Build Cache Extension > Issue Type: Bug > Affects Versions: 1.0.1 > Reporter: Frank Wagner > Assignee: Olivier Lamy > Priority: Major > Labels: pull-request-available > Fix For: 1.1.0 > > > It is currently not possible to exclude folders by their name, like > {quote}<input> > <global> > <excludes> > <exclude>node_modules</exclude> > <exclude>dist</exclude> > <exclude>build</exclude> > </excludes> > </global> > ... > {quote} > That's because isFilteredOutSubpath(), > [https://github.com/apache/maven-build-cache-extension/blob/master/src/main/java/org/apache/maven/buildcache/checksum/MavenProjectInput.java#L638,] > uses startWith on normalized absolute paths. > That function could be enhanced with an additional criterion like in > [https://github.com/apache/maven-build-cache-extension/blob/master/src/main/java/org/apache/maven/buildcache/checksum/MavenProjectInput.java#L510] > {{filteredOutPaths.stream().anyMatch(it -> > it.getFileName().equals(entry.getFileName()))}} > > -- This message was sent by Atlassian Jira (v8.20.10#820010)