71 Commits

Author SHA1 Message Date
apainintheneck
70ffc31338 formulary: update logic and add regression test 2024-02-11 13:09:53 -08:00
Rylan Polster
40d3ab6a5d
Add tests and fix brew typecheck 2023-12-16 20:01:47 -05:00
Bo Anderson
5692c8ecbf
Fix style violations under newer RuboCop 2023-12-14 05:47:12 +00:00
Rylan Polster
aa316109d9
Pass new tap to TapLoader
Co-authored-by: Alexander Mancevice <alexander.mancevice@hey.com>
2023-11-13 14:02:50 -05:00
Rylan Polster
237a42974b
Pass original tap to formula when loaded from the API via TapLoader 2023-11-13 13:40:44 -05:00
Mike McQuaid
b3c33d34ab
Various sharding fixes
- Load paths with no API when needed (e.g. for `brew edit`)
- Use no API mode for `brew log` as it's needed there
- Define sharding format for homebrew-cask and homebrew-core inside
  `Tap` methods
- Create new formulae/casks in location defined by these `Tap` methods
- Fix a bug in Formulary that made sharded formulae lookup less
  efficient (and possibly broke it for core and some API usage)
- Fix various other hardcoded Formula/Cask directory assumptions

Co-authored-by: Bo Anderson <mail@boanderson.me>
2023-08-04 16:43:13 +01:00
Douglas Eichelberger
479ca5e314 Fix test 2023-07-24 07:01:57 -07:00
Bo Anderson
dc7a47d0ac
test: drop deprecated uses_from_macos_elements checks 2023-07-07 20:35:54 +01:00
Bo Anderson
d1b923f314
Introduce UsesFromMacOSDependency
Add Formula#declared_deps and SoftwareSpec#declared_deps
2023-07-04 13:40:55 +01:00
apainintheneck
f2adbf6613 service: change custom name DSL
After some discussion, we decided to change the DSL to get rid of
the `plist_name` and `service_name` methods which aren't meaningful
for most users.

The new DSL looks like this:

```rb
service do
  name macos: "name", linux: "name"
end
```

I also updated some specs here to reflect these changes.

There was some talk about maybe deprecating `plist_name` and `service_name`
but I think that's outside of the scope of this PR so I'm leaving
them as is for now. One benefit of this is that everything here is backwards
compatible.
2023-05-17 21:54:32 -07:00
Bo Anderson
44f058edb5
Refactor formula, cask and Ruby source downloads to use shared code 2023-04-27 23:23:07 +01:00
apainintheneck
d57f291a1e formulary: sub home placeholder in caveats
We set a placeholder for the home directory when generating
API JSON so we should substitute the actual home directory
back in when printing caveats locally. This allows people
to use `Dir.home` in caveats and have it display correctly
no matter the platform or operating system.
2023-04-22 10:17:16 -07:00
Douglas Eichelberger
9075cbae62 brew style --fix 2023-04-21 09:58:50 -07:00
Douglas Eichelberger
ac1e6ded9a git grep -l '# typed: false' | xargs gsed -i 's|# typed: false||g' 2023-04-21 09:57:47 -07:00
apainintheneck
e83a2562bb Update service and formulary specs 2023-03-22 00:01:58 -07:00
apainintheneck
d42e9b40d5 formulary: add test for loading service blocks from API 2023-03-19 00:09:16 -07:00
Issy Long
3a83b5492c
rubocop: Clean up Style/BlockDelimiters excludes and autofix offenses
- The defaults of using "do ... end" for multi-line blocks everywhere is
  good, better than switching everything to braces everywhere.
2023-03-08 23:54:22 +00:00
Mike McQuaid
f280ce069b
Support loading formulae/casks from subdirectories
Previously, we required all formulae and casks to be in a specific
formula or cask directory but did not check any subdirectories.

This commit allows using subdirectories for official taps, the only
ones likely to be big enough to warrant sharding in this way and to
avoid potentially breaking backwards compatibility for existing taps.

This was inspired by the most recent issues with homebrew-cask.
2023-02-24 10:57:41 +00:00
Bo Anderson
cacd7194f6
Support link_overwrite and conflicts_with in API 2023-02-20 16:28:07 +00:00
Mike McQuaid
e0ba9a1249
Merge pull request #14617 from Bo98/api-reqs-oldname
formulary: support requirements, aliases etc from API
2023-02-14 11:54:55 +00:00
Bo Anderson
7c1b642035
formulary: fix uses_from_macos handling on macOS 2023-02-14 04:07:51 +00:00
Bo Anderson
9b26bf9b92
formulary: support requirements, aliases etc from API 2023-02-14 03:32:56 +00:00
Mike McQuaid
59f4b5226a
tests: test on Ubuntu 18.04. 2022-11-09 14:45:43 +00:00
Rylan Polster
f66b5ff208
Include test deps when loading a formula from the API 2022-09-21 02:53:58 -04:00
Mike McQuaid
7349c2b996
brew style --fix 2022-09-13 09:43:09 +01:00
Shaun Jackman
b9e1a51266
test: Update tests that mock gcc@5 2022-09-06 14:16:16 +01:00
Rylan Polster
ebf109ade5
Fix tests 2022-07-25 19:22:15 +02:00
Rylan Polster
edc14c3786
Fix style 2022-07-25 08:56:10 +02:00
Rylan Polster
bae5abda82
Remove uses_from_macos dep duplication in FormulaAPILoader 2022-07-25 08:49:19 +02:00
Rylan Polster
7392f9811e
Formulary: use variations hash when installing from API 2022-07-24 22:59:42 +02:00
Rylan Polster
15cf890ed7
Fix caveats when loading from the API 2022-06-16 20:24:22 -04:00
Rylan Polster
0ea9f5ec80
Add tests for convert_to_string_or_symbol 2022-06-16 16:45:38 -04:00
Rylan Polster
3cf86dad30
Handle deprecate/disable symbols when loading from the API 2022-06-16 16:22:59 -04:00
Rylan Polster
78aa927ba8
Fix dependency check test again 2022-06-16 15:27:19 -04:00
Rylan Polster
2adfdae482
Fix dependency check test 2022-06-16 14:52:21 -04:00
Rylan Polster
8c8c6964c8
Add more API test coverage 2022-06-16 14:27:39 -04:00
Rylan Polster
dd516e4355
Expand Formulary test coverage 2022-06-16 13:58:23 -04:00
Rylan Polster
0113774e90
Add test 2022-06-15 18:09:51 -04:00
Rylan Polster
ccd46af7c6
Cleanup 2022-06-14 16:42:10 -04:00
Mike McQuaid
0cda6a0657
Only use patchelf.rb
Remove support for using the `patchelf` formula for writing as it's been
off by default for a long time now.
2021-10-19 15:15:56 +01:00
Rylan Polster
5d536d66fc
Rename HOMEBREW_JSON_CORE to HOMEBREW_INSTALL_FROM_API 2021-08-27 00:24:15 -04:00
Rylan Polster
60203afdd5
Merge env variables into HOMEBREW_JSON_CORE 2021-06-18 12:10:26 -04:00
Rylan Polster
8b04bcb994
Only allow mapping with environment variable
Co-authored-by: Mike McQuaid <mike@mikemcquaid.com>
2021-06-16 10:27:15 -04:00
Rylan Polster
75c1a23f63
Rename method to ::map_name_to_bottle 2021-06-15 11:21:59 -04:00
Rylan Polster
44bc942703
Fix tests 2021-06-14 12:59:03 -04:00
Rylan Polster
e9631d969c
Formulary: add ::map to map formula refs 2021-06-14 12:01:01 -04:00
Bo Anderson
f174d4363f
extend/pathname: limit write override to a refinement 2021-05-04 14:20:20 +01:00
Mike McQuaid
d73351251c
Deprecate, disable, delete code for next major/minor version.
Do the usual dance for bumping our major/minor version.
2021-04-09 09:30:36 +01:00
Michka Popoff
0a292c7041
linux: use preferred_gcc instead of gcc 2021-02-09 21:48:48 +01:00
Markus Reiter
24ae318a3d Move type annotations into files. 2020-10-10 14:59:39 +02:00