| File: Projects\AppHostDiscoveryScope.cs | Web Access |
| Project: src\src\Aspire.Cli\Aspire.Cli.csproj (aspire) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. namespace Aspire.Cli.Projects; /// <summary> /// Controls how aggressively <see cref="IProjectLocator"/> filters candidate AppHost /// project files during discovery. /// </summary> internal enum AppHostDiscoveryScope { /// <summary> /// Apply the default filters: prefer <c>git ls-files</c> when the search directory /// is inside a git working tree, otherwise walk the filesystem while pruning /// well-known dependency, build-output, and cache directories. Used for ambient /// discovery from the working directory (for example, <c>aspire ls</c> with no /// arguments and <c>aspire run</c> when no <c>--project</c> is supplied). /// </summary> DefaultFiltered, /// <summary> /// Apply only the well-known directory skip list and never invoke git. Used when /// the user has explicitly pointed at a directory (for example, /// <c>aspire run --project ./some-dir</c>) — the directory itself may be ignored /// by <c>.gitignore</c>, but the user clearly wants it scanned. /// </summary> ExplicitDirectory, /// <summary> /// Disable git filtering and the well-known directory skip list, then walk every /// file under the search directory except the NuGet package cache. Matches the /// legacy behavior. Used by <c>aspire ls --all</c>. /// </summary> AllFiles, }