{"id":17383852,"url":"https://github.com/mcandre/rez","last_synced_at":"2025-02-27T12:30:45.632Z","repository":{"id":43289308,"uuid":"401463520","full_name":"mcandre/rez","owner":"mcandre","description":"C/C++ task runner","archived":false,"fork":false,"pushed_at":"2024-09-12T04:19:16.000Z","size":387,"stargazers_count":3,"open_issues_count":23,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-09-12T13:56:05.167Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mcandre.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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}},"created_at":"2021-08-30T19:32:05.000Z","updated_at":"2024-09-12T04:19:19.000Z","dependencies_parsed_at":"2024-08-06T10:09:28.353Z","dependency_job_id":"7a5d1950-8dd6-4bfe-97c2-5047be09ef3c","html_url":"https://github.com/mcandre/rez","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcandre%2Frez","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcandre%2Frez/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcandre%2Frez/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mcandre%2Frez/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mcandre","download_url":"https://codeload.github.com/mcandre/rez/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219842880,"owners_count":16556569,"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":[],"created_at":"2024-10-16T07:43:59.109Z","updated_at":"2024-10-16T07:43:59.195Z","avatar_url":"https://github.com/mcandre.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rez: C/C++ task runner\n\n```text\n `_~----====-.\n  \\ \u003c.+|*-*| '\n /\u0026( ``\n \\3\n```\n\n# SUMMARY\n\nrez runs C/C++ tasks.\n\nWhere other runners depend on managing secondary DSL's, *rez* collapses the software stack. Implement your build scripts in the same language as your application.\n\nMaximize expressiveness, minimize bloat.\n\n# DEMO\n\n```console\n$ cd examples/athena\n$ rez\n\n   ...    *    .   _  .\n*  .  *     .   * (_)   *\n  .      |*  ..   *   ..\n   .  * \\|  *  ___  . . *\n*   \\/   |/ \\/{0,Q}     .\n  _\\_\\   |  / /)  )* _/_ *\n      \\ \\| /,--\"-\"---  ..\n_-----`  |(,__,__/__/_ .\n       \\ ||      ..\n        ||| .            *\n        |||\n        |||\n  , -=-~' .-^- _\n\nMust be expensive.\n\n```\n\nSee the full [TUTORIAL.md](TUTORIAL.md).\n\n# ABOUT\n\nrez allows developers to write build tasks in pure C/C++ code. This streamlines software builds. For example, common shell-outs to `rm` / `del`... become `std::filesystem::remove_all` in C++. As you migrate from shell scripts to native code, you are rewarded with faster, more reliable builds.\n\nrez is *build tool agnostic*. rez simply wraps your traditional build tool of choice. For example, rez tasks can invoke direct compiler commands like `gcc`, or invoke an underlying build tool like `cmake`, `make`, `./configure`, `msbuild`, etc.\n\n# DOCUMENTATION\n\nhttps://mcandre.github.io/rez/\n\n# DOWNLOAD\n\nhttps://github.com/mcandre/rez/releases\n\n# LICENSE\n\nBSD-2-Clause\n\n# RUNTIME REQUIREMENTS\n\n* a C/C++ compiler\n\nrez is regularly tested for cross-platform support on Linux, macOS, and Windows.\n\n## Recommended\n\n* [direnv](https://direnv.net/) / [posh-direnv](https://github.com/takekazuomi/posh-direnv)\n* [cmake](https://cmake.org/) 3+\n* [make](https://pubs.opengroup.org/onlinepubs/9699919799/utilities/make.html) or [ninja](https://ninja-build.org/)\n\n# CONTRIBUTING\n\nFor information about developing rez itself, see [DEVELOPMENT.md](DEVELOPMENT.md).\n\n# SEE ALSO\n\n* [batsch](https://batsh.org/), a preprocessing language that compiles to bash and MS-DOS bat files (somewhat defunct)\n* [beltaloada](https://github.com/mcandre/beltaloada), a guide to writing build systems for (POSIX) sh\n* [booty](https://github.com/mcandre/booty?tab=readme-ov-file) for JS/Node.js/altJS\n* [cling](https://root.cern/cling/), a C++ interpreter\n* [cmake](https://cmake.org/), a preiminent cross-platform build system\n* [dale](https://github.com/mcandre/dale), a D task runner\n* [ejm98](http://www.ascii-art.de/ascii/mno/owl.txt) for Athena's prior artwork\n* [GNU autotools](https://www.gnu.org/software/automake/manual/html_node/Autotools-Introduction.html), a build system for Linux C/C++ projects\n* [Gradle](https://gradle.org/), a build system for JVM projects\n* [jelly](https://github.com/mcandre/jelly), a JSON task runner\n* [lake](https://luarocks.org/modules/steved/lake), a Lua task runner\n* [Leiningen](https://leiningen.org/) + [lein-exec](https://github.com/kumarshantanu/lein-exec), a Clojure task runner\n* [lichen](https://github.com/mcandre/lichen), a sed task runner\n* [Mage](https://magefile.org/), a task runner for Go projects\n* [mian](https://github.com/mcandre/mian), a task runner for (Chicken) Scheme Lisp\n* [npm](https://www.npmjs.com/), [Grunt](https://gruntjs.com/), Node.js task runners\n* [nobuild](https://github.com/tsoding/nobuild), another freeform C/C++ task runner\n* [POSIX make](https://pubs.opengroup.org/onlinepubs/009695299/utilities/make.html), a task runner standard for C/C++ and various other software projects\n* [Rake](https://ruby.github.io/rake/), a task runner for Ruby projects\n* [Rebar3](https://www.rebar3.org/), a build system for Erlang projects\n* Not to be confused with [Rezz](http://officialrezz.com/), the DJ\n* [sail](https://github.com/mcandre/sail), a fast C/C++ source file identifier\n* [sbt](https://www.scala-sbt.org/index.html), a build system for Scala projects\n* [Shake](https://shakebuild.com/), a preiminent Haskell task runner\n* [stank](https://github.com/mcandre/stank), a collection of POSIX-y shell script linter tools\n* [tinyrick](https://github.com/mcandre/tinyrick), a Rust task runner\n* [WSL](https://docs.microsoft.com/en-us/windows/wsl/install-win10) / [Cygwin](https://www.cygwin.com/) / [MinGW](https://www.mingw-w64.org/) / [MSYS2](https://www.msys2.org/) / [Git Bash](https://git-scm.com/downloads) / [Strawberry Perl](https://strawberryperl.com/) provide shims for many GNU/Linux components on Windows hosts\n* [yao](https://github.com/mcandre/yao), a task runner for Common LISP projects\n\nGenerate and retire artifacts, like so many tears in the rain...\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmcandre%2Frez","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmcandre%2Frez","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmcandre%2Frez/lists"}