Skip to content

为了 OI 比赛而生的基于 Lemon + LemonPlus 的轻量评测系统 | 三大桌面系统支持

License

Notifications You must be signed in to change notification settings

Project-LemonLime/Project_LemonLime

Repository files navigation

Project LemonLime (Beta)

为了 OI 比赛而生的基于 Lemon + LemonPlus 的轻量评测系统

A tiny judging environment for OI contest based on Lemon + LemonPlus

同时支持 Qt5 和 Qt6, 使用 -DLEMON_QT6=ON 以使用 Qt6 编译。

现已支持 Linux,Windows 以及 macOS

Linux Static

CPack - DEB - Debian CPack - DEB - Ubuntu

Windows

MacOS

Codacy Badge

AUR version AUR votes

Packaging status

曾在这些系统测试:

系统名称 版本号 架构 DE / WM
Windows 10 amd64 Untitled
Windows 11 amd64 Untitled
Manjaro 20.0.1 amd64 KDE-Xorg; i3WM
Arch 2021-07-11 amd64 KDE-Xorg
Arch 2020-10-31 amd64 KDE-Wayland
Ubuntu 20.04 amd64 GNOME 3
Ubuntu 18.04.4 amd64 GNOME 3
NOI Linux 2(Ubuntu) 20.04 amd64 GNOME 3
Linux Mint 19.3 amd64 Cinnamon
Deepin 15.11 amd64 DDE
Deepin 20 (1000) amd64 DDE
Debian 10.3.0 amd64 LXQt; KDE-Xorg
Fedora 31-1.9 amd64 XFCE
openSUSE Leap 15.1 amd64 iceWM
openSUSE Tumbleweed amd64 KDE-Xorg
macOS 15.2 Beta arm64 Aqua

如果您在您的系统上做了测试,请前往 #49 告知。

特色

以下是一些非常重要的改动:

  • Lemon 绿了!
  • LemonLime 现在支持 4 种题目类型:传统题、提交答案题、交互题,以及通信题(2 种:一种是选手只完成部分函数,一种是选手要写多个完整程序)。不过交互题和通信题暂时只确保 C++ 的支持。
  • 现在在选手栏中,每个选手的每个题目都可以单独选择,而不是只能一行一行地选。现在你可以方便地重测某道题,还支持一键测试未测试/未找到源文件/编译错误等操作。
  • 原先的 Lemon 的重测制度因为过于耗时而被废弃。现在,你可以自定义最大的重新评测次数。
  • 自带的实数比较模式现在将同时比较绝对误差和相对误差,并且对 naninf 做出了判断。
  • 在 Linux 下,默认的栈空间设置为和内存限制相同。
  • 自定义测试被移除。

这里是一些值得称道的新功能:

  • 现在你可以给每个测试点设置子任务依赖,而不是像以前把同一个数据加到一个又一个测试点中。
  • 在题目概要栏右键题目,可以进入增强测试点调整器。CCR 的出色功能,现在 LemonLime 也支持了。(这个功能还在测试阶段,小心使用!)
  • 增加统计栏目,对比赛分数数据进行简要的分析。还需要很多的更新。
  • 新增的整理文件功能,可以使所有的选手的子文件夹内外都有答案文件,并且删除大部分无用文件。支持在这之前备份文件。
  • 你也可以对每一个题目,选择是在子文件夹内寻找源文件还是子文件夹外。
  • 多线程评测(实验中)

还有一些令人舒适的小变化:

  • 支持高 DPI。
  • 颜色主题:选手名单上的成绩将会有背景颜色,随着分数变化而变化。导出的 HTML 文件也有颜色。默认 2 种主题来自 IOI 和 JOI。主题支持自定义。
  • 各种评测结果在评测时界面、结果查看界面和导出的 HTML 文件有了易于区分的不同的颜色。
  • 支持重新排列题目顺序。在有些时候它很重要。
  • 支持重命名比赛。
  • 手动保存比赛、打开比赛目录(在 文件 菜单栏中)。
  • 窗口下方新增提示栏。

以及,一点小细节:

  • 如果你在某个点得分了,那么在测试时的窗口会显示获得的分数、使用的时间和空间。
  • 逐行比较模式现在可以显示出错位置的行号了。
  • 减小了导出 HTM 的体积,并且给 HTML 添加了更多跳转。
  • 自动添加试题的时候每个点的分数不再是下取整 (总分 / 数据点个数)。
  • 改动了图标和启动横幅。
  • 无处不在的界面优化。

安装

Windows

可以在 Release 或者 GitHub Actions 处自行取用预构建包。

macOS

可以在 Release 或者 GitHub Actions 处自行取用预构建包,也可以从 Homebrew Cask 安装。

对于 Apple Silicon 用户,不保证其使用或评测稳定性

brew install lemonlime --cask

Debian && Ubuntu

我们提供预编译的 deb 包,但是因为依赖问题有时无法提供,此时可使用静态链接版本

Arch Linux

请从 Arch Linux CN 非官方仓库安装或从 AUR 自行编译。

注意包含一个名为 lemon-lime-debug 的调试信息包,报告崩溃等错误时请务必安装。

Nix

已经进入 Nix Unstable 仓库

使用 nix-env -iA nixpkgs.project-lemonlime 安装

静态链接版本(即无后缀名的单独的可执行文件)

可以在 Release 或者 GitHub Actions 处自行取用。

chmod +x <filename> 后直接执行

构建

请看 LemonLime 构建指南

Credit

Copyright (c) 2019-2022 Project LemonLime.

Libraries and other files that have been used in LemonLime are listed below:

Copyright (c) 2020 Itay Grudev (@itay-grudev): SingleApplication (MIT)

Copyright (c) 2020 Qv2ray Development Group (@Qv2ray): Design of Translator/Log, Project Structure and CI files (GPLv3)