[
https://issues.apache.org/jira/browse/MSHARED-1285?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17781394#comment-17781394
]
ASF GitHub Bot commented on MSHARED-1285:
-----------------------------------------
pcdavid commented on PR #77:
URL: https://github.com/apache/maven-filtering/pull/77#issuecomment-1787352103
FWIW, the (single) test failure I get with this PR is this one:
```
[ERROR] Tests run: 4, Failures: 1, Errors: 0, Skipped: 0, Time elapsed:
0.162 s <<< FAILURE! - in
org.apache.maven.shared.filtering.IncrementalResourceFilteringTest
[ERROR]
org.apache.maven.shared.filtering.IncrementalResourceFilteringTest.testSimpleIncrementalFiltering
Time elapsed: 0.031 s <<< FAILURE!
junit.framework.ComparisonFailure: expected:<[]time> but was:<[no]time>
at junit.framework.Assert.assertEquals(Assert.java:100)
at junit.framework.Assert.assertEquals(Assert.java:107)
at junit.framework.TestCase.assertEquals(TestCase.java:260)
at
org.apache.maven.shared.filtering.IncrementalResourceFilteringTest.assertTime(IncrementalResourceFilteringTest.java:158)
at
org.apache.maven.shared.filtering.IncrementalResourceFilteringTest.testSimpleIncrementalFiltering(IncrementalResourceFilteringTest.java:69)
```
I don't know anything about this project/codebase, but as an Eclipse user
impacted by [this](https://github.com/eclipse-m2e/m2e-core/issues/1302) I was
curious, and the last PR build is too old and the failure logs are not
available anymore.
> DefaultMavenResourcesFiltering uses BuildContext in a way that fails sometimes
> ------------------------------------------------------------------------------
>
> Key: MSHARED-1285
> URL: https://issues.apache.org/jira/browse/MSHARED-1285
> Project: Maven Shared Components
> Issue Type: Bug
> Reporter: Christoph Läubrich
> Priority: Major
>
> The maven resources plugin uses
> [https://github.com/apache/maven-filtering/blob/master/src/main/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFiltering.java]
> to copy resources, but that component has some subtile flaws reported here:
> [https://github.com/eclipse-m2e/m2e-core/discussions/1468]
> The problematic part is the usage of BuildContext#newScanner that already
> mentions in the javadoc that passing ignoreDelta to neScanner might not
> reveal all required items +*for copy-resources*+ form A -> B and instead
> BuildContext#isUpTodate should be used.
> Just from a quick look I assume that part of code actually wants to use
> something like this:
> {code:java}
> DirectoryScanner ds = new DirectoryScanner() {
> @Override
> protected boolean isSelected(String name, File file) {
> if (file.isFile() && buildContext.isUptodate(getTargetFile(file), file))
> {
> return false;
> }
> return true;
> }
> };
> ds.setBasedir(basedir); {code}
> That way all the code that currently checks for if output directory existed
> before can also be removed what is another issue because it leads to a full
> resources copy even if source+target are already even if a single class file
> is changed while the idea seems more that if the output was not there it
> should not try to be incremental!
--
This message was sent by Atlassian Jira
(v8.20.10#820010)