249 Commits

Author SHA1 Message Date
Mike McQuaid
1e265247ca
rubocop: apply autofixes. 2020-03-13 21:16:18 +00:00
EricFromCanada
5277f849d9 API: supply additional data for requirements 2020-03-03 15:00:33 -05:00
Issy Long
1f6168fe8a
Change regexp.match?(string) to string.match?(regexp) everywhere
- Only try to call `.match?` on strings that aren't nil.
2019-10-13 23:22:51 +01:00
Issy Long
b78028b9c2
Auto-fix Performance/RegexpMatch offenses 2019-10-13 16:04:26 +01:00
EricFromCanada
c34b4c3abd MacOSRequirement: add to_json method 2019-09-01 09:10:35 -04:00
Markus Reiter
16d2f8264c Use MacOSRequirement for casks. 2019-08-21 06:57:21 +02:00
Markus Reiter
78aee4fed3 Merge MaximumMacOSRequirement into MacOSRequirement. 2019-08-21 06:57:21 +02:00
Mike McQuaid
2b83463091
Merge pull request #6281 from sjackman/adoptopenjdk
JavaRequirement: Change openjdk to adoptopenjdk
2019-07-08 09:09:56 +01:00
Shaun Jackman
bbbdb08b92 JavaRequirement: Change openjdk to adoptopenjdk 2019-07-07 10:08:56 -07:00
Cheng XU
2bd9b2774d
java_requirement: set cask attribute
Set `@cask` attribute for JavaRequirement, which is used by
`brew info` to track cask requirement for formulae and
`brew bundle dump` to sort the formulae and casks.

Before:
```
$ brew info --json languagetool | jq '.[0].requirements'
[
  {
    "name": "java",
    "cask": null,
    "download": null
  }
]
$ brew cask install adoptopenjdk; brew install languagetool
$ brew bundle dump
brew "languagetool"
cask "adoptopenjdk"
```

After:
```
$ brew info --json languagetool | jq '.[0].requirements'
[
  {
    "name": "java",
    "cask": "adoptopenjdk",
    "download": null
  }
]
$ brew cask install adoptopenjdk; brew install languagetool
$ brew bundle dump
cask "adoptopenjdk"
brew "languagetool"
```

Also added relevant test cases.
2019-06-10 10:37:09 +08:00
Mike McQuaid
01a3425502
Require Xcode 10.2 on macOS 10.14
Xcode >=10.2 is required to build all Swift formulae on macOS >=10.14.4.

Rather than requiring per-formula workarounds
(e.g. Homebrew/homebrew-core#39446) this provides a more stable platform
Homebrew can rely on for building Swift formulae.
2019-05-01 09:06:41 +01:00
Mike McQuaid
c4f72312ce
Fixup brew style failures. 2019-04-30 09:19:18 +01:00
Mike McQuaid
36dbad3922
Add frozen_string_literal to all files. 2019-04-20 13:27:36 +09:00
Claudia
f155ede7fb
Endorse AdoptOpenJDK instead of Oracle OpenJDK
This commit changes the message that appears when Homebrew detects
that a Java requirement is unmet.

The new message will say:

```
Install AdoptOpenJDK with Homebrew Cask:
  brew cask install adoptopenjdk
```

And for Java 8:

```
Install AdoptOpenJDK 8 with Homebrew Cask:
  brew cask install homebrew/cask-versions/adoptopenjdk8
```
2019-04-19 18:00:31 +02:00
Mike McQuaid
426c6e2c3f
xcode_requirement: fix Swift compatability check.
Ensure we're using the full macOS version so that
`MacOS::Xcode.version >= "10.14.4"` can ever be true.
2019-04-09 15:59:27 +01:00
Mike McQuaid
da392cd9e8
xcode_requirement: require macOS 10.14.4 for Xcode 10.2.
See discussion in https://github.com/Homebrew/brew/pull/5940.
2019-04-04 08:34:25 +01:00
Jonathan Chang
d2e6d04faf arch: actually show required architecture 2019-03-11 20:31:53 +11:00
Mike McQuaid
d64429a736
rubocop: enable Style/IfUnlessModifier. 2019-02-21 12:55:49 +00:00
Gary Bartlett
8a6a46da36 Add additional support for java minor versions > 9. 2019-02-06 14:48:19 -08:00
Gary Bartlett
ff5dddab99 Add support for java version strings without periods, e.g. "12-ea" (java-beta). 2019-02-06 06:31:57 -08:00
Mike McQuaid
1aa8ad09e2
Deprecate macOS versions below Mavericks
And remove all dead/unneeded code.
2019-01-27 12:27:47 +00:00
Mike McQuaid
170c5493a4
Update deprecations
- Add some `odeprecated`
- Make some `odeprecated` now `odisabled`
- Remove `odisabled` code.
- Remove old update migrations
- Remove GCC 4.0 compiler
- Remove Tiger-only code
- Remove 32-bit-only code
- Remove use of LD64
- Remove GCC 4.3 - 4.8 support.
2019-01-08 19:13:46 +00:00
Bryce Glover
33c3faa125 [JavaRequirement#satisfies_version] java_version_s: Fix regular expression.
The match obtained by applying the regular expression used to index into
the `stderr` member of the result of calling `system_command` in the relevant
variable assignment could yield unexpected results.  The regular expression in-
volved was not strict enough and contained an unescaped period, which could
match any character, not just the expected literal decimal point.  This commit
corrects this oversight by escaping the relevant character, thus addressing
@apjanke's remark in https://github.com/Homebrew/brew/pull/5280#issuecomment-437165119 on the existence of a:

> …possible bug - that `.` looks like it should be escaped as `\.` to match a
> literal ".".) …
2018-12-14 13:45:55 -05:00
Shaun Jackman
e8b22690a0 Fix Language::Java::java_home_env for Linux
/usr/libexec/java_home is specific to macOS.
Language::Java::java_home_cmd is not implemented on Linux and raises
NotImplementedError.

Add private Language::Java::java_home_shell and use it instead of java_home_cmd.
Add public Language::Java::java_home for use by formulae.
2018-11-29 12:50:31 -08:00
Mike McQuaid
1365010f93
Merge pull request #5280 from apjanke/fix-java-req-version-parsing
JavaRequirement: fix version parsing to handle Java 9 and higher
2018-11-19 14:03:10 +00:00
Shaun Jackman
d2dba5fc4a DependencyCollector: Add java_dep_if_needed [Linux]
Use the openjdk formula if it's installed.
Use the host's Java if it's sufficient.
Otherwise install the openjdk formula.
2018-11-11 10:18:24 -08:00
Andrew Janke
e1e40a4b1a JavaRequirement: fix version parsing to handle Java 9 and higher 2018-11-08 22:48:17 -05:00
Mike McQuaid
737b84b54b
brew style --fix fixes. 2018-11-02 17:29:23 +00:00
Mike McQuaid
0c0275771d
Cleanup Requirements
- remove unused NonBinaryOsxfuseRequirement
- import CodeSignRequirement from Homebrew/homebrew-core
- remove unused UnsignedKextRequirement
- don’t allow custom name for X11Requirement
2018-10-19 16:38:41 +01:00
commitay
1243183294
Merge pull request #4876 from commitay/jdk11
java_requirement, cask dsl caveats: JDK 11
2018-09-26 08:35:03 +10:00
Markus Reiter
e9b9ea49a1 Update to RuboCop 0.59.1. 2018-09-17 03:45:59 +02:00
commitay
93cffa77bf requirements/java_requirement: JDK 11 2018-09-12 08:30:36 +10:00
Markus Reiter
32ad22395b Remove some #popen_reads. 2018-09-04 05:16:59 +02:00
Mike McQuaid
80d75bc0d8
Homebrew/.rubocop: tweak rules.
Adjust the rules based on the current codebase. Remove various enable,
disables and default values that are unnecessary. Add more comments
explaining why. Make minor changes needed to enable a few more rules.
2018-09-02 20:15:09 +01:00
Mike McQuaid
bcb1ec5499
Improve Homebrew/brew line length.
Use 124 max line length everywhere. Also, reduce tap max line length to
189 as Homebrew/homebrew-core has that as a maximum now. In future
Homebrew/homebrew-core will also be reduced to 124 maximum line length.
2018-09-02 16:15:09 +01:00
Shaun Jackman
95ebefc1ac X11Requirement: Recent X11 client is sufficient 2018-08-14 12:08:41 -07:00
Markus Reiter
de246cc528 Update Homebrew-Cask references. 2018-05-25 18:20:02 +02:00
Markus Reiter
c4222141ac Revert "Update Homebrew-Cask references."
This reverts commit 4475651b548afdcf15c4cf7a7cb57baca1885186.
2018-05-25 17:57:32 +02:00
Markus Reiter
4475651b54 Update Homebrew-Cask references. 2018-05-25 17:56:16 +02:00
Markus Reiter
5e2d4d52ba Refactor OsxfuseRequirement spec. 2018-04-20 19:11:22 +02:00
Mike McQuaid
6fab4e1805 x11_requirement: move download to base class.
No reason to have it in macOS class and keeps consistent output with
`brew info` on Linux.
2018-04-18 11:18:29 +01:00
Mike McQuaid
a4bada575a requirements: define cask on base class.
The `cask` attribute doesn't make as much sense on Linux but can be
ignored there. The advantage of this change is that (like #4086) it
allows figuring out the relevant cask for a formulae requirement on a
Linux machine.
2018-04-18 09:55:44 +01:00
Mike McQuaid
c32865011d xcode_requirement: handle nil @version.
When the Xcode requirement doesn't specify a version then we need to
guard this check.
2018-02-09 19:37:15 +00:00
Mike McQuaid
1373441e53 xcode_requirement: inform users of macOS upgrade.
If you need a newer Xcode than the latest version provided by your
version of macOS then you need to upgrade your OS to install the
software.
2018-01-28 19:08:19 +00:00
Mike McQuaid
d54e670a64 requirements: move more to compat. 2017-12-30 20:56:55 +00:00
Mike McQuaid
38ce994007 Deprecate more requirements.
These are ones that were either already deprecated due to audit rules
or are just a simple `which` with a `default_formula` so should just
be a dependency.
2017-12-23 16:53:25 +00:00
Mike McQuaid
8410950d14 java_requirement: use popen_read :err option. 2017-12-14 16:44:25 +00:00
Mike McQuaid
f4e647cbc6 python_requirement: various tweaks/fixes.
- simplify the code by avoiding some unnecessary variables and rename
  functions
- make more stuff private so implementation details don't leak
- make Python 2 binary `python2.7` to handle cases like those in
  https://github.com/Homebrew/homebrew-core/issues/21500
- only set `PYTHONPATH` for system Python; Homebrew's Python doesn't
  need it.
2017-12-14 09:21:26 +00:00
Shaun Jackman
804393efc4 Implement X11Requirement for Linux
Move the XQuartz implementation to extend/os/mac/requirements.
2017-12-07 08:45:29 -08:00
Mike McQuaid
8b9ac2b2e0 x11_requirement: remove custom minimum version.
This isn't desired or needed. Ensure older code still works, though.
2017-12-03 13:33:16 +00:00