{"id":17874254,"url":"https://github.com/jomy10/beaver","last_synced_at":"2025-10-29T02:31:32.571Z","repository":{"id":57749912,"uuid":"525027609","full_name":"Jomy10/beaver","owner":"Jomy10","description":"Simple, reliable and capable build system and command runner for any project","archived":false,"fork":false,"pushed_at":"2025-02-11T20:22:11.000Z","size":635,"stargazers_count":1,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-11T21:27:06.367Z","etag":null,"topics":["build","build-system","build-tool","cmake","command-runner","cross-platform","make","ruby"],"latest_commit_sha":null,"homepage":"","language":"Swift","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/Jomy10.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2022-08-15T14:52:42.000Z","updated_at":"2025-02-11T20:22:15.000Z","dependencies_parsed_at":"2023-11-16T10:24:52.130Z","dependency_job_id":"55eb4279-2c44-4596-9435-b45466f4d742","html_url":"https://github.com/Jomy10/beaver","commit_stats":{"total_commits":7,"total_committers":2,"mean_commits":3.5,"dds":0.1428571428571429,"last_synced_commit":"b3d03aa12dd1c0c144e2ebfcf62324a32a5be3de"},"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jomy10%2Fbeaver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jomy10%2Fbeaver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jomy10%2Fbeaver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jomy10%2Fbeaver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jomy10","download_url":"https://codeload.github.com/Jomy10/beaver/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238759813,"owners_count":19525874,"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":["build","build-system","build-tool","cmake","command-runner","cross-platform","make","ruby"],"created_at":"2024-10-28T11:08:12.588Z","updated_at":"2025-10-29T02:31:32.566Z","avatar_url":"https://github.com/Jomy10.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Beaver\n\nCapable build system and command runner for any project.\n\nProjects can be built programmatically because configuration is written in Ruby.\n\nIt is an excellent replacement for make and cmake. Beaver also integrates with\nother build systems so you can have dependencies that use other build systems.\n\n## Example\n\n```ruby\nProject(name: \"Game\")\n\nC::Library(\n  name: \"Physics\",\n  description: \"Physics simulation library\",\n  language: :cpp,\n  sources: \"lib/physics/*.cpp\",\n  include: \"include/physics\"\n)\n\nC::Library(\n  name: \"Renderer\",\n  language: :c,\n  sources: \"lib/renderer/*.c\",\n  include: \"include/renderer\",\n  dependencies: [\n    pkgconfig(\"SDL2\"),\n    system_lib(\"pthread\")\n  ]\n)\n\nC::Executable(\n  name: \"Game\",\n  language: :cpp,\n  sources: \"src/*.cpp\",\n  dependencies: [\"Physics\", \"Renderer\"]\n)\n```\n\n## Building\n\nBuilding requires **ruby** to be installed. The ruby version linked to will be the one that is accessible\nfrom the command line `ruby --version`.\n\n```sh\ncargo build -p beaver-cli\n```\n\n## Installing\n\n**from source**\n```sh\ncargo +nightly install --git https://github.com/jomy10/beaver\n```\n\n## Documentation\n\nYou can view the [examples](examples) and there is basic documentation in the [docs](docs) directory.\n\nMore extensive documentation is coming soon when the project is more stable.\n\n## Contributing\n\nFeel free to open an issue regarding bugs or improvements. If you want to work\non an improvement, you can do so by commenting on its issue and opening a pull\nrequest. Your help is much appreciated!\n\n### Running tests\n\nBe sure to check your changes with tests. Add new ones if your change is not coverd by the current tests.\n\n```sh\ncargo test\n```\n\n## Questions\n\nFeel free to ask any questions you may have by opening an issue.\n\n## License\n\nThis software is licensed under the [MIT](LICENSE) license.\n\n## References\n\n- [\"Correct, Efficiant and Tailored: The Future of Build Systems\" by Guillaume Maudoux and Kim Mens, Université catholique de Louvain, Journal of Software Engineering.](https://dial.uclouvain.be/pr/boreal/object/boreal%3A189586/datastream/PDF_01/view)\n- [\"Build System Rules and Algorithms\" by Mike Shal, 2009.](https://gittup.org/tup/build_system_rules_and_algorithms.pdf)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjomy10%2Fbeaver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjomy10%2Fbeaver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjomy10%2Fbeaver/lists"}