UiPath Documentation
uipath-cli
latest
false
UiPath CLI user guide

uip solution cleanup

Syntax and options for `uip solution cleanup`, which removes unused items from every project in a UiPath solution.

uip solution cleanup removes unused items (activities, dependencies) from every project in a solution. For a solution directory, project sources are modified in place; pass --dry-run to only detect unused items without changing anything.

Synopsis​

uip solution cleanup <solutionPath> [--dry-run] [--skip-imports] [--nuget-sources-config-path <path>] [--exclude-configured-sources] [--feed-folder <name>] [--login-validity <minutes>]
uip solution cleanup <solutionPath> [--dry-run] [--skip-imports] [--nuget-sources-config-path <path>] [--exclude-configured-sources] [--feed-folder <name>] [--login-validity <minutes>]

Arguments​

NameRequiredPurpose
<solutionPath>yesPath to a solution directory (containing .uipx) or a .uis file.

Options​

LongValueDefaultDescription
--dry-runflagoffDetect unused items but don't modify any project files.
--skip-importsflagoffDon't clean up now-unused references to removed items in the project's files.
--nuget-sources-config-pathpath—Path to a NuGet sources configuration file.
--exclude-configured-sourcesflagoffResolve project dependencies only from tenant feeds and --nuget-sources-config-path. Drops the built-in UiPath and nuget.org feeds — a dependency not on those feeds fails to restore.
--feed-foldername or path—Resolve project dependencies from this Orchestrator folder's library feed instead of every tenant feed.
--login-validityminutes10Minimum minutes before token expiration to trigger a refresh.

Examples​

# Remove unused items from every project, modifying files in place
uip solution cleanup ./my-solution

# Detect without modifying anything
uip solution cleanup ./my-solution --dry-run
# Remove unused items from every project, modifying files in place
uip solution cleanup ./my-solution

# Detect without modifying anything
uip solution cleanup ./my-solution --dry-run

Data shape (--output json)​

{
  "Code": "SolutionCleanup",
  "Data": {
    "DryRun": false,
    "ChangedFilesByProject": {
      "project-design-id": ["project.json", "Main.xaml"]
    },
    "CleanupByProject": {
      "project-design-id": {
        "unusedItems": ["UiPath.Stale.Activities"],
        "cleanedFiles": ["Main.xaml"]
      }
    }
  }
}
{
  "Code": "SolutionCleanup",
  "Data": {
    "DryRun": false,
    "ChangedFilesByProject": {
      "project-design-id": ["project.json", "Main.xaml"]
    },
    "CleanupByProject": {
      "project-design-id": {
        "unusedItems": ["UiPath.Stale.Activities"],
        "cleanedFiles": ["Main.xaml"]
      }
    }
  }
}

With --dry-run, ChangedFilesByProject is empty and each project's cleanedFiles stays empty, since nothing was written.

Exit codes​

See Exit codes for the shared contract.

See also​

Was this page helpful?

Connect

Need help? Support

Want to learn? UiPath Academy

Have questions? UiPath Forum

Stay updated