mirror of
https://gitlab.uni-marburg.de/langbeid/powersort.git
synced 2025-02-23 00:45:22 +01:00

Renamed packages to follow a consistent naming convention (`de.uni_marburg.powersort.msort`). Adjusted imports and references accordingly. Changed `MERGE_COST` visibility from private to protected for broader accessibility.
Bring Powersort to Java
Gradle
Setup
Dependencies (JDK23, Gradle, IntelliJ) can be installed by running nix-shell
.
Commandline
Check which Java toolchains Gradle finds:
./gradlew javaToolchains
This should include version >= 23, e.g.:
+ N/A JDK 23-ga
| Location: /nix/store/48290hnlb13xmwjw9y16a1s785993bv7-openjdk-23-ga/lib/openjdk
| Language Version: 23
| Vendor: N/A
| Architecture: amd64
| Is JDK: true
| Detected by: Current JVM
IntelliJ
When using nix-shell
, some configuration is necessary:
- STRG ALT SHIFT s -> SDK -> add JDK ->
- home path: /usr/lib/openjdk
- name: usr-lib-jdk
- STRG ALT s -> build tools -> gradle ->
- local installation: /usr/lib/gradle
- Gradle JVM: usr-lib-jdk
Tasks
List all Gradle tasks which can be run:
./gradlew tasks
This can also be done graphically in IntelliJ:
Test Cases
Run the task "test":
./gradlew test
TimSort
Imported from
- src/java.base/share/classes/java/util/TimSort.java
- src/java.base/share/classes/java/util/ComparableTimSort.java
Languages
Java
97.5%
Nix
2.5%