Skip to content
This repository was archived by the owner on Jan 20, 2025. It is now read-only.
This repository was archived by the owner on Jan 20, 2025. It is now read-only.

Resolve aliases for test task recursively #111

@ghost

Description

In project.clj I have:

  :aliases {"test" ["kaocha"]
            "kaocha" ["with-profile" "+test" "run" "-m" "kaocha.runner"]})

Running lein test or lein kaocha both result in the tests being run (and completed successfully). However, when I run lein ancient upgrade :all :interactive :check-clojure, I see:

[...]
running test task ["kaocha"] ...
'kaocha' is not a task. See 'lein help'.
(error) tests have failed (use ':no-tests' to disable testing).
(error) #error {
 :cause "Task not found"
 :data {:exit-code 1, :suppress-msg true}
 :via
 [{:type clojure.lang.ExceptionInfo
   :message "Task not found"
   :data {:exit-code 1, :suppress-msg true}
   :at [leiningen.core.main$task_not_found invokeStatic "main.clj" 247]}]
 :trace
 [[leiningen.core.main$task_not_found invokeStatic "main.clj" 247]
  [leiningen.core.main$task_not_found doInvoke "main.clj" 239]
  [clojure.lang.RestFn invoke "RestFn.java" 410]
  [clojure.lang.Var invoke "Var.java" 384]
  [leiningen.core.main$resolve_task invokeStatic "main.clj" 293]
  [leiningen.core.main$resolve_task invoke "main.clj" 287]
  [leiningen.core.main$resolve_task invokeStatic "main.clj" 295]
  [leiningen.core.main$resolve_task invoke "main.clj" 287]
  [leiningen.core.main$apply_task invokeStatic "main.clj" 325]
  [leiningen.core.main$apply_task invoke "main.clj" 320]
  [leiningen.ancient.test$run_test_task_BANG_ invokeStatic "test.clj" 14]
  [leiningen.ancient.test$run_test_task_BANG_ invoke "test.clj" 7]
  [leiningen.ancient.test$run_tests_BANG_ invokeStatic "test.clj" 27]
  [leiningen.ancient.test$run_tests_BANG_ invoke "test.clj" 19]
  [leiningen.ancient.upgrade$test_BANG_ invokeStatic "upgrade.clj" 64]
  [leiningen.ancient.upgrade$test_BANG_ invoke "upgrade.clj" 61]
  [leiningen.ancient.upgrade$upgrade_file_BANG_ invokeStatic "upgrade.clj" 83]
  [leiningen.ancient.upgrade$upgrade_file_BANG_ invoke "upgrade.clj" 74]
  [leiningen.ancient.utils$call_file$fn__9886 invoke "utils.clj" 60]
  [leiningen.ancient.utils$call_file invokeStatic "utils.clj" 59]
  [leiningen.ancient.utils$call_file invoke "utils.clj" 57]
  [leiningen.ancient.utils$call_on_project_files invokeStatic "utils.clj" 127]
  [leiningen.ancient.utils$call_on_project_files invoke "utils.clj" 113]
  [leiningen.ancient.upgrade$eval10206$upgrade__10207 doInvoke "upgrade.clj" 95]
  [clojure.lang.RestFn applyTo "RestFn.java" 139]
  [clojure.core$apply invokeStatic "core.clj" 667]
  [clojure.core$apply invoke "core.clj" 660]
  [leiningen.ancient$ancient$run__10252 invoke "ancient.clj" 38]
  [leiningen.ancient$ancient invokeStatic "ancient.clj" 48]
  [leiningen.ancient$ancient doInvoke "ancient.clj" 26]
  [clojure.lang.RestFn applyTo "RestFn.java" 139]
  [clojure.lang.Var applyTo "Var.java" 705]
  [clojure.core$apply invokeStatic "core.clj" 667]
  [clojure.core$apply invoke "core.clj" 660]
  [leiningen.core.main$partial_task$fn__6592 doInvoke "main.clj" 284]
  [clojure.lang.RestFn applyTo "RestFn.java" 139]
  [clojure.lang.AFunction$1 doInvoke "AFunction.java" 31]
  [clojure.lang.RestFn applyTo "RestFn.java" 137]
  [clojure.core$apply invokeStatic "core.clj" 667]
  [clojure.core$apply invoke "core.clj" 660]
  [leiningen.core.main$apply_task invokeStatic "main.clj" 334]
  [leiningen.core.main$apply_task invoke "main.clj" 320]
  [leiningen.core.main$resolve_and_apply invokeStatic "main.clj" 343]
  [leiningen.core.main$resolve_and_apply invoke "main.clj" 336]
  [leiningen.core.main$_main$fn__6681 invoke "main.clj" 452]
  [leiningen.core.main$_main invokeStatic "main.clj" 442]
  [leiningen.core.main$_main doInvoke "main.clj" 439]
  [clojure.lang.RestFn applyTo "RestFn.java" 137]
  [clojure.lang.Var applyTo "Var.java" 705]
  [clojure.core$apply invokeStatic "core.clj" 665]
  [clojure.main$main_opt invokeStatic "main.clj" 491]
  [clojure.main$main_opt invoke "main.clj" 487]
  [clojure.main$main invokeStatic "main.clj" 598]
  [clojure.main$main doInvoke "main.clj" 561]
  [clojure.lang.RestFn applyTo "RestFn.java" 137]
  [clojure.lang.Var applyTo "Var.java" 705]
  [clojure.main main "main.java" 37]]}

It would be nice if lein-ancient could resolve aliases for the test task recursively, until it arrives at an actual task it can execute -- or use a different method to execute either task or aliases, if Leiningen provides any.

Using Leiningen 2.9.1 and lein-ancient 0.6.15.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions