Skip to content

CLI Package

lanrongqi edited this page Feb 9, 2021 · 6 revisions

题包管理

NAME:
   Deer Executor - problem package manager

USAGE:
   deer-executor package command [command options] [arguments...]

COMMANDS:
   build    build problem package
   unpack   unpack problem package
   info     show problem package info
   help, h  Shows a list of commands or help for one command

OPTIONS:
   --help, -h  show help (default: false)

子命令

build 打包一个可以独立运行评测的题目数据包


NAME:
   Deer Executor - build problem package

USAGE:
   deer-executor package build [command options] configs_file output_file

OPTIONS:
   --sign, -s                                                   Enable digital sign (GPG) (default: false)
   --gpg-key value, --key value                                 GPG private key file
   --passphrase value, -p value, --password value, --pwd value  GPG private key passphrase
   --zip, -z                                                    Package as a zip file (default: false)
   --help, -h                                                   show help (default: false)

默认的工作目录是以configs_file所在的目录,即work_dir := path.Dir(configs_file)。打包功能会将工作文件夹内的所有文件和文件夹(bin除外),封装成一个独立的题包文件。

因为不能预知这个题包会在什么样的操作系统环境上运行,所以原则上不建议在题包里存放编译好的二进制文件。在出题的时候,你可以使用problem工具来进行编译,编译结果将存放在工作目录下的bin文件夹里。而在运行评测时,deer-executor会自动进行相关编译工作。

参数列表

configs_file 题目的配置文件所在路径 output_file 题包输出路径

选项参数说明

  • --sign 对试题包进行GPG签名
  • --gpg-key <GPG私钥文件> 设置GPG私钥文件的地址
  • --passphrase 密码 通过参数告知GPG私钥的密码(如果你在命令行里操作,出于安全考虑建议不要使用这个参数)
  • --zip 打包题目数据包为Zip格式,便于兼容。使用这个模式时, configs_file路径中的文件名必须是problem.json

unpack 解压题包到文件夹


NAME:
   Deer Executor - unpack problem package

USAGE:
   deer-executor package unpack [command options] package_file output_dir

OPTIONS:
   --no-validate  disable package validation (default: false)
   --help, -h     show help (default: false)

参数列表

package_file 题包文件所在路径 output_dir 题目包输出路径

选项参数说明

  • --no-validate 解包时不进行签名校验

info 查看题包内的评测信息


NAME:
   Deer Executor - show problem package info

USAGE:
   deer-executor package info [command options] package_file

OPTIONS:
   --gpg       output GPG signature info (default: false)
   --help, -h  show help (default: false)

参数列表

package_file 题包文件所在路径

选项参数说明

  • --gpg 仅查看签名信息