Repository navigation
Commit 6d84663
Restore "first <resource> entry wins" for overlapping declarations
When two <resource> entries cover the same source directory, the file
written by the first entry must not be silently replaced by the second.
3.3.1 produced this behaviour as a side effect of the timestamp-based
overwrite gate in FilteringUtils.copyFile, which MSHARED-1216 (commit
1371dcf, "Use a caching output stream when filtering resources") removed
when it switched to CachingOutputStream / CachingWriter — every write
now goes through unconditionally if the bytes differ, so an unfiltered
second entry clobbers the filtered first entry.
DefaultMavenResourcesFiltering now tracks destination paths already
written within a single filterResources(...) call and skips subsequent
writes that would land on the same path. Explicit opt-in
(MavenResourcesExecution.setOverwrite(true), i.e. ChangeDetection.ALWAYS)
keeps the previous "second entry clobbers" behaviour for callers that
relied on it. The existing flatten-collision policy is left untouched —
a duplicate flattened name still triggers the warn-or-throw path, since
that case is conceptually distinct.
Adds a unit test in DefaultMavenResourcesFilteringTest covering the
explicit-overwrite escape hatch. The OverlappingResourcesFilteringTest
introduced in the previous commit now passes against this code.1 parent 306db11 commit 6d84663
3 files changed
Lines changed: 71 additions & 2 deletions
File tree
- src
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
| 35 | + | |
35 | 36 | | |
36 | 37 | | |
37 | 38 | | |
| 39 | + | |
38 | 40 | | |
39 | 41 | | |
40 | 42 | | |
| |||
144 | 146 | | |
145 | 147 | | |
146 | 148 | | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
147 | 156 | | |
148 | 157 | | |
149 | 158 | | |
| |||
281 | 290 | | |
282 | 291 | | |
283 | 292 | | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
284 | 307 | | |
285 | 308 | | |
286 | 309 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1112 | 1112 | | |
1113 | 1113 | | |
1114 | 1114 | | |
| 1115 | + | |
| 1116 | + | |
| 1117 | + | |
| 1118 | + | |
| 1119 | + | |
| 1120 | + | |
| 1121 | + | |
| 1122 | + | |
| 1123 | + | |
| 1124 | + | |
| 1125 | + | |
| 1126 | + | |
| 1127 | + | |
| 1128 | + | |
| 1129 | + | |
| 1130 | + | |
| 1131 | + | |
| 1132 | + | |
| 1133 | + | |
| 1134 | + | |
| 1135 | + | |
| 1136 | + | |
| 1137 | + | |
| 1138 | + | |
| 1139 | + | |
| 1140 | + | |
| 1141 | + | |
| 1142 | + | |
| 1143 | + | |
| 1144 | + | |
| 1145 | + | |
| 1146 | + | |
| 1147 | + | |
| 1148 | + | |
| 1149 | + | |
| 1150 | + | |
| 1151 | + | |
| 1152 | + | |
| 1153 | + | |
| 1154 | + | |
| 1155 | + | |
| 1156 | + | |
| 1157 | + | |
| 1158 | + | |
| 1159 | + | |
| 1160 | + | |
1115 | 1161 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
142 | 142 | | |
143 | 143 | | |
144 | 144 | | |
145 | | - | |
146 | | - | |
| 145 | + | |
| 146 | + | |
147 | 147 | | |
148 | 148 | | |
0 commit comments