# Bring Powersort to Java ## Gradle ### Setup Dependencies (JDK23, Gradle, IntelliJ) can be installed by running `nix-shell`. **Commandline** Check which Java toolchains Gradle finds: ```shell ./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: ```shell ./gradlew tasks ``` This can also be done graphically in IntelliJ: ![intellij-gradle.png](intellij-gradle.png) ### Test Cases Run the task "test": ```shell ./gradlew test ``` ## TimSort Imported from - src/java.base/share/classes/java/util/TimSort.java - src/java.base/share/classes/java/util/ComparableTimSort.java