Skip to content

otofu7741/scoring-assistant

Repository files navigation

Scoring-Assistant

概要

manabaで提出されたjavaとjar、cの課題を実行して、実行結果を取得するツール

利用環境

  • javaコマンド
  • gcc
  • python=3.11
    • 利用ライブラリはpyproject.tomlまたはrequirements.txtを参照

環境構築

uvがインストールされている場合

  1. pyproject.tomluv.lockがあるディレクトリに移動
  2. uv syncを実行

uvを利用しない場合

  1. requirements.txtがあるディレクトリに移動
  2. pip install -r requirements.txtを実行

使い方

  1. report-12345のような構造のディレクトリを対象にし、対象内に各種情報を記載したsettings.jsonを配置する
    test/
    ├── report-12345
    │   ├── result.txt
    │   ├── settings.json
    │   ├── user-01
    │   │   ├── Arith.java
    │   │   ├── InputLoop.java
    │   │   ├── ListLibArray.jar
    │   │   ├── ListSample.java
    │   │   ├── PhoneNumbers.java
    │   │   ├── report02-1.c
    │   │   └── report02-2.c
    │   └── user-02
    │       ├── Arith.java
    │       ├── InputLoop.java
    │       ├── ListLibArray.jar
    │       ├── ListSample.java
    │       ├── PhoneNumbers.java
    │       ├── report02-1.c
    │       └── report02-2.c
    └── share
        ├── Cell.java
        └── phones.csv
    
  2. main.pyを実行する。
    python main.py ./test/report-12345
  3. [path-to-target-directory]の直下にresult.txtが出力される

settings.jsonについて

基本はjson-schema.jsonを確認

名前 説明 必須
tasks array 各種課題
tasks/name string ファイル名
tasks/lang string ファイルの言語
tasks/inputs array 標準入力たち
tasks/inputs/input string 標準入力を文字列で記述、改行スペース可
tasks/args array 実行時引数たち
tasks/args/arg array[string] 実行時引数を配列で記述

About

manabaで提出されたjava,jarの課題を実行するツール

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors