226 references to ItemSpecModifiers
Microsoft.Build (71)
BackEnd\Components\RequestBuilder\IntrinsicTasks\MSBuild.cs (1)
714outputItemFromTarget.SetMetadata(ItemMetadataNames.msbuildSourceProjectFile, projects[i].GetMetadata(ItemSpecModifiers.FullPath));
Construction\ProjectMetadataElement.cs (1)
107ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsItemSpecModifier(name), "ItemSpecModifierCannotBeCustomMetadata", name);
Definition\BuiltInMetadata.cs (5)
26{ return ItemSpecModifiers.All.Length; } 36{ return ItemSpecModifiers.All; } 75Debug.Assert(ItemSpecModifiers.IsItemSpecModifier(name)); 78if (String.Equals(name, ItemSpecModifiers.RecursiveDir, StringComparison.OrdinalIgnoreCase)) 84value = ItemSpecModifiers.GetItemSpecModifier(currentDirectory, evaluatedIncludeEscaped, definingProjectEscaped, name, ref fullPath);
Definition\ProjectItem.cs (5)
306{ return Metadata.Count + ItemSpecModifiers.All.Length; } 461if (ItemSpecModifiers.IsItemSpecModifier(name)) 586ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsItemSpecModifier(name), "ItemSpecModifierCannotBeCustomMetadata", name); 644ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsItemSpecModifier(name), "ItemSpecModifierCannotBeCustomMetadata", name); 860if (ItemSpecModifiers.IsItemSpecModifier(name))
Definition\ProjectItemDefinition.cs (1)
154ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsItemSpecModifier(name), "ItemSpecModifierCannotBeCustomMetadata", name);
Evaluation\Conditionals\Scanner.cs (1)
478bool isItemSpecModifier = ItemSpecModifiers.IsItemSpecModifier(expression);
Evaluation\Expander.cs (38)
31using ItemSpecModifiers = Microsoft.Build.Framework.ItemSpecModifiers; 1162bool isBuiltInMetadata = ItemSpecModifiers.IsItemSpecModifier(metadataName); 1957if (ItemSpecModifiers.IsDerivableItemSpecModifier(functionName)) 2458[$"%({ItemSpecModifiers.FullPath})"] = ItemSpecModifiers.FullPath, 2459[$"%({ItemSpecModifiers.RootDir})"] = ItemSpecModifiers.RootDir, 2460[$"%({ItemSpecModifiers.Filename})"] = ItemSpecModifiers.Filename, 2461[$"%({ItemSpecModifiers.Extension})"] = ItemSpecModifiers.Extension, 2462[$"%({ItemSpecModifiers.RelativeDir})"] = ItemSpecModifiers.RelativeDir, 2463[$"%({ItemSpecModifiers.Directory})"] = ItemSpecModifiers.Directory, 2464[$"%({ItemSpecModifiers.RecursiveDir})"] = ItemSpecModifiers.RecursiveDir, 2465[$"%({ItemSpecModifiers.Identity})"] = ItemSpecModifiers.Identity, 2466[$"%({ItemSpecModifiers.ModifiedTime})"] = ItemSpecModifiers.ModifiedTime, 2467[$"%({ItemSpecModifiers.CreatedTime})"] = ItemSpecModifiers.CreatedTime, 2468[$"%({ItemSpecModifiers.AccessedTime})"] = ItemSpecModifiers.AccessedTime, 2469[$"%({ItemSpecModifiers.DefiningProjectFullPath})"] = ItemSpecModifiers.DefiningProjectFullPath, 2470[$"%({ItemSpecModifiers.DefiningProjectDirectory})"] = ItemSpecModifiers.DefiningProjectDirectory, 2471[$"%({ItemSpecModifiers.DefiningProjectName})"] = ItemSpecModifiers.DefiningProjectName, 2472[$"%({ItemSpecModifiers.DefiningProjectExtension})"] = ItemSpecModifiers.DefiningProjectExtension, 2556string definingProjectEscaped = item.Value.GetMetadataValueEscaped(ItemSpecModifiers.DefiningProjectFullPath); 2558result = ItemSpecModifiers.GetItemSpecModifier(directoryToUse, item.Key, definingProjectEscaped, functionName); 3316if (ItemSpecModifiers.IsDerivableItemSpecModifier(match.Name)) 3324string definingProjectEscaped = sourceOfMetadata.GetMetadataValueEscaped(ItemSpecModifiers.DefiningProjectFullPath); 3326value = ItemSpecModifiers.GetItemSpecModifier(directoryToUse, itemSpec, definingProjectEscaped, match.Name);
Evaluation\ProjectParser.cs (2)
379if (ItemSpecModifiers.IsItemSpecModifier(name) || XMakeElements.ReservedItemNames.Contains(name)) 400ProjectErrorUtilities.VerifyThrowInvalidProject(!ItemSpecModifiers.IsItemSpecModifier(element.Name), element.Location, "ItemSpecModifierCannotBeCustomMetadata", element.Name);
Instance\ProjectItemInstance.cs (8)
977List<string> names = new List<string>(capacity: metadataCollection.Count + ItemSpecModifiers.All.Length); 984names.AddRange(ItemSpecModifiers.All); 1820ItemSpecModifiers.IsItemSpecModifier(name) || 2015if (!ItemSpecModifiers.IsDerivableItemSpecModifier(name)) 2028.Where(item => !ItemSpecModifiers.IsDerivableItemSpecModifier(item.Key)); 2087if (ItemSpecModifiers.IsItemSpecModifier(name)) 2188if (_itemSpecModifiersIndex < ItemSpecModifiers.All.Length) 2190Current = ItemSpecModifiers.All[_itemSpecModifiersIndex];
Instance\ProjectMetadataInstance.cs (1)
244foreach (string itemSpecModifier in ItemSpecModifiers.All)
TaskParameter.cs (8)
575_escapedDefiningProject = copyFromAsITaskItem2.GetMetadataValueEscaped(ItemSpecModifiers.DefiningProjectFullPath); 596_escapedDefiningProject = EscapingUtilities.EscapeWithCaching(copyFrom.GetMetadata(ItemSpecModifiers.DefiningProjectFullPath)); 647metadataNames.AddRange(ItemSpecModifiers.All); 663return count + ItemSpecModifiers.All.Length; 709ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsDerivableItemSpecModifier(metadataName), "Shared.CannotChangeItemSpecModifiers", metadataName); 723ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsItemSpecModifier(metadataName), "Shared.CannotChangeItemSpecModifiers", metadataName); 832if (ItemSpecModifiers.IsDerivableItemSpecModifier(metadataName)) 836metadataValue = ItemSpecModifiers.GetItemSpecModifier(null, _escapedItemSpec, _escapedDefiningProject, metadataName, ref _fullPath);
Microsoft.Build.Engine.UnitTests (6)
Instance\TaskItem_Tests.cs (2)
63Assert.Equal(item.GetMetadata(ItemSpecModifiers.DefiningProjectFullPath), deserializedItem.GetMetadata(ItemSpecModifiers.DefiningProjectFullPath));
TestComparers\TaskItemComparer.cs (4)
53if (!ItemSpecModifiers.IsItemSpecModifier(metadataName) || 54ItemSpecModifiers.IsDerivableItemSpecModifier(metadataName)) 65if (!ItemSpecModifiers.IsItemSpecModifier(metadataName) || 66ItemSpecModifiers.IsDerivableItemSpecModifier(metadataName))
Microsoft.Build.Framework.UnitTests (84)
FileUtilities_Tests.cs (84)
36string modifier = ItemSpecModifiers.GetItemSpecModifier(currentDirectory, "foo", String.Empty, ItemSpecModifiers.RecursiveDir, ref cache); 40modifier = ItemSpecModifiers.GetItemSpecModifier(currentDirectory, "foo", String.Empty, ItemSpecModifiers.ModifiedTime, ref cache); 44modifier = ItemSpecModifiers.GetItemSpecModifier(currentDirectory, @"foo\goo", String.Empty, ItemSpecModifiers.RelativeDir, ref cache); 48modifier = ItemSpecModifiers.GetItemSpecModifier(currentDirectory, @"foo\goo", String.Empty, ItemSpecModifiers.RelativeDir, ref cache); 54modifier = ItemSpecModifiers.GetItemSpecModifier(currentDirectory, itemSpec, String.Empty, ItemSpecModifiers.FullPath, ref cache); 58modifier = ItemSpecModifiers.GetItemSpecModifier(currentDirectory, itemSpec, String.Empty, ItemSpecModifiers.RootDir, ref cache); 61modifier = ItemSpecModifiers.GetItemSpecModifier(currentDirectory, itemSpec, String.Empty, ItemSpecModifiers.Filename, ref cache); 64modifier = ItemSpecModifiers.GetItemSpecModifier(currentDirectory, itemSpec, String.Empty, ItemSpecModifiers.Extension, ref cache); 67modifier = ItemSpecModifiers.GetItemSpecModifier(currentDirectory, itemSpec, String.Empty, ItemSpecModifiers.Directory, ref cache); 70modifier = ItemSpecModifiers.GetItemSpecModifier(currentDirectory, itemSpec, String.Empty, ItemSpecModifiers.Identity, ref cache); 75modifier = ItemSpecModifiers.GetItemSpecModifier(currentDirectory, itemSpec, projectPath, ItemSpecModifiers.DefiningProjectDirectory, ref cache); 78modifier = ItemSpecModifiers.GetItemSpecModifier(currentDirectory, itemSpec, projectPath, ItemSpecModifiers.DefiningProjectExtension, ref cache); 81modifier = ItemSpecModifiers.GetItemSpecModifier(currentDirectory, itemSpec, projectPath, ItemSpecModifiers.DefiningProjectFullPath, ref cache); 84modifier = ItemSpecModifiers.GetItemSpecModifier(currentDirectory, itemSpec, projectPath, ItemSpecModifiers.DefiningProjectName, ref cache); 179ItemSpecModifiers.GetItemSpecModifier(currentDirectory, @"http://www.microsoft.com", String.Empty, ItemSpecModifiers.RootDir, ref cache); 343Assert.True(ItemSpecModifiers.IsItemSpecModifier("FullPath")); // "test 1" 344Assert.True(ItemSpecModifiers.IsItemSpecModifier("RootDir")); // "test 2" 345Assert.True(ItemSpecModifiers.IsItemSpecModifier("Filename")); // "test 3" 346Assert.True(ItemSpecModifiers.IsItemSpecModifier("Extension")); // "test 4" 347Assert.True(ItemSpecModifiers.IsItemSpecModifier("RelativeDir")); // "test 5" 348Assert.True(ItemSpecModifiers.IsItemSpecModifier("Directory")); // "test 6" 349Assert.True(ItemSpecModifiers.IsItemSpecModifier("RecursiveDir")); // "test 7" 350Assert.True(ItemSpecModifiers.IsItemSpecModifier("Identity")); // "test 8" 351Assert.True(ItemSpecModifiers.IsItemSpecModifier("ModifiedTime")); // "test 9" 352Assert.True(ItemSpecModifiers.IsItemSpecModifier("CreatedTime")); // "test 10" 353Assert.True(ItemSpecModifiers.IsItemSpecModifier("AccessedTime")); // "test 11" 356Assert.True(ItemSpecModifiers.IsItemSpecModifier("fullPath")); // "test 21" 357Assert.True(ItemSpecModifiers.IsItemSpecModifier("rootDir")); // "test 22" 358Assert.True(ItemSpecModifiers.IsItemSpecModifier("filename")); // "test 23" 359Assert.True(ItemSpecModifiers.IsItemSpecModifier("extension")); // "test 24" 360Assert.True(ItemSpecModifiers.IsItemSpecModifier("relativeDir")); // "test 25" 361Assert.True(ItemSpecModifiers.IsItemSpecModifier("directory")); // "test 26" 362Assert.True(ItemSpecModifiers.IsItemSpecModifier("recursiveDir")); // "test 27" 363Assert.True(ItemSpecModifiers.IsItemSpecModifier("identity")); // "test 28" 364Assert.True(ItemSpecModifiers.IsItemSpecModifier("modifiedTime")); // "test 29" 365Assert.True(ItemSpecModifiers.IsItemSpecModifier("createdTime")); // "test 30" 366Assert.True(ItemSpecModifiers.IsItemSpecModifier("accessedTime")); // "test 31" 370Assert.False(ItemSpecModifiers.IsItemSpecModifier("rootxxx")); // "test 41" 371Assert.False(ItemSpecModifiers.IsItemSpecModifier("Rootxxx")); // "test 42" 372Assert.False(ItemSpecModifiers.IsItemSpecModifier("xxxxxxx")); // "test 43" 374Assert.False(ItemSpecModifiers.IsItemSpecModifier("filexxxx")); // "test 44" 375Assert.False(ItemSpecModifiers.IsItemSpecModifier("Filexxxx")); // "test 45" 376Assert.False(ItemSpecModifiers.IsItemSpecModifier("idenxxxx")); // "test 46" 377Assert.False(ItemSpecModifiers.IsItemSpecModifier("Idenxxxx")); // "test 47" 378Assert.False(ItemSpecModifiers.IsItemSpecModifier("xxxxxxxx")); // "test 48" 380Assert.False(ItemSpecModifiers.IsItemSpecModifier("extenxxxx")); // "test 49" 381Assert.False(ItemSpecModifiers.IsItemSpecModifier("Extenxxxx")); // "test 50" 382Assert.False(ItemSpecModifiers.IsItemSpecModifier("direcxxxx")); // "test 51" 383Assert.False(ItemSpecModifiers.IsItemSpecModifier("Direcxxxx")); // "test 52" 384Assert.False(ItemSpecModifiers.IsItemSpecModifier("xxxxxxxxx")); // "test 53" 386Assert.False(ItemSpecModifiers.IsItemSpecModifier("xxxxxxxxxx")); // "test 54" 388Assert.False(ItemSpecModifiers.IsItemSpecModifier("relativexxx")); // "test 55" 389Assert.False(ItemSpecModifiers.IsItemSpecModifier("Relativexxx")); // "test 56" 390Assert.False(ItemSpecModifiers.IsItemSpecModifier("createdxxxx")); // "test 57" 391Assert.False(ItemSpecModifiers.IsItemSpecModifier("Createdxxxx")); // "test 58" 392Assert.False(ItemSpecModifiers.IsItemSpecModifier("xxxxxxxxxxx")); // "test 59" 394Assert.False(ItemSpecModifiers.IsItemSpecModifier("recursivexxx")); // "test 60" 395Assert.False(ItemSpecModifiers.IsItemSpecModifier("Recursivexxx")); // "test 61" 396Assert.False(ItemSpecModifiers.IsItemSpecModifier("accessedxxxx")); // "test 62" 397Assert.False(ItemSpecModifiers.IsItemSpecModifier("Accessedxxxx")); // "test 63" 398Assert.False(ItemSpecModifiers.IsItemSpecModifier("modifiedxxxx")); // "test 64" 399Assert.False(ItemSpecModifiers.IsItemSpecModifier("Modifiedxxxx")); // "test 65" 400Assert.False(ItemSpecModifiers.IsItemSpecModifier("xxxxxxxxxxxx")); // "test 66" 402Assert.False(ItemSpecModifiers.IsItemSpecModifier(null)); // "test 67" 408Assert.True(ItemSpecModifiers.IsDerivableItemSpecModifier("Filename")); 409Assert.False(ItemSpecModifiers.IsDerivableItemSpecModifier("RecursiveDir")); 410Assert.False(ItemSpecModifiers.IsDerivableItemSpecModifier("recursivedir")); 445Assert.Equal(@"c:\", ItemSpecModifiers.GetItemSpecModifier(currentDirectory, fullPath, String.Empty, ItemSpecModifiers.RootDir, ref cache));
Microsoft.Build.Tasks.Core (15)
AssemblyDependency\ReferenceTable.cs (1)
873name = item.GetMetadata(ItemSpecModifiers.Filename);
AssignLinkMetadata.cs (3)
47string definingProject = item.GetMetadata(ItemSpecModifiers.DefiningProjectFullPath); 48string definingProjectDirectory = item.GetMetadata(ItemSpecModifiers.DefiningProjectDirectory); 49string fullPath = item.GetMetadata(ItemSpecModifiers.FullPath);
CreateItem.cs (2)
120if (ItemSpecModifiers.IsItemSpecModifier(nameAndValue.Key)) 197newItem.SetMetadata(ItemSpecModifiers.RecursiveDir, match.wildcardDirectoryPart);
MSBuild.cs (1)
657outputItemFromTarget.SetMetadata(ItemMetadataNames.msbuildSourceProjectFile, projects[i].GetMetadata(ItemSpecModifiers.FullPath));
TaskParameter.cs (8)
575_escapedDefiningProject = copyFromAsITaskItem2.GetMetadataValueEscaped(ItemSpecModifiers.DefiningProjectFullPath); 596_escapedDefiningProject = EscapingUtilities.EscapeWithCaching(copyFrom.GetMetadata(ItemSpecModifiers.DefiningProjectFullPath)); 647metadataNames.AddRange(ItemSpecModifiers.All); 663return count + ItemSpecModifiers.All.Length; 709ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsDerivableItemSpecModifier(metadataName), "Shared.CannotChangeItemSpecModifiers", metadataName); 723ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsItemSpecModifier(metadataName), "Shared.CannotChangeItemSpecModifiers", metadataName); 832if (ItemSpecModifiers.IsDerivableItemSpecModifier(metadataName)) 836metadataValue = ItemSpecModifiers.GetItemSpecModifier(null, _escapedItemSpec, _escapedDefiningProject, metadataName, ref _fullPath);
Microsoft.Build.Utilities.Core (10)
TaskItem.cs (10)
133if (!ItemSpecModifiers.IsDerivableItemSpecModifier(key)) 156_definingProject = EscapingUtilities.EscapeWithCaching(sourceItem.GetMetadata(ItemSpecModifiers.DefiningProjectFullPath)); 161_definingProject = sourceItemAsITaskItem2.GetMetadataValueEscaped(ItemSpecModifiers.DefiningProjectFullPath); 220int count = (_metadata?.Count ?? 0) + ItemSpecModifiers.All.Length; 229metadataNames.AddRange(ItemSpecModifiers.All); 239public int MetadataCount => (_metadata?.Count ?? 0) + ItemSpecModifiers.All.Length; 274ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsItemSpecModifier(metadataName), 310ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsDerivableItemSpecModifier(metadataName), 507if (ItemSpecModifiers.IsDerivableItemSpecModifier(metadataName)) 511metadataValue = ItemSpecModifiers.GetItemSpecModifier(null, _itemSpec, _definingProject, metadataName, ref _fullPath);
Microsoft.Build.Utilities.UnitTests (31)
TaskItem_Tests.cs (31)
44to.GetMetadata(ItemSpecModifiers.Filename).ShouldBe("Monkey"); 45to.GetMetadata(ItemSpecModifiers.Extension).ShouldBe(".txt"); 46to.GetMetadata(ItemSpecModifiers.RelativeDir).ShouldBe(string.Empty); 91taskItem.MetadataNames.Cast<string>().ShouldBeSetEquivalentTo(ItemSpecModifiers.All); 92taskItem.MetadataCount.ShouldBe(ItemSpecModifiers.All.Length); 97taskItem.MetadataNames.Cast<string>().ShouldBeSetEquivalentTo(ItemSpecModifiers.All.Concat(new[] { "m" })); 98taskItem.MetadataCount.ShouldBe(ItemSpecModifiers.All.Length + 1); 116h[ItemSpecModifiers.Filename] = "foo"; 117h[ItemSpecModifiers.Extension] = "bar"; 123t.GetMetadata(ItemSpecModifiers.Filename).ShouldBe("bamboo"); 124t.GetMetadata(ItemSpecModifiers.Extension).ShouldBe(".baz"); 137t.SetMetadata(ItemSpecModifiers.FullPath, "bazbaz"); 157t.RemoveMetadata(ItemSpecModifiers.RootDir); 172t.MetadataCount.ShouldBe(ItemSpecModifiers.All.Length); 176t.MetadataCount.ShouldBe(ItemSpecModifiers.All.Length + 1); 184from.GetMetadata(ItemSpecModifiers.FullPath).ShouldBe( 195from.GetMetadata(ItemSpecModifiers.RootDir).ShouldBe(Path.GetPathRoot(from.GetMetadata(ItemSpecModifiers.FullPath))); 203from.GetMetadata(ItemSpecModifiers.Filename).ShouldBe("Monkey"); 211from.GetMetadata(ItemSpecModifiers.Extension).ShouldBe(".txt"); 219from.GetMetadata(ItemSpecModifiers.RelativeDir).Length.ShouldBe(0); 227from.GetMetadata(ItemSpecModifiers.Directory).ShouldBe(NativeMethodsShared.IsWindows ? @"subdir\" : "subdir/"); 235from.GetMetadata(ItemSpecModifiers.Directory).ShouldBe(@"subdir\"); 244from.GetMetadata(ItemSpecModifiers.RecursiveDir).Length.ShouldBe(0); 252from.GetMetadata(ItemSpecModifiers.Identity).ShouldBe("Monkey.txt"); 261from.GetMetadata(ItemSpecModifiers.ModifiedTime).Length.ShouldBeGreaterThan(0); 263from.GetMetadata(ItemSpecModifiers.CreatedTime).Length.ShouldBeGreaterThan(0); 265from.GetMetadata(ItemSpecModifiers.AccessedTime).Length.ShouldBeGreaterThan(0); 269from.GetMetadata(ItemSpecModifiers.ModifiedTime).Length.ShouldBe(0); 271from.GetMetadata(ItemSpecModifiers.CreatedTime).Length.ShouldBe(0); 273from.GetMetadata(ItemSpecModifiers.AccessedTime).Length.ShouldBe(0);
MSBuild (9)
JsonOutputFormatter.cs (1)
104foreach (string metadatumName in ItemSpecModifiers.All)
TaskParameter.cs (8)
575_escapedDefiningProject = copyFromAsITaskItem2.GetMetadataValueEscaped(ItemSpecModifiers.DefiningProjectFullPath); 596_escapedDefiningProject = EscapingUtilities.EscapeWithCaching(copyFrom.GetMetadata(ItemSpecModifiers.DefiningProjectFullPath)); 647metadataNames.AddRange(ItemSpecModifiers.All); 663return count + ItemSpecModifiers.All.Length; 709ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsDerivableItemSpecModifier(metadataName), "Shared.CannotChangeItemSpecModifiers", metadataName); 723ErrorUtilities.VerifyThrowArgument(!ItemSpecModifiers.IsItemSpecModifier(metadataName), "Shared.CannotChangeItemSpecModifiers", metadataName); 832if (ItemSpecModifiers.IsDerivableItemSpecModifier(metadataName)) 836metadataValue = ItemSpecModifiers.GetItemSpecModifier(null, _escapedItemSpec, _escapedDefiningProject, metadataName, ref _fullPath);