From 405e2dbd566b848f54fe7169da166332731380d3 Mon Sep 17 00:00:00 2001 From: MeiK2333 Date: Fri, 6 Nov 2020 14:03:29 +0800 Subject: [PATCH] Update --- .dockerignore | 6 ++++++ Dockerfile | 6 +++--- README.md | 1 + plugins/build.sh | 3 +-- runner/.gitignore | 3 +++ runner/package.json | 15 +++++++++++++++ runner/tsconfig.json | 15 +++++++++++++++ src/judger.rs | 1 + 8 files changed, 45 insertions(+), 5 deletions(-) create mode 100644 .dockerignore create mode 100644 runner/package.json create mode 100644 runner/tsconfig.json diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..786beea --- /dev/null +++ b/.dockerignore @@ -0,0 +1,6 @@ +example +node_modules +.git +target +nohup +README.md diff --git a/Dockerfile b/Dockerfile index efb0113..0c706ea 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,12 @@ FROM rust:latest as builder +RUN rustup component add rustfmt --toolchain 1.47.0-x86_64-unknown-linux-gnu + COPY . /river WORKDIR /river -RUN rustup component add rustfmt --toolchain 1.47.0-x86_64-unknown-linux-gnu && \ - cargo build --release - +RUN cargo build --release FROM ubuntu:18.04 diff --git a/README.md b/README.md index e0cfa28..b998dc3 100644 --- a/README.md +++ b/README.md @@ -25,3 +25,4 @@ python3 main.py - docker 部署 - 更多语言支持 - 使用配置文件配置语言 +- 使用环境变量等机制自定义评测目录 diff --git a/plugins/build.sh b/plugins/build.sh index 33f64ed..758abe0 100755 --- a/plugins/build.sh +++ b/plugins/build.sh @@ -5,8 +5,7 @@ echo "Hello World!" mkdir -p /river/runner # 运行的上层目录创建 node_modules,以便 Node 与 TypeScript 使用 cd /river/runner -npm init -y -npm i @types/node +npm i cd /plugins/js npm install diff --git a/runner/.gitignore b/runner/.gitignore index 5e7d273..40e8ccd 100644 --- a/runner/.gitignore +++ b/runner/.gitignore @@ -2,3 +2,6 @@ * # Except this file !.gitignore +!package.json +!tsconfig.json + diff --git a/runner/package.json b/runner/package.json new file mode 100644 index 0000000..a48dc86 --- /dev/null +++ b/runner/package.json @@ -0,0 +1,15 @@ +{ + "name": "river", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "@types/node": "^14.14.6" + } +} diff --git a/runner/tsconfig.json b/runner/tsconfig.json new file mode 100644 index 0000000..c5c038b --- /dev/null +++ b/runner/tsconfig.json @@ -0,0 +1,15 @@ +{ + "compileOnSave": true, + "compilerOptions": { + "module": "commonjs", + "target": "ESNext", + "skipLibCheck": true, + "strict": false, + "resolveJsonModule": true, + "esModuleInterop": true, + "noErrorTruncation": true, + "allowSyntheticDefaultImports": true, + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + } +} diff --git a/src/judger.rs b/src/judger.rs index 24fc77f..34de440 100644 --- a/src/judger.rs +++ b/src/judger.rs @@ -63,6 +63,7 @@ pub async fn judger( if request.language == Language::Java as i32 || request.language == Language::Go as i32 || request.language == Language::Node as i32 + || request.language == Language::TypeScript as i32 { runner.memory_limit = -1; runner.traceme = false;