-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Open
Labels
Breaking ChangeFeature - GlobbingFeature: Warning WavesWarnings to enable in opt-in waves. Formerly "strict mode".Warnings to enable in opt-in waves. Formerly "strict mode".User Experiencebug
Milestone
Description
This was reported as a Connect issue.
The repro is simple:
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<MyItem Include="MyDir\**\*.*" Exclude="MyDir\node_modules\**\*.*;MyDir\tmp\**\*.*" />
</ItemGroup>
<Target Name="TestInputs">
<Warning Text="Inputs = @(MyItem)" />
</Target>
</Project>Where there are files in MyDir\node_modules that exceed MAX_PATH. That returns:
C:\Users\raines\Downloads>msbuild test.proj
Microsoft (R) Build Engine version 14.0.24720.0
Copyright (C) Microsoft Corporation. All rights reserved.
Build started 12/16/2015 12:46:15 PM.
Project "C:\Users\raines\Downloads\test.proj" on node 1 (default targets).
C:\Users\raines\Downloads\test.proj(8,3): warning : Inputs = MyDir\**\*.*
Done Building Project "C:\Users\raines\Downloads\test.proj" (default targets).
Build succeeded.
Note that the wildcards weren't actually expanded.
The original issue mentions an expectation that the Exclude element would prevent this from happening because that directory and all its contents are excluded. The reason that doesn't work is because we build the Include list fully first, then build the Exclude list, then do a subtraction. The failure occurs when building the Include list, so Exclude has no effect.
nozzlegear, ErlendLandro, ferarias, dbjorge, stevenb9 and 6 more
Metadata
Metadata
Assignees
Labels
Breaking ChangeFeature - GlobbingFeature: Warning WavesWarnings to enable in opt-in waves. Formerly "strict mode".Warnings to enable in opt-in waves. Formerly "strict mode".User Experiencebug