CleanCommand class
Cleans generated files and build artifacts from the project.
The CleanCommand removes build directories, localization files, and Dart tool cache across the main project, core packages, and feature modules. It supports removing iOS Podfile.lock for complete dependency refresh.
Usage
Basic cleaning:
morpheme clean
Clean with lock file removal:
morpheme clean --remove-lock
With custom configuration:
morpheme clean --morpheme-yaml custom/path/morpheme.yaml
Options
- --remove-lock, -l: Remove iOS Podfile.lock file
- --morpheme-yaml: Path to morpheme.yaml configuration
Files Removed
- l10n/directory (generated localization files)
- build/directories in all packages
- .dart_tool/directories in all packages
- ios/Podfile.lock(when --remove-lock is specified)
Safety
This command only removes generated files and build artifacts. Source code and configuration files are preserved.
Dependencies
- Requires valid morpheme.yaml configuration
- Uses ModularHelper for package discovery
Exceptions
Throws FileSystemException if morpheme.yaml is missing or invalid.
Throws ProcessException if file deletion fails due to permissions.
Constructors
- CleanCommand()
- Creates a new instance of CleanCommand.
Properties
- 
  aliases
  → List<String> 
- 
  Alternate names for this command.
  no setterinherited
- argParser → ArgParser
- 
  The argument parser for this command.
  no setterinherited
- argResults → ArgResults?
- 
  The parsed argument results for this command.
  no setterinherited
- category → String
- 
  The command's category.
  no setteroverride
- description → String
- 
  A description of this command, included in usage.
  no setteroverride
- globalResults → ArgResults?
- 
  The parsed global argument results.
  no setterinherited
- hashCode → int
- 
  The hash code for this object.
  no setterinherited
- 
  Whether or not this command should be hidden from help listings.
  no setterinherited
- invocation → String
- 
  A single-line template for how to invoke this command (e.g. "pub getpackage").no setterinherited
- name → String
- 
  The name of this command.
  no setteroverride
- parent → Command?
- 
  The command's parent command, if this is a subcommand.
  no setterinherited
- runner → CommandRunner?
- 
  The command runner for this command.
  no setterinherited
- runtimeType → Type
- 
  A representation of the runtime type of the object.
  no setterinherited
- 
  subcommands
  → Map<String, Command> 
- 
  An unmodifiable view of all sublevel commands of this command.
  no setterinherited
- 
  suggestionAliases
  → List<String> 
- 
  Alternate non-functional names for this command.
  no setterinherited
- summary → String
- 
  A short description of this command, included in parent's
CommandRunner.usage.
  no setterinherited
- takesArguments → bool
- 
  Whether or not this command takes positional arguments in addition to
options.
  no setterinherited
- usage → String
- 
  Generates a string displaying usage information for this command.
  no setterinherited
- 
  An optional footer for usage.
  no setterinherited
Methods
- 
  addSubcommand(Command command) → void 
- 
  Adds Command as a subcommand of this.
  inherited
- 
  noSuchMethod(Invocation invocation) → dynamic 
- 
  Invoked when a nonexistent method or property is accessed.
  inherited
- 
  printUsage() → void 
- 
  Prints the usage information for this command.
  inherited
- 
  run() → void 
- 
  Runs this command.
  override
- 
  toString() → String 
- 
  A string representation of this object.
  inherited
- 
  usageException(String message) → Never 
- 
  Throws a UsageException with message.inherited
Operators
- 
  operator ==(Object other) → bool 
- 
  The equality operator.
  inherited