kit-sdq / intelligrade

IntelliJ-Plugin for grading with the artemis project
Eclipse Public License 2.0
8 stars 2 forks source link

Major refactor, including update to Java 21, new IntelliJ Gradle Plugin, single-workspace model, and Artemis4j 2.0 #37

Closed Feuermagier closed 1 month ago

Feuermagier commented 2 months ago

I've taken the opportunity to do a few upgrades/refactors:

There are still many rough edges, but the basic locking - grading - submitting workflow already works just as it did before. Also, I would prefer if we could move away from JFormDesigner. I don't really see the value for the simple UIs that we create, it requires a (trial) license, and I find it to be incredibly finicky to use. What do you think @CDaut @dfuchss ?

dfuchss commented 2 months ago

Also, I would prefer if we could move away from JFormDesigner. I don't really see the value for the simple UIs that we create, it requires a (trial) license, and I find it to be incredibly finicky to use. What do you think @CDaut @dfuchss ?

I agree .. if we can use the designer of IntelliJ (for example) that would be fine. I like that the UI is not coded manually .

Can we use that for IntelliJ plugins ? https://www.jetbrains.com/help/idea/design-gui-using-swing.html#sections-of-a-form

dfuchss commented 2 months ago

Upgrade of Artemis4j. I'm currently using a locally installed version of it, since the most recent version isn't published yet, so CI builds will fail for now

The most recent version should be in the snapshot repo. You may have to add it to the repositories

Luro02 commented 2 months ago

I wasn't asked, but I will make PRs to this repo in the future, so

Also, I would prefer if we could move away from JFormDesigner. I don't really see the value for the simple UIs that we create, it requires a (trial) license, and I find it to be incredibly finicky to use

I agree with this one. This is the main reason I haven't yet done anything for intelligrade. I don't want to download some extra tool for adjusting the ui.

Feuermagier commented 2 months ago

The plugin should now be in a usable state. If you have time, please test it as soon as possible! Grading of the final tasks starts the week after this, and until then the plugin needs to work!. The implementation is quite rushed and certainly not up to the standard that we want from our tooling, but it should work well enough for now.

Testing

You can use the one remaining submission on the test's systems Artemis4J-Test course / artemis4j task for testing. Please remember to delete your assessment after that: Go https://artemis-test.sdq.kastel.kit.edu/course-management/9/programming-exercises/42/participations/144/submissions, and delete the SECOND assessment of submission 538 (the last one).

Clone the repository, switch to the refactor branch, and execute ./gradlew runIde. This will download about 700MB of data (mainly for IntelliJ itself), and then launch an IDE instance. If the Welcome to IntelliJ IDEA screen pops up, simply create a new empty project and open it. This will be the grading workspace. Set the Artemis URL at File > Settings > Tools > IntelliGrade Settings, and press the connect button.

The tool window to the left with the pen icon is the grading window, and the tool window with the sheet of paper icon to the bottom left is the annotations list.

Differences to the old Grading Tool

And probably many more that I can't think of right now.

Currently untested

Still missing

dfuchss commented 2 months ago

@uuqjz @tsaglam we need to test this (best: tomorrow)

sonarcloud[bot] commented 1 month ago

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
0.0% Coverage on New Code
0.0% Duplication on New Code

See analysis details on SonarCloud