MIT License

项目介绍

dj3500/hightail 是一个托管在 GitHub 上的开源项目,主要使用 Java 编写,采用 MIT License 许可证,目前获得 264 个 Star、140 次 Fork。

仓库全名
dj3500/hightail
开源许可证
MIT License
Star 数
264
Fork 数
140
未关闭 Issue
48

README 摘要

Hightail Downloads Hightail is an automatic tester for programming contests such as CodeForces rounds. It will parse the problem statement, extract sample test cases (inputs and outputs) from it, and verify the correctness of your program against them. It is built to provide maximum automation and to relieve the contestant as much as possible. A list of Hightail's features: parsing problem statements parsing entire…

完整内容见 GitHub 原始 README 或本页 。

常见问题

hightail 用什么语言开发?

主要使用 Java 编写,采用 MIT License 许可证,目前有 264 个 Star。

hightail 可以免费商用吗?

仓库采用 MIT License 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 hightail 的源码?

可以直接克隆仓库:git clone https://github.com/dj3500/hightail.git,默认分支为 master;安装与运行步骤见仓库 README。

hightail 最近还在维护吗?

仓库最近一次更新为 2021年5月15日,当前有 48 个未关闭 Issue;Star 数为 264,可作为社区活跃度的参考。

简要分析

热度分
559
价值分
199
活跃状态
活跃

语言占比

Java

Release

README

Hightail

Downloads

Hightail is an automatic tester for programming contests such as CodeForces rounds. It will parse the problem statement, extract sample test cases (inputs and outputs) from it, and verify the correctness of your program against them. It is built to provide maximum automation and to relieve the contestant as much as possible.

A list of Hightail’s features:

  • parsing problem statements
  • parsing entire contests (autoloading all problems)
  • scheduling contest parsing ahead of time
  • ability to comfortably view, edit and add test cases
  • handling of all verdicts: WA, TLE, RE, even AC
  • customizable time limits
  • ability to create in/out files in your working directory
  • detection of floating point values (comparing 0.1 vs. 0.10 does not give WA)
  • easy-to-use UI, keyboard shortcuts
  • resilient: it is multi-threaded so it will not let your program hang it; it will withstand large amounts of output from your program
  • support for all contest languages (C++, Java, Python, …)
  • written in Java and should run on any OS

It supports the following online judges:

  • CodeForces (incl. Gym)
  • CodeChef (experimental)
  • AtCoder (now also live-running contests!)
  • Jutge.org
  • Open Kattis

Additionally, the Competitive Companion browser extension can be used to parse problems and contests from the browser. It is available for Chrome and Firefox. It supports many more online judges than the above (Google Code Jam, Facebook Hacker Cup, …). Just install the browser extension, run Hightail, go to a problem/contest, and click the green plus button in your browser - it should parse and load into Hightail.

We do not plan on supporting the TopCoder Arena: it is a different architecture, and there are a lot of good plugins available for it. Also, if you use Java for contests, we recommend to take a look at Egor Kulikov’s CHelper for IntelliJ IDEA.

Screenshots and screencasts

Screenshot of Hightail Screenshot of Hightail

Short video of using Competitive Companion to parse tasks from the browser.

Hightail also appears in dj3500’s screencasts. See this one for an example.

How do I get Hightail?

To get a fairly up-to-date version - in the form of a .jar file which is ready to run if you have Java (JRE) installed - visit Downloads. Just save it somewhere on your computer and run it from there. It will create a config file in its directory.

~An alternative way, if you’re on Linux and have snap installed, is to run sudo snap install --edge hightail. Then Hightail should auto-update every day (to the latest code from the master branch).~ (currently this is broken)

You may also compile Hightail from source code using the instructions below (and then you will also be able to work on the code, e.g. to help in development), or by following http://codeforces.com/blog/entry/6941#comment-125761 (which might be a little easier - or not).

How to download the code and work on Hightail?

Hightail is developed in NetBeans (the UI in particular) and it is highly advisable to use it.

  1. Download and install NetBeans (also JDK if you don’t have it; there’s a bundled version available). I have used NetBeans 8.0 (and Windows) for this tutorial.
  2. While it’s installing, sign up on Github if you don’t have an account. Go to https://github.com/dj3500/hightail and fork the repository (using the Fork button).
  3. Fire up NetBeans and select Team -> Git -> Clone; Repository URL: https://github.com/YOURUSERNAME/hightail.git/, also enter your Github username and password and select Save password; Next, Next, Finish.
  4. If it says “Hightail project was cloned. Do you want to open the project?”, select Open Project. If it doesn’t, or says something else (like prompting you to “Create a project”), cancel and open the imported project yourself (File -> Open Project).
  5. Change stuff, test, build, run, etc.
  6. Once you have a working change: Team -> Commit, enter a commit description, Commit. Keep in mind that with Git, commits are only local. You can continue to make new commits. When you want to push your tree (of commits) to Github, select Team -> Remote -> Push To Upstream. The changes will be now publicly visible in your GitHub repository.
  7. When you want to submit your changes to dj3500 for testing and review (please do test them thoroughly beforehand, though), create a pull request (from the web interface at https://github.com/YOURUSERNAME/hightail). The pull request model is documented at https://help.github.com/articles/using-pull-requests.

It is better to use branches for different features, and read up on Git in general, but the above should be enough to get you started.

Ways you can help

Hightail is a community project, developed by volunteers. We’d love for you to join in the effort.

  • It couldn’t hurt to make Hightail more popular. If you use it, consider putting a comment in the code of your solutions, like // tested by Hightail - https://github.com/dj3500/hightail. Also, tell your friends.
  • There is a list of known problems and possible enhancements that you can work on fixing here: https://github.com/dj3500/hightail/issues?state=open. Many of them will be easy or fast to solve, they just need a little attention :)
  • You can also report new issues or give new ideas.
  • The project does not currently need any donations.

There is also a discussion topic on CodeForces (here).

Contributors

The project was started and is maintained by Jakub Tarnawski (dj3500). A large amount of work was done by contributors, some of whom are listed here and others include Piotr Szcześniak and Robert Rosołek - thank you so much!

评论

暂无评论