{"id":13839830,"url":"https://github.com/sluongng/buck2-go","last_synced_at":"2025-07-11T06:31:53.290Z","repository":{"id":160966506,"uuid":"635722610","full_name":"sluongng/buck2-go","owner":"sluongng","description":"testing how buck2 would work with Go","archived":false,"fork":false,"pushed_at":"2023-07-10T10:21:35.000Z","size":216,"stargazers_count":5,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-08-04T17:06:52.840Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Starlark","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sluongng.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-05-03T10:13:45.000Z","updated_at":"2024-06-07T13:11:02.000Z","dependencies_parsed_at":"2024-01-20T21:47:15.233Z","dependency_job_id":"b6d42a7c-0ac3-40b1-82b3-fa56386b0dfd","html_url":"https://github.com/sluongng/buck2-go","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sluongng%2Fbuck2-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sluongng%2Fbuck2-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sluongng%2Fbuck2-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sluongng%2Fbuck2-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sluongng","download_url":"https://codeload.github.com/sluongng/buck2-go/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225700120,"owners_count":17510439,"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-08-04T17:00:35.963Z","updated_at":"2024-11-21T08:31:36.493Z","avatar_url":"https://github.com/sluongng.png","language":"Starlark","funding_links":[],"categories":["Projects"],"sub_categories":[],"readme":"# buck2-go\n\nBuck2 build rules for Go\n\n## Why?\n\nThis repository aims to be the equivalent of [bazelbuild/rules_go](https://github.com/bazelbuild/rules_go) for Buck2 ecosystem.\nThe eventual goal is to merge most of these rules back into Buck2 prelude.\n\nBuck2 does come with some basic Go build rules under `prelude//go/...`, however they don't work outside of Meta (i.e. there is no stdlib to compile against).\nIt seems like the Go rules in Buck2 are also not maintained by anyone currently within Meta.\nFor faster iteration, let's work from a separate repo(this one) for the time being.\n\n## Roadmap:\n\n- [X] Remote Go Toolchain\n  + [X] Fetch toolchain\n  + [X] Export sub targets\n  + [ ] Rework Go toolchain (GoSDK)'s provider\n\n- [X] Build `go_bootstrap_binary` (same as `go_tool_binary` in Bazel)\n  + [X] Implement `builder` binary\n\n- [ ] Write Go Context\n\n- [ ] Build Stdlib\n\n- [ ] Write actions using `builder` binary\n  + [ ] compilepkg\n  + [ ] link\n  + [ ] pack\n  + [ ] archive\n  + [ ] generate test source\n\n- [ ] Write rules using actions\n  + [ ] binary\n  + [ ] test internal\n  + [ ] test external\n\n- [ ] Support 3rd party libraries\n\n- [ ] Support CGO\n\n- [ ] BXL\n  + [ ] Go Package Driver + gopls\n  + [ ] Linter\n\n- [ ] Seperate host/exec/target platforms (transition?)\n\n## Open questions\n\n1. Extends Gazelle or write something new to support Buck2? (there is no repository loading phase)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsluongng%2Fbuck2-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsluongng%2Fbuck2-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsluongng%2Fbuck2-go/lists"}