Skip to content

Releases: GatorEducator/gatorgradle

v1.0.0 Release Candidate 1

20 Jul 03:44
41dc650
Compare
Choose a tag to compare

v0.5.2

19 Jul 19:19
Compare
Choose a tag to compare

Fix critical timeout bug

A null pointer was thrown under certain conditions in a separate Thread, and the exception was not reported back up the chain to the main Thread. This release fixes the cause of that null pointer.

v0.5.1

13 Jan 17:20
d6fd023
Compare
Choose a tag to compare

Add idcommand to handle user id collection

This PR adds an option to collect user info from a command in the config file. The user can determine it by adding the header idcommand: <command> to the config file.

This PR is a small update that fixes #67

Auto-generated by pr-tag-release

v0.5.0

03 Jan 16:56
Compare
Choose a tag to compare

This release adds a new report task, which should be run as: gradle --continue grade report. This sends a report of the executed grading checks to a configured endpoint, with the kind of information seen below. There are some additional considerations for this PR: the biggest one is how to identify each user, since there may not be a central identification paradigm. We currently use the configured Git email (which may be machine based), but in future updates this may change to allowing an environment variable to be specified in the config that we use as the user/id.

{
  "user": "[email protected]",
  "time": "2019-05-31T13:12:45.248750Z",
  "assignment": "gatorgrader-samplelab",
  "report": {
    "numberOfChecks": 4,
    "numberOfFailures": 2,
    "results": [
      {
        "check": "The reflection.md in writing has at least 6 word(s) in every paragraph",
        "outcome": false,
        "diagnostic": "Found 3 word(s) in a paragraph of the specified file"
      }, {
        "check": "The SampleLabMain.java in src/main/java/samplelab has exactly 2 matches of the 'new\\\\s+\\\\S+?\\\\(.*?\\\\)' regular expression",
        "outcome": true,
        "diagnostic": ""
      }, {
        "check": "The SampleLabMain.java in src/main/java/samplelab has at least 2 of the 'println(' fragment",
        "outcome": true,
        "diagnostic": ""
      }, {
        "check": "The SampleLabMain.java in src/main/java/samplelab has at least 3 multiple-line Java comment(s)",
        "outcome": false,
        "diagnostic": "Found 2 comment(s) in the specified file"
      }
    ]
  }
}

This release is a feature update that fixes #33.

Developers

@Michionlion
@enpuyou

v0.4.4

02 Sep 02:26
0bfaf0c
Compare
Choose a tag to compare

Implement startup front-matter and pure checks

This release/PR adds the startup front-matter variable, which is a single command given to the OS to execute before grading begins. Often this will be something like startup: ./config/startup.sh param1 to initialize something -- if only one command is needed, it can be as simple as startup: pipenv install. However, at this moment no environmental variables are supported, and the string does not go through bash so redirections, bashisms, or other shell-like features are not supported. Only executable followed by arguments will work.

Also a new addition are pure checks. These can be specified in the body like regular checks, and are denoted by (pure) in front of them. They are run exactly like the startup command is, so the same limitations apply. The context a pure command is in controls it's working directory; for example, the following configuration would run pipenv install on startup, and then pipenv run python test-python.py would be executed inside the src directory. Additionally a GatorGrader check is specified (in the old non-linter style) that evaluates the number of commits.

---
name: pipenv-test
break: true
fastfail: false
indent: 4
version: v0.2.0
startup: pipenv install
---
src:
    (pure) pipenv run python test-python.py
 
--commits 6

This release is a small update.

To see more examples, check out the java sample lab.

Auto-generated by pr-tag-release