Merge pull request #3924 from MikeMcQuaid/include-test

install: add --include-test option.
This commit is contained in:
Mike McQuaid 2018-03-16 14:21:17 +00:00 committed by GitHub
commit 6c7e8608be
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 19 additions and 4 deletions

View File

@ -1,4 +1,4 @@
#: * `install` [`--debug`] [`--env=`(`std`|`super`)] [`--ignore-dependencies`|`--only-dependencies`] [`--cc=`<compiler>] [`--build-from-source`|`--force-bottle`] [`--devel`|`--HEAD`] [`--keep-tmp`] [`--build-bottle`] [`--force`] [`--verbose`] <formula> [<options> ...]: #: * `install` [`--debug`] [`--env=`(`std`|`super`)] [`--ignore-dependencies`|`--only-dependencies`] [`--cc=`<compiler>] [`--build-from-source`|`--force-bottle`] [`--include-test`] [`--devel`|`--HEAD`] [`--keep-tmp`] [`--build-bottle`] [`--force`] [`--verbose`] <formula> [<options> ...]:
#: Install <formula>. #: Install <formula>.
#: #:
#: <formula> is usually the name of the formula to install, but it can be specified #: <formula> is usually the name of the formula to install, but it can be specified
@ -36,6 +36,9 @@
#: current or newest version of macOS, even if it would not normally be used #: current or newest version of macOS, even if it would not normally be used
#: for installation. #: for installation.
#: #:
#: If `--include-test` is passed, install testing dependencies. These are only
#: needed by formulae maintainers to run `brew test`.
#:
#: If `--devel` is passed, and <formula> defines it, install the development version. #: If `--devel` is passed, and <formula> defines it, install the development version.
#: #:
#: If `--HEAD` is passed, and <formula> defines it, install the HEAD version, #: If `--HEAD` is passed, and <formula> defines it, install the HEAD version,

View File

@ -15,6 +15,7 @@ module HomebrewArgvExtension
--no-sandbox --no-sandbox
--build-bottle --build-bottle
--force-bottle --force-bottle
--include-test
--verbose --verbose
--force --force
-i -i

View File

@ -34,7 +34,7 @@ class FormulaInstaller
attr_accessor :options, :build_bottle, :invalid_option_names attr_accessor :options, :build_bottle, :invalid_option_names
attr_accessor :installed_as_dependency, :installed_on_request, :link_keg attr_accessor :installed_as_dependency, :installed_on_request, :link_keg
mode_attr_accessor :show_summary_heading, :show_header mode_attr_accessor :show_summary_heading, :show_header
mode_attr_accessor :build_from_source, :force_bottle mode_attr_accessor :build_from_source, :force_bottle, :include_test
mode_attr_accessor :ignore_deps, :only_deps, :interactive, :git mode_attr_accessor :ignore_deps, :only_deps, :interactive, :git
mode_attr_accessor :verbose, :debug, :quieter mode_attr_accessor :verbose, :debug, :quieter
@ -47,6 +47,7 @@ class FormulaInstaller
@build_from_source = ARGV.build_from_source? || ARGV.build_all_from_source? @build_from_source = ARGV.build_from_source? || ARGV.build_all_from_source?
@build_bottle = false @build_bottle = false
@force_bottle = ARGV.force_bottle? @force_bottle = ARGV.force_bottle?
@include_test = ARGV.include?("--include-test")
@interactive = false @interactive = false
@git = false @git = false
@verbose = ARGV.verbose? @verbose = ARGV.verbose?
@ -442,6 +443,8 @@ class FormulaInstaller
Requirement.prune Requirement.prune
elsif req.satisfied? elsif req.satisfied?
Requirement.prune Requirement.prune
elsif include_test? && req.test?
next
elsif !runtime_requirements.include?(req) && install_bottle_for_dependent elsif !runtime_requirements.include?(req) && install_bottle_for_dependent
Requirement.prune Requirement.prune
else else
@ -468,6 +471,8 @@ class FormulaInstaller
if (dep.optional? || dep.recommended?) && build.without?(dep) if (dep.optional? || dep.recommended?) && build.without?(dep)
Dependency.prune Dependency.prune
elsif include_test? && dep.test? && !dep.installed?
Dependency.keep_but_prune_recursive_deps
elsif dep.build? && install_bottle_for?(dependent, build) elsif dep.build? && install_bottle_for?(dependent, build)
Dependency.prune Dependency.prune
elsif dep.build? && dependent.installed? elsif dep.build? && dependent.installed?

View File

@ -216,7 +216,7 @@ With `--verbose` or `-v`, many commands print extra debugging information. Note
See the docs for examples of using the JSON output: See the docs for examples of using the JSON output:
<https://docs.brew.sh/Querying-Brew> <https://docs.brew.sh/Querying-Brew>
* `install` [`--debug`] [`--env=`(`std`|`super`)] [`--ignore-dependencies`|`--only-dependencies`] [`--cc=``compiler`] [`--build-from-source`|`--force-bottle`] [`--devel`|`--HEAD`] [`--keep-tmp`] [`--build-bottle`] [`--force`] [`--verbose`] `formula` [`options` ...]: * `install` [`--debug`] [`--env=`(`std`|`super`)] [`--ignore-dependencies`|`--only-dependencies`] [`--cc=``compiler`] [`--build-from-source`|`--force-bottle`] [`--include-test`] [`--devel`|`--HEAD`] [`--keep-tmp`] [`--build-bottle`] [`--force`] [`--verbose`] `formula` [`options` ...]:
Install `formula`. Install `formula`.
`formula` is usually the name of the formula to install, but it can be specified `formula` is usually the name of the formula to install, but it can be specified
@ -254,6 +254,9 @@ With `--verbose` or `-v`, many commands print extra debugging information. Note
current or newest version of macOS, even if it would not normally be used current or newest version of macOS, even if it would not normally be used
for installation. for installation.
If `--include-test` is passed, install testing dependencies. These are only
needed by formulae maintainers to run `brew test`.
If `--devel` is passed, and `formula` defines it, install the development version. If `--devel` is passed, and `formula` defines it, install the development version.
If `--HEAD` is passed, and `formula` defines it, install the HEAD version, If `--HEAD` is passed, and `formula` defines it, install the HEAD version,

View File

@ -229,7 +229,7 @@ Pass \fB\-\-all\fR to get information on all formulae, or \fB\-\-installed\fR to
See the docs for examples of using the JSON output: \fIhttps://docs\.brew\.sh/Querying\-Brew\fR See the docs for examples of using the JSON output: \fIhttps://docs\.brew\.sh/Querying\-Brew\fR
. .
.TP .TP
\fBinstall\fR [\fB\-\-debug\fR] [\fB\-\-env=\fR(\fBstd\fR|\fBsuper\fR)] [\fB\-\-ignore\-dependencies\fR|\fB\-\-only\-dependencies\fR] [\fB\-\-cc=\fR\fIcompiler\fR] [\fB\-\-build\-from\-source\fR|\fB\-\-force\-bottle\fR] [\fB\-\-devel\fR|\fB\-\-HEAD\fR] [\fB\-\-keep\-tmp\fR] [\fB\-\-build\-bottle\fR] [\fB\-\-force\fR] [\fB\-\-verbose\fR] \fIformula\fR [\fIoptions\fR \.\.\.] \fBinstall\fR [\fB\-\-debug\fR] [\fB\-\-env=\fR(\fBstd\fR|\fBsuper\fR)] [\fB\-\-ignore\-dependencies\fR|\fB\-\-only\-dependencies\fR] [\fB\-\-cc=\fR\fIcompiler\fR] [\fB\-\-build\-from\-source\fR|\fB\-\-force\-bottle\fR] [\fB\-\-include\-test\fR] [\fB\-\-devel\fR|\fB\-\-HEAD\fR] [\fB\-\-keep\-tmp\fR] [\fB\-\-build\-bottle\fR] [\fB\-\-force\fR] [\fB\-\-verbose\fR] \fIformula\fR [\fIoptions\fR \.\.\.]
Install \fIformula\fR\. Install \fIformula\fR\.
. .
.IP .IP
@ -263,6 +263,9 @@ If \fBHOMEBREW_BUILD_FROM_SOURCE\fR is set, regardless of whether \fB\-\-build\-
If \fB\-\-force\-bottle\fR is passed, install from a bottle if it exists for the current or newest version of macOS, even if it would not normally be used for installation\. If \fB\-\-force\-bottle\fR is passed, install from a bottle if it exists for the current or newest version of macOS, even if it would not normally be used for installation\.
. .
.IP .IP
If \fB\-\-include\-test\fR is passed, install testing dependencies\. These are only needed by formulae maintainers to run \fBbrew test\fR\.
.
.IP
If \fB\-\-devel\fR is passed, and \fIformula\fR defines it, install the development version\. If \fB\-\-devel\fR is passed, and \fIformula\fR defines it, install the development version\.
. .
.IP .IP