Welcome to CDOJ Home page.
This is a online judge system for ACM/ICPC
, and it currently runs at UESTC ACM Online Judge.
How to run the project in your own computer?
First of all, you need a i686 Linux
and install openjdk8
, gradle 4.4
and mysql5.5+
in your PC.
NOTE: version gradle
should not equal to or greater than 4.6
because of a jacoco issue.
On the other hand, you need to install py-lrun-core first, by cloning the source code then run.
Then you can fetch sources from our repository, and run the commond below.
Edit gradle.properties
Build project
Run jetty server
After that, you can visit localhost:8080 to get running demo.
How to help to enhance our project?
Version control system
We use git
to do version control. For ALL developers, the first thing you should do is forking this project, and you can get the backup of this project in your own project list. Then you should set the upstream url for you own project:
git remote add upstream https://github.com/UESTC-ACM/CDOJ.git
git pull upstream master
When you need push your commits, please use Pull Request
to do that, and we will review the changes.
Workflow overview
Set upstream
-> Pull newest code from upstream
-> Modify code
-> Pull newest code from upstream
-> Pull request to merge your code to master branch
-> Admin accepted
.
Before you send out a pull request, please use git pull upstream master
sync your workspace.
NOTE: DON’‘T work on master
branch, please checkout a new branch with a name that can simply describe your working purpose for your working.
Project tools
DTO builder
Tool path
/branches/tools/gen_dto.py
Usage
User command line:
Or you can also use this command line:
Example
Be careful
the types
and fields
are joined by ,
and there are no white spaces in types
and fields
.
Authors and Contributors
Project owners: Ruins He(@ruinshe) and Yun Li(@mzry1992).