Round 263: Gradle ext, Maven ext, sbt ext, Mill ext, Leiningen ext (20 commands)

ober

cc5499dad15cbb9d6cc941aeb53a9a7c641c7e9a

diff --git a/docs/jemacs-vs-emacs.md b/docs/jemacs-vs-emacs.md
index 35decd8..3e6fe88 100644
--- a/docs/jemacs-vs-emacs.md
+++ b/docs/jemacs-vs-emacs.md
@@ -4583,6 +4583,31 @@ No remaining Tier 1 gaps. All core editing, completion, and navigation features 
 | ebib-import-file | :orange_circle: | Import file into Ebib |
 | ebib-push-citation | :orange_circle: | Push Ebib citation to buffer |
 
+### Round 263 — Gradle ext, Maven ext, sbt ext, Mill ext, Leiningen ext
+
+| Command | Status | Description |
+|---------|--------|-------------|
+| gradle-run | :orange_circle: | Run Gradle task |
+| gradle-clean | :orange_circle: | Clean Gradle project |
+| gradle-dependencies | :orange_circle: | List Gradle dependencies |
+| gradle-publish | :orange_circle: | Publish Gradle artifacts |
+| maven-compile | :orange_circle: | Compile with Maven |
+| maven-test | :orange_circle: | Test with Maven |
+| maven-package | :orange_circle: | Package with Maven |
+| maven-install | :orange_circle: | Install to local Maven repo |
+| maven-deploy | :orange_circle: | Deploy Maven artifacts |
+| sbt-compile | :orange_circle: | Compile with sbt |
+| sbt-test | :orange_circle: | Test with sbt |
+| sbt-run | :orange_circle: | Run sbt main class |
+| sbt-clean | :orange_circle: | Clean sbt project |
+| sbt-publish | :orange_circle: | Publish sbt artifacts |
+| mill-compile | :orange_circle: | Compile with Mill |
+| mill-test | :orange_circle: | Test with Mill |
+| mill-run | :orange_circle: | Run Mill main class |
+| mill-clean | :orange_circle: | Clean Mill project |
+| lein-run | :orange_circle: | Run Leiningen project |
+| lein-test | :orange_circle: | Test with Leiningen |
+
 ### Round 262 — Turborepo ext, Nx ext, Buck2 ext, Pants ext, Gradle ext
 
 | Command | Status | Description |
diff --git a/src/jerboa-emacs/editor-extra-final.ss b/src/jerboa-emacs/editor-extra-final.ss
index 664618d..bfc9045 100644
--- a/src/jerboa-emacs/editor-extra-final.ss
+++ b/src/jerboa-emacs/editor-extra-final.ss
@@ -21133,4 +21133,46 @@
 
 (def (cmd-gradle-test app)
   (let* ((echo (app-state-echo app)))
-    (echo-message! echo "Gradle: running tests")))
\ No newline at end of file
+    (echo-message! echo "Gradle: running tests")))
+
+;;; Round 263 — sbt ext, Mill ext, Leiningen ext (batch 2)
+
+(def (cmd-sbt-test app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "sbt: running tests")))
+
+(def (cmd-sbt-run app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "sbt: running main class")))
+
+(def (cmd-sbt-clean app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "sbt: cleaning project")))
+
+(def (cmd-sbt-publish app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "sbt: publishing artifacts")))
+
+(def (cmd-mill-compile app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Mill: compiling project")))
+
+(def (cmd-mill-test app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Mill: running tests")))
+
+(def (cmd-mill-run app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Mill: running main class")))
+
+(def (cmd-mill-clean app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Mill: cleaning project")))
+
+(def (cmd-lein-run app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Leiningen: running project")))
+
+(def (cmd-lein-test app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Leiningen: running tests")))
\ No newline at end of file
diff --git a/src/jerboa-emacs/editor-extra-modes.ss b/src/jerboa-emacs/editor-extra-modes.ss
index 334ac5a..416f3a5 100644
--- a/src/jerboa-emacs/editor-extra-modes.ss
+++ b/src/jerboa-emacs/editor-extra-modes.ss
@@ -21752,3 +21752,47 @@
       (lambda (target)
         (echo-message! echo (str "Buck2: testing " target))))))
 
+;;; Round 263 — Gradle ext, Maven ext, sbt ext, Mill ext, Leiningen ext (batch 1)
+
+(def (cmd-gradle-run app)
+  (let* ((echo (app-state-echo app)))
+    (echo-read-string echo "Task: "
+      (lambda (task)
+        (echo-message! echo (str "Gradle: running " task))))))
+
+(def (cmd-gradle-clean app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Gradle: cleaning project")))
+
+(def (cmd-gradle-dependencies app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Gradle: listing dependencies")))
+
+(def (cmd-gradle-publish app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Gradle: publishing artifacts")))
+
+(def (cmd-maven-compile app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Maven: compiling project")))
+
+(def (cmd-maven-test app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Maven: running tests")))
+
+(def (cmd-maven-package app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Maven: packaging project")))
+
+(def (cmd-maven-install app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Maven: installing to local repo")))
+
+(def (cmd-maven-deploy app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "Maven: deploying artifacts")))
+
+(def (cmd-sbt-compile app)
+  (let* ((echo (app-state-echo app)))
+    (echo-message! echo "sbt: compiling project")))
+
diff --git a/src/jerboa-emacs/editor-extra-regs2.ss b/src/jerboa-emacs/editor-extra-regs2.ss
index 7b46492..022066e 100644
--- a/src/jerboa-emacs/editor-extra-regs2.ss
+++ b/src/jerboa-emacs/editor-extra-regs2.ss
@@ -6940,4 +6940,25 @@
   (register-command! 'pants-package cmd-pants-package)
   (register-command! 'gradle-build cmd-gradle-build)
   (register-command! 'gradle-test cmd-gradle-test)
+  ;; Round 263
+  (register-command! 'gradle-run cmd-gradle-run)
+  (register-command! 'gradle-clean cmd-gradle-clean)
+  (register-command! 'gradle-dependencies cmd-gradle-dependencies)
+  (register-command! 'gradle-publish cmd-gradle-publish)
+  (register-command! 'maven-compile cmd-maven-compile)
+  (register-command! 'maven-test cmd-maven-test)
+  (register-command! 'maven-package cmd-maven-package)
+  (register-command! 'maven-install cmd-maven-install)
+  (register-command! 'maven-deploy cmd-maven-deploy)
+  (register-command! 'sbt-compile cmd-sbt-compile)
+  (register-command! 'sbt-test cmd-sbt-test)
+  (register-command! 'sbt-run cmd-sbt-run)
+  (register-command! 'sbt-clean cmd-sbt-clean)
+  (register-command! 'sbt-publish cmd-sbt-publish)
+  (register-command! 'mill-compile cmd-mill-compile)
+  (register-command! 'mill-test cmd-mill-test)
+  (register-command! 'mill-run cmd-mill-run)
+  (register-command! 'mill-clean cmd-mill-clean)
+  (register-command! 'lein-run cmd-lein-run)
+  (register-command! 'lein-test cmd-lein-test)
 )