27 Commits

Author SHA1 Message Date
Rylan Polster
e47bc2fb86
Use hashes of arrays instead 2025-06-05 03:15:44 -04:00
Rylan Polster
b44ec56267
Reduce the internal formula API to contain the bare minimum data 2025-06-05 02:08:29 -04:00
Rylan Polster
fa45209f09
Fix sharded API structure to match existing API 2025-06-03 16:58:47 -04:00
Rylan Polster
c03f70f1dc
Refactor OnSystem and SimulateSystem bottle tag handling 2025-06-03 11:57:17 -04:00
Rylan Polster
0f03757e8f
Shard JSON API by OS/Arch combination 2025-06-02 23:06:02 -04:00
Eric Knibbe
2b8d104281
dev-cmd/generate-*-api: simulate latest macOS 2025-05-15 11:06:24 -04:00
apainintheneck
839198d21e Remove JSON v3 formula logic 2025-02-05 23:36:57 -08:00
Issy Long
3bf6a01516
dev-cmd/generate-formula-api: Bump to Sorbet typed: strict 2024-06-30 19:29:22 +01:00
Bo Anderson
073e35d4ba
dev-cmd/generate-*-api: ensure title is a string 2024-04-10 04:51:23 +01:00
Douglas Eichelberger
c50fb2dbd2 Remove redundant cli/parser requires 2024-03-29 18:53:07 -07:00
Douglas Eichelberger
dc062bea52 Port Homebrew::DevCmd::PrPull 2024-03-22 09:33:28 -07:00
Douglas Eichelberger
7fc20640f2 Port Homebrew::DevCmd::GenerateFormulaApi 2024-03-21 19:04:30 -07:00
apainintheneck
e0cea903ec s/to_api_hash/to_internal_api_hash/ 2024-03-07 20:29:58 -08:00
apainintheneck
cefd3273cc tap: Add helper to generate core formula API hash
This abstracts away this helper to make it easier to test and
reason about.
2024-02-27 20:55:16 -08:00
apainintheneck
ba3a0f8c33
dev-cmd/generate-formula-api: generate homebrew-core.json
This adds the code to generate the homebrew-core.json file which
represents the entire tap instead of just the previous array of
formula hashes. Any shared logic has been moved into the top-level
hash scope including aliases, renames, tap_git_head and tap_migrations.

I also added a check to skip adding the variations hash to the api
hash if it is empty.

Now we're down to 10MB from 24MB!!!
2024-02-04 13:50:57 +01:00
Eric Knibbe
2f79bdd257
global: add HOMEBREW_API_WWW 2023-09-11 02:26:37 -04:00
Mike McQuaid
e1a7afb3cf
dev-cmd/generate-*-api: be a bit safer.
- also try generating formula API on macOS
- pull more logic out of `unless args.dry_run?` in case it fails
2023-07-18 12:57:09 +01:00
Bo Anderson
5aad83ce1b
generate-*-api: fix on-disk tap migrations not being used 2023-07-14 02:04:14 +01:00
Mike McQuaid
3f3d587665
dev-cmd/generate-*-api: generate tap migrations JSON.
These will be consumed later.

Part of https://github.com/Homebrew/brew/issues/14897
2023-07-05 14:01:09 +01:00
Bo Anderson
bb7aef85db
Migrate remaining no-api commands to new scoped system 2023-06-22 17:11:20 +01:00
apainintheneck
358a2ce788 dev-cmd/generate-*-api: add dry run option
There are two reasons for this:
- Makes it easier to run this command as a sanity check without
  having to create a temporary directory
- Is somewhat faster since you don't have to write thousands of files
2023-05-15 18:29:49 -07:00
Douglas Eichelberger
24cf6076e8 brew style --fix 2023-04-24 20:42:39 -07:00
apainintheneck
38146893c3 api_hashable: Make API path subs generic
This turns the ability to replace common paths with placeholders
into a mixin that can be used with both Casks and Formulae.

The idea here is to make formula hash generation more consistent.
2023-03-21 23:20:42 -07:00
Bo Anderson
1dd3d5cc03
generate-*-api: better errors 2023-02-24 16:57:20 +00:00
Mike McQuaid
2f47403f8c
dev-cmd/generate-*-api: don't use same constant name.
Otherwise Ruby warns.
2023-02-23 09:09:54 +00:00
Mike McQuaid
9c9213aabd
Apply suggestions from code review
Co-authored-by: Rylan Polster <rslpolster@gmail.com>
Co-authored-by: Bo Anderson <mail@boanderson.me>
2023-02-23 08:45:56 +00:00
Mike McQuaid
8d02143c2b
Add generate-{cask,formula}-api commands
These replace the similar scripts in formulae.brew.sh.

Part of #14730.
2023-02-22 15:33:16 +00:00