{"id":19933753,"url":"https://github.com/bazelbuild/platforms","last_synced_at":"2025-03-01T11:44:10.117Z","repository":{"id":39713161,"uuid":"184684984","full_name":"bazelbuild/platforms","owner":"bazelbuild","description":"Constraint values for specifying platforms and toolchains","archived":false,"fork":false,"pushed_at":"2025-01-10T18:51:21.000Z","size":83,"stargazers_count":110,"open_issues_count":32,"forks_count":78,"subscribers_count":19,"default_branch":"main","last_synced_at":"2025-01-10T19:38:36.793Z","etag":null,"topics":["bazel","bazel-rules"],"latest_commit_sha":null,"homepage":null,"language":"Starlark","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bazelbuild.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-05-03T01:53:49.000Z","updated_at":"2025-01-10T18:39:53.000Z","dependencies_parsed_at":"2024-03-08T06:25:21.746Z","dependency_job_id":"454674aa-d0ae-4456-b5de-411b941858dc","html_url":"https://github.com/bazelbuild/platforms","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bazelbuild%2Fplatforms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bazelbuild%2Fplatforms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bazelbuild%2Fplatforms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bazelbuild%2Fplatforms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bazelbuild","download_url":"https://codeload.github.com/bazelbuild/platforms/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241361398,"owners_count":19950379,"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":["bazel","bazel-rules"],"created_at":"2024-11-12T23:14:45.643Z","updated_at":"2025-03-01T11:44:10.096Z","avatar_url":"https://github.com/bazelbuild.png","language":"Starlark","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [Bazel Platforms](https://bazel.build)\n\nThis repository houses all canonical\n[constraint_setting()](https://bazel.build/reference/be/platforms-and-toolchains#constraint_setting)s,\n[constraint_value()](https://bazel.build/reference/be/platforms-and-toolchains#constraint_value)s\nand\n[platform()](https://bazel.build/reference/be/platforms-and-toolchains#platform)s\nthat are universally useful across languages and Bazel projects.\n\nFor questions or concerns please email\n[bazel-discuss@googlegroups.com](mailto://bazel-discuss@googlegroups.com).\n\n# Motivation\n\nConstraints must be carefully organized to avoid fragmentation. If two different\ndeclarations for, say, cpu=x86_64 were to exist at the same time then select()\nstatements and toolchain selection would stop working across languages and\nprojects.\n\n# Process\n\nThis repository only includes truly ubiquitous constraints.\n\nMost common constraints -- that is settings and values that can be used across\nprojects - fall into specific areas like \"Apple\" or \"Java\". These are declared\nin those areas' respective repositories.\n\nA very few constraints (such as OS and cpu) are relevant for essentially all\nprojects across all areas. These are what this repository is for.\n\n# Adding a canonical constraint value\n\nTo add a new canonical constraint value, prepare a PR adding it to that the\nappropriate BUILD file.\n\nNote that even global constraint values are typically area values. For example,\nios is an area value for the global setting os but belongs in the apple area.\nFor the PR's reviewer(s) choose an owner of this repository plus an owner of the\narea repository this references..\n\nA constraint value should be:\n\n-   semantically clear, particularly in its distinctions from other values of\n    the same setting\n\n-   well-named: consistent with existing values of the same setting and easy to\n    understand at usage sites\n\n-   well-documented\n\nRemember that this value will apply for the entire Bazel community and its\nsemantics will be difficult to impossible to change once it starts being used.\n\n# Adding a canonical constraint setting\n\nNew canonical constraint settings should be rare and well-justified.\n\nTo add a new setting, prepare a design document according to Bazel's design\nreview process. This document should explain the need for a new setting and why\nit belongs here vs. area-specific repositories. It should clearly explain\nsemantics, initial values, and criteria for adding new values.\n\nOnce the design is approved prepare a PR for the actual change. If any values\nare area-specific, include the area repositories' owners as reviewers.\n\n# Private changes to global constraints\n\nIf you'd like to experiment with changes to global settings or values, you can\nfork this repo for experimental purposes. But in the interest of community\nhealth and interoperability please don't share your changes with anyone not\ninvolved with the experiment. For wider distribution, submit a proper change\nhere.\n\nNote that you can declare constraint_values in your own repo that are members of\nthe global constraint_settings. This lets you \"extend\" global settings within\nthe confines of your own project. But don't do this if you expect other projects\nto use these changes - this can easily lead to fragmentation conflicts.\n\nIf you need custom constaint_settings, just declare them in your own repo. They\nare, by definition, not global.\n\nIf you really need a permanent global change and it isn't design-approved for\nthis repo, start a thread on\n[GitHub](https://github.com/bazelbuild/bazel/discussions) to discuss options.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbazelbuild%2Fplatforms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbazelbuild%2Fplatforms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbazelbuild%2Fplatforms/lists"}