id = "mill" name = "Mill" homepage = "https://mill-build.org/" description = "A build tool for Scala, Java and Kotlin" executables = ["mill"] [dotfiles] # Mill's official configuration guide documents these global Ammonite files; # unlike build.mill and .mill-opts, they apply to every build from the user. # https://mill-build.org/mill/0.10.15/Configuration.html paths = [ "~/.mill/ammonite/predef.sc", "~/.mill/ammonite/predefScript.sc", ] # The same guide's example puts repository credentials (nexusUser and # nexusPassword) in these global files, so preserve them as credential-bearing # files rather than attempting to parse arbitrary Scala code. secret = [] [[dotfiles.secret_paths]] file = "~/.mill/ammonite/predef.sc" match = { prefix = ["val repositoryPassword"] } [[dotfiles.secret_paths]] file = "~/.mill/ammonite/predefScript.sc" match = { prefix = ["val repositoryPassword"] } [commands] format = 1 label = "Mill" description = "Run one or more Mill tasks. Daemon, BSP, lock and debug flags are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = false, short_attached = false, short_bundles = false } [[commands.source]] id = "doc" kind = "manual" url = "https://mill-build.org/mill/cli/flags.html" evidence = """ -j --jobs The number of parallel threads. It can be an integer e.g. `5` meaning 5 -k --keep-going Continue build, even after build failures. --no-daemon Run without a long-lived background daemon. --offline Try to work offline. This tells modules that support it to work offline -w --watch Watch and re-run the given tasks when their inputs change. -i --interactive Alias for now `--no-daemon`. """ [[commands.field]] id = "tasks" label = "Tasks" description = "For example compile, test, or foo.test." type = "string" position = 0 multiple = true suggestions = [{ value = "compile", label = "compile" }, { value = "__.compile", label = "All modules: compile" }, { value = "__.test", label = "All modules: test" }, { value = "resolve _", label = "List top-level tasks" }] sources = ["doc"] [[commands.field]] id = "jobs" label = "Parallel threads" description = "An integer, or a core multiple such as 0.5C." type = "string" option = ["--jobs", "-j"] sources = ["doc"] [[commands.field]] id = "keep_going" label = "Keep going after failures" type = "boolean" option = ["--keep-going", "-k"] sources = ["doc"] [[commands.field]] id = "watch" label = "Watch and re-run" type = "boolean" option = ["--watch", "-w"] sources = ["doc"] [[commands.field]] id = "no_daemon" label = "Run without daemon" type = "boolean" option = ["--no-daemon"] sources = ["doc"] [[commands.field]] id = "offline" label = "Work offline" type = "boolean" option = ["--offline"] sources = ["doc"] [[commands.task]] id = "run" label = "Run tasks" fields = ["tasks", "jobs", "keep_going"] required = ["tasks"] [[commands.task]] id = "watch" label = "Watch and re-run" fields = ["tasks", "watch"] required = ["tasks", "watch"] set = { watch = [true] } [[commands.group]] id = "basic" label = "Basic" fields = ["tasks", "jobs", "keep_going", "watch"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["no_daemon", "offline"]