← Back to team overview

coapp-developers team mailing list archive

cli command syntax

 

Here is my proposed command line syntax for the CoApp cli.

I'm sure that it's not 100% complete, but I think it should get us a very long way.

What it does kinda drives what the managed wrapper library will do, which kinda drives the engine API...

I've done some more coding that shows a complete end-to-end (even if It doesn't really do anything REAL yet)

And checked it in.

Comments?


C:\root\projects\CoApp\output\x64\debug\bin>CoApp.exe  --help

CoApp Project CoApp.CLI Version 1.0.0 for x64
Copyright (c) Garrett Serack, CoApp Contributors 2010. All rights reserved
CoApp command line utility
-------------------------------------------------------------------------------

Usage:
-------

CoApp-cli [options] <command> <parameters>

Options:
--------
    --help                      this help
    --nologo                    don't display the logo
    --load-config=<file>        loads configuration from <file>
    --verbose                   prints verbose messages

    --pretend                   doesn't actually alter the system

    --max-packages=<number>     overrides the maximum number of packages that
                                can be installed at once (default 25)

    --override-protect          ignores any protect flags on packages
    --override-frozen           ignores any frozen flags on packages
    --override-block            ignores any blocak flags on packages

Package Commands
----------------
    list packages               lists the installed packages
    find <package*>             lists all the known packages that match

    install <package*>...       installs the package <package>
    install <msi-url>           gets the msi at <msi-url> and installs it
    install <pkg-url>           gets the package feed at <pkg-url> and installs
                                everything in the feed

    uninstall <package*>...     removes the package <package>
    uninstall <pkg-url>         removes all the packages in the feed

    update                      updates all packages not frozen
    update <package*>...        updates [package] to the latest version
    update <pkg-url>            updates all packages from feed at <url>

    freeze <package*>...        places a freeze on the <package>
    protect <package*>...       protects package <package> from being removed
    block <package*>...         blocks <package> from being installed

    unfreeze <package*>...      removes a freeze on the <package>
    unprotect <package*>...     allows package <package> to be removed
    unblock <package*>...       allows <package> to be installed

    trim                        removes (non-app) packages that are not used
                                or protected

Repository Commands
-------------------
    list repo                 lists all the repositories in the directory
                              and added locals

    add <url>                 adds a localally recognized repository
    remove <url|name>         removes a repository <url> or by <name>
    block <url|name>          blocks a repository at <url> even if it is
                              in the directory
    unblock <url|name>        unblocks a repository at <url>


Repository Directory Commands
-----------------------------
    show-directory            returns the URL for the repository directory
    set-directory <url>       sets the URL repository directory
    clear-directory <url>     clear the URL for the repository directory

Notes:
-------
<package*>      indicates a partial, wildcard or complete package name

                A canonical package name is specified:

                    [repo:]name[-MM.NN][.RR][.BB]

                where

                    [repo:] is the common name (optional)
                    name    is the package name (supports wildcards [*,?])
                    [-MM.NN] is the major/minor build number (optional)
                    [RR] is the revision number (optional)
                    [BB] is the build number (optional)

<package*>...   indicates one or more packages


C:\root\projects\CoApp\output\x64\debug\bin>

Follow ups