{"id":17834997,"url":"https://github.com/carlosedp/mill-aliases","last_synced_at":"2025-03-19T14:31:36.405Z","repository":{"id":176497378,"uuid":"657809500","full_name":"carlosedp/mill-aliases","owner":"carlosedp","description":"A Scala Mill plugin adding task aliases to the build configuration","archived":false,"fork":false,"pushed_at":"2024-10-23T23:53:03.000Z","size":99,"stargazers_count":5,"open_issues_count":4,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-10-24T13:27:57.808Z","etag":null,"topics":["mill","mill-plugin","scala"],"latest_commit_sha":null,"homepage":"","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/carlosedp.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"carlosedp","patreon":"carlosedp"}},"created_at":"2023-06-23T22:59:52.000Z","updated_at":"2024-10-23T23:53:07.000Z","dependencies_parsed_at":"2023-11-13T01:33:18.254Z","dependency_job_id":"ef421290-ece0-4dca-96c3-7ee66f773960","html_url":"https://github.com/carlosedp/mill-aliases","commit_stats":null,"previous_names":["carlosedp/mill-aliases"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carlosedp%2Fmill-aliases","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carlosedp%2Fmill-aliases/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carlosedp%2Fmill-aliases/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carlosedp%2Fmill-aliases/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/carlosedp","download_url":"https://codeload.github.com/carlosedp/mill-aliases/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243997108,"owners_count":20380980,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["mill","mill-plugin","scala"],"created_at":"2024-10-27T20:16:08.633Z","updated_at":"2025-03-19T14:31:36.400Z","avatar_url":"https://github.com/carlosedp.png","language":"Scala","funding_links":["https://github.com/sponsors/carlosedp","https://patreon.com/carlosedp"],"categories":[],"sub_categories":[],"readme":"# mill-aliases\n\n![Maven Central](https://img.shields.io/maven-central/v/com.carlosedp/mill-aliases_mill0.11_2.13)\n\nThis is a Scala [Mill](http://mill-build.com/) plugin adding the task alias capability to the build tool. Supports Mill 0.10 and 0.11 series.\n\n## Getting Started\n\nFirst import the plugin into your `build.sc` / `build.mill` using the latest published version, by adding:\n\n```scala\nimport $ivy.`com.carlosedp::mill-aliases::0.6.0`  //ReleaseVerMill\nimport com.carlosedp.aliases._\n```\n\nTo define your project aliases, create an object extending the `Aliases` trait containing one method per required alias. Aliases are global to your project (whether single or multi-module) and are defined at the root level of your build file.\n\nAliases can be single string tasks or a sequence of strings containing multiple tasks pointing to your module's tasks and are defined using the `alias` type in your `build.sc` / `build.mill`, eg:\n\n```scala\nimport mill._, scalalib._\n\nobject mymodule extends ScalaModule {\n  ... // Your module here\n}\n\nobject MyAliases extends Aliases {\n  def testall     = alias(\"__.test\")\n  def compileall  = alias(\"__.compile\")\n  def comptestall = alias(\"__.compile\", \"__.test\")\n}\n```\n\nIf you use Zsh as shell and/or P10k as a theme, check my Zsh Mill completions plugin at \u003chttps://github.com/carlosedp/mill-zsh-completions\u003e. It supports getting Mill tasks and aliases.\n\n## Usage\n\n**To show all the defined aliases:**\n\n```sh\n./mill Alias/list\n```\n\nWhich will show (eg.):\n\n```sh\nUse './mill run [alias]'.\nAvailable aliases:\n┌─────────────────┬─────────────────┬───────────────────────────────────────────────────────────────────────────────────\n| Alias           | Module          | Command(s)\n├─────────────────┼─────────────────┼───────────────────────────────────────────────────────────────────────────────────\n| compall         | MyAliases       | (__.compile)\n| comptestall     | MyAliases       | (__.compile, __.test)\n| testall         | MyAliases       | (__.test)\n| deps            | MyAliases       | (mill.scalalib.Dependency/showUpdates)\n└─────────────────┴─────────────────┴───────────────────────────────────────────────────────────────────────────────────\n```\n\n**Run an alias:**\n\n```sh\n./mill Alias/run testall\n```\n\nIn this case, the task `__.test` will be run which is executing the test task for all your modules.\n\n```sh\n./mill Alias/run comptestall\n```\n\nIn this case, the task `__.compile` will be run first followed by `__.test` which will first compile all sources from all modules and then test all modules.\n\n**To show the help:**\n\n```sh\n./mill Alias/help\n```\n\nWhich displays:\n\n```sh\n--------------------\nMill Aliases Plugin\n--------------------\nThe plugin allows you to define aliases for mill tasks.\nThe aliases are defined in an object extending `Aliases` in the build.sc file at the root level in the following format:\n\n  object MyAliases extends Aliases {\n    def testall     = alias(\"__.test\")\n    def compileall  = alias(\"__.compile\")\n    def testcompall = alias(\"__.compile\", \"__.test\")\n  }\n\nAliases can be defines for one or multiple tasks which will be run in sequence.\nThe aliases can be run with './mill Alias/run [alias]'.\nTo list all aliases: './mill Alias/list'\n```\n\nAliases can also be defined on separated objects extending `Aliases` to help with build organization. If a name conflict happens for aliases on different modules, the list command will show all the aliases and it's module but when run, only the alias on the first module defined will be executed.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcarlosedp%2Fmill-aliases","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcarlosedp%2Fmill-aliases","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcarlosedp%2Fmill-aliases/lists"}