Covariant Script Package Manager is an online package manager written in Covariant Script itself.
- Covariant Script Interpreter: v3.4.1(STD210504) or newer version
- CovScript Process
- CovScript Regex
- CovScript Codec
- CovScript cURL
Usage: cspkg <commands> ... [options] ...
Commands:
    init                          Initialize cspkg environment and configuration
    install   | -i  <Package>...  Install packages from remote source
    remove    | -r  <Package>...  Remove packages
    config    | -c  <Key>         Manage local configuration
    upgrade   | -u                Upgrade local packages
    build     | -b  [Path]        Build & test local packages
    list      | -l                List current packages
    help      | -h                Show help information
    version   | -v                Show version information
Options:
  General
    --yes                         Cancel the prompt
  cspkg install
    --fix                         Fix broken dependencies
    --import                      Scanning local CovScript packages
    --show-avail                  Show available CovScript packages in remote source
  cspkg upgrade
    --retread                     Retread all local packages and their dependencies
  cspkg config
    --set         <Value>         Set a configuration key
    --app         <Value>         Append to a configuration key
    --unset                       Restore a configuration key to default
  cspkg build
    --install     [Package]...    Install a local package
    --compile     [Argument]...   Compile extension using CXX compiler
    --release     <Source URL>    Generate package index files for release
    --flat                        Don't create cspkg-repo directory structure
Local path: ~/.cspkg/config.json
{
	"arch": "x86_64",
	"home": "PATH-TO-COVSCRIPT-HOME",
	"source": "URL-OF-REPO;URL-OF-REPO",
	"proxy": "URL-OF-HTTP-PROXY",
	"timeout_ms": "3000"
}For fresh installment, you can run cspkg init to generate config file manually.
Typically a CSPKG repository is a HTTP(s) site in following structure:
- http://mirrors.covariant.cn/cspkg_v2/
- index.json
- index
- universal
- winucrt
- x86_64
- index.json
- xxx.json
 
 
- x86_64
- linux
- x86_64
- index.json
- xxx.json
 
 
- x86_64
- macos
- arm64
- index.json
- xxx.json
 
 
- arm64
 
- universal
- xxx.csp
 
- winucrt/x86_64
- xxx.cse
 
- linux/x86_64
- xxx.cse
 
- macos/arm64
- xxx.cse
 
 
You can also use local storage by setting source to URL like file:///path-to-your-local-repo/.
{
    "Name": "test",
    "Info": "Test Package",
    "Author": "Anonymous",
    "Version": "1.0.0",
    "Target": "URL to your package",
    "Dependencies": []
}
- Nameis the unique identifier of the package and cannot be repeated.
- Infois the description of your package, should be short in one sentence.
- Authoris the name of the package author.
- Versionis the version of your package, which will be sorted in lexicographical order.
- Targetis the URL of your file(- .cseor- .csp), you can use GitHub as your server.
- Dependenciesis an array of package names you depend on.
{
    "Name": "csdbc_mysql",
    "Info": "CSDBC MySQL Driver",
    "Author": "CovScript Organization",
    "Version": "1.0.0",
    "Target": "http://mirrors.covariant.cn/cspkg_v2/universal/csdbc_mysql.csp",
    "Dependencies": [
        "database",
        "codec",
        "csdbc",
        "regex"
    ]
}You can:
- Upload with your project file to GitHub or other VCS (Recommended!!!)
- Upload to dedicated server(mostly for releasing purpose)
If your package is written in Covariant Script, there's no need for extra building. But if you are writting an Covariant Script Extension, please follow CSBuild Instruction.
CSPKG provides lots commands for building and compiling. If you are writting an extension and have Source field configured in csbuild folders, you can use cspkg build --install for auto installation and cspkg build <FILE> --compile for single file compilation.
After that, you can use cspkg build --release <Source URL> for auto releasing, which can generate a legal file structural for your CSPKG source.
- Fork CSPKG Source GitHub Repository
- Fill the URL of your Package Description File to CSPKG Index File
- Universal Package(No platform dependency): cspkg/universal.json
- Platform Specified Package: cspkg/OS_Architectural.json
 
- Create new pull request
