Difference between revisions of "Contest.yaml"
m (→Short Form: add desc) |
m (→Long Form: add new example) |
||
Line 75: | Line 75: | ||
active: true | active: true | ||
− | + | ||
− | + | languages: | |
− | + | ||
− | + | - name: 'Java' | |
− | + | active: true | |
− | - name: | + | compilerCmd: 'javac {:mainfile}' |
+ | exemask: '{:basename}.class' | ||
+ | execCmd: 'java {:basename}' | ||
+ | runner: 'java' | ||
+ | runner-args: '{:basename}' | ||
+ | interpretedfalse | ||
+ | use-judge-cmd: true | ||
+ | judge-exec-cmd: 'java {:basename}' | ||
+ | |||
+ | - name: 'GNU C' | ||
+ | active: true | ||
+ | compilerCmd: 'gcc -lm -o {:basename}.exe {:mainfile}' | ||
+ | exemask: '{:basename}.exe' | ||
+ | execCmd: '.\{:basename}.exe ' | ||
+ | runner: '.\{:basename}.exe' | ||
+ | runner-args: '' | ||
+ | interpretedfalse | ||
+ | use-judge-cmd: true | ||
+ | judge-exec-cmd: '{:basename}.exe' | ||
+ | |||
+ | - name: 'GNU C++' | ||
active: true | active: true | ||
− | compilerCmd: | + | compilerCmd: 'g++ -lm -o {:basename}.exe {:mainfile}' |
− | exemask: {:basename}. | + | exemask: '{:basename}.exe' |
− | execCmd: | + | execCmd: '.\{:basename}.exe ' |
− | runner: | + | runner: '.\{:basename}.exe' |
− | runner-args: | + | runner-args: '' |
+ | interpretedfalse | ||
+ | use-judge-cmd: true | ||
+ | judge-exec-cmd: '{:basename}.exe' | ||
− | - name: | + | - name: 'Python' |
active: true | active: true | ||
− | compilerCmd: | + | compilerCmd: 'python3 -m py_compile {:mainfile}' |
− | exemask: | + | exemask: '' |
− | execCmd: | + | execCmd: 'python3 {:mainfile}' |
− | runner: | + | runner: 'python3' |
− | runner-args: | + | runner-args: '{:mainfile}' |
+ | interpretedtrue | ||
+ | use-judge-cmd: true | ||
+ | judge-exec-cmd: 'python {:mainfile}' | ||
− | - name: | + | - name: 'Python 3' |
active: true | active: true | ||
− | compilerCmd: | + | compilerCmd: 'python3 -m py_compile {:mainfile}' |
− | exemask: | + | exemask: '' |
− | execCmd: | + | execCmd: 'python3 {:mainfile}' |
− | runner: | + | runner: 'python3' |
− | runner-args: | + | runner-args: '{:mainfile}' |
+ | interpretedtrue | ||
+ | use-judge-cmd: true | ||
+ | judge-exec-cmd: 'python3 {:mainfile}' | ||
===problemset=== | ===problemset=== |
Revision as of 06:39, 23 October 2015
A contest.yaml file contains information to configure a contest.
Contents
Contents of contest.yaml
For the current CCS specification for a contest.yaml see contest.yaml
Key | Description |
---|---|
name | Name of contest |
short-name | Short name of contest |
start-time | Date and time in ISO 8601 format (wall-clock time that the contest starts) |
duration | Duration as h:mm:ss (length of contest, in contest time) |
scoreboard-freeze | Time when scoreboard will be frozen in contest time as h:mm:ss |
default-clars | Sequence of pre-defined clarification answers. The first will be pre-selected |
clar-categories | Sequence of categories for clarifications. |
languages | List of mappings with keys for languages. |
problemset | List of mappings with keys for problems. (see problem.yaml) |
Example
# Contest Configuration, version 1.0 # PC^2 Version: Version 9.3 20110918 (Sunday, September 18th 2011 23:51 UTC) Java ver 1.6.0_20 build 2345 Windows XP 5.1 (x86) # Created: 2011-09-18 18:05:40 PDT name: Sumit Hello Sample short-name: elapsed: 0:00:00 remaining: 5:00:00 running: false scoreboard-freeze: languages: - name: Java active: true - name: Perl active: true - name: GNU C++ active: true - name: GNU C active: true problemset: - letter: A short-name: hello - letter: B short-name: sumit # EOF Contest Configuration
languages
Short Form
The short form will add a language with the pc2 default settings.
languages: - name: Java active: true
languages:
- name: 'Java' active: true compilerCmd: 'javac {:mainfile}' exemask: '{:basename}.class' execCmd: 'java {:basename}' runner: 'java' runner-args: '{:basename}' interpretedfalse use-judge-cmd: true judge-exec-cmd: 'java {:basename}' - name: 'GNU C' active: true compilerCmd: 'gcc -lm -o {:basename}.exe {:mainfile}' exemask: '{:basename}.exe' execCmd: '.\{:basename}.exe ' runner: '.\{:basename}.exe' runner-args: interpretedfalse use-judge-cmd: true judge-exec-cmd: '{:basename}.exe' - name: 'GNU C++' active: true compilerCmd: 'g++ -lm -o {:basename}.exe {:mainfile}' exemask: '{:basename}.exe' execCmd: '.\{:basename}.exe ' runner: '.\{:basename}.exe' runner-args: interpretedfalse use-judge-cmd: true judge-exec-cmd: '{:basename}.exe' - name: 'Python' active: true compilerCmd: 'python3 -m py_compile {:mainfile}' exemask: execCmd: 'python3 {:mainfile}' runner: 'python3' runner-args: '{:mainfile}' interpretedtrue use-judge-cmd: true judge-exec-cmd: 'python {:mainfile}' - name: 'Python 3' active: true compilerCmd: 'python3 -m py_compile {:mainfile}' exemask: execCmd: 'python3 {:mainfile}' runner: 'python3' runner-args: '{:mainfile}' interpretedtrue use-judge-cmd: true judge-exec-cmd: 'python3 {:mainfile}'
problemset
The list of problems defs in the problemset determines the number and order of the problems defined in a contest.
Each problemset problem definition has a short-name which is also called the problem short name. The problem short name is the name of a directory where the rest of the problem settings are stored. For more information about those files and their contents see the article Problem Format.
The problem short name (short-name) directory is expected to be in the same directory as the contest.yaml file.
Name | Description | Example |
---|---|---|
letter | letter used to identify problem | G |
short-name | problem short name (directory name for files, see Problem Format) | fizbuzz |
color | (optional) name of the color for the balloon | Muave |
rgb | (optional) the RGB color for the ballon | #0000ff |
An example of a problemset section
problemset: - letter: A short-name: apl color: yellow rgb: #ffff00 - letter: B short-name: barcodes color: red rgb: #ff0000 - letter: C short-name: biobots color: green rgb: #00ff00 - letter: D short-name: castles color: blue rgb: #0000ff - letter: E short-name: channel color: white rgb: #ffffff
PC² specific keys and values
The article CCS Enhancements describes these entries in more detail.
Section | Description |
---|---|
sites | Sequence of mappings for Site information |
accounts | set of accounts to generate (same functionality as Generate Accounts) |
auto judge | Define Auto Judge assignments/settings |
replay | automatic Replay of previous contest feature |
Example
accounts: - account: TEAM site: 1 count: 20 - account: JUDGE site: 1 count: 8 - account: SCOREBOARD site: 1 count: 1 sites: - number: 1 name: Site 1 IP: 130.86.67.202 port: 50002 password: siteone - number: 2 name: Site 2 IP: 130.86.67.201 port: 50002 auto-judging: - account: JUDGE site: 1 number: 2 letters: A enabled: yes - account: JUDGE number: 4,5,6 letters: B,C,D - account: JUDGE site: 2 number: all letters: B,C,D - account: JUDGE site: 1 number: 1,3 letters: F enabled: no
Creating contest.yaml
A contest.yaml, problem.yaml and data files can be saved using either:
- the Export Contest YAML feature
- or use the Export Contest XML Report
Loading contest.yaml
Use the Admin Import CCS tab, Import contest.yaml button.