nextflow.cli
The nextflow.cli package implements the command line interface.
Class Diagram
            classDiagram
    %%
    %% nextflow.cli
    %%
    class Launcher {
        cliOptions : CliOptions
        command : CmdBase
    } 
    Launcher --* CliOptions
    Launcher --* CmdBase
    %% CmdBase <|-- CmdClean
    %% CmdBase <|-- CmdClone
    %% CmdBase <|-- CmdConfig
    CmdBase <|-- CmdConsole
    %% CmdBase <|-- CmdDrop
    %% CmdBase <|-- CmdFs
    CmdBase <|-- CmdHelp
    CmdBase <|-- CmdInfo
    %% CmdBase <|-- CmdKubeRun
    %% CmdBase <|-- CmdList
    %% CmdBase <|-- CmdLog
    %% CmdBase <|-- CmdNode
    %% CmdBase <|-- CmdPlugin
    %% CmdBase <|-- CmdPull
    CmdBase <|-- CmdRun
    %% CmdBase <|-- CmdSecret
    %% CmdBase <|-- CmdSelfUpdate
    %% CmdBase <|-- CmdView
        
Note
Some classes may be excluded from the above diagram for brevity.
Notes
The Launcher class is the entrypoint for Nextflow. It uses JCommander to parse the command-line arguments. Additionally, there is a class for each subcommand which implements the application logic of that command. By far the most complex command is CmdRun.