1
0
Fork 0
Commit Graph

5816 Commits (a732ea5dd8918e82b6b08c4df3c870e714410a71)

Author SHA1 Message Date
Jordi Boggiano 717c21b78a
Merge remote-tracking branch 'PReimers/issue-8004' 2019-04-05 16:03:26 +02:00
Rob Bast 4ea8e48bf8 leading whitespace is optional, but newline is not 2019-04-04 08:45:08 +02:00
Rob Bast 25e3f6d4b9 expand regex and testcases 2019-04-04 08:31:26 +02:00
Rob Bast 971528916b fix regex for heredoc/nowdoc
* take into account relaxed changes introduced in php 7.3
  * see: 4887357269
* allow " as well as ', which was introduced in php 5.3

closes #8080
2019-04-03 10:46:35 +02:00
Jordi Boggiano 0317199507
Merge branch 'master' into 2.0 2019-04-01 18:03:34 +02:00
Jordi Boggiano a186620210
Merge branch '1.8' 2019-04-01 18:01:19 +02:00
Jordi Boggiano 625bcee63a
Fix handling of warnings to incl all 4xx responses 2019-04-01 18:01:09 +02:00
Marc Würth fb8b06edef Remove unused local variable 2019-03-21 19:44:49 +01:00
Jordi Boggiano f5e1a36f57
Merge pull request #8042 from Novicaine/patch-1
Fix for UNC Windows paths
2019-03-19 11:34:39 +01:00
Jordi Boggiano 8944627245
Fix syntax and backslash escaping 2019-03-19 11:34:23 +01:00
Novicaine 486b25fd30
Fix for UNC Windows paths
Made isAbsolutePath recognize Windows UNC-style absolute paths starting with \\
2019-03-15 13:15:01 -05:00
Christian Ego 7c64300a1b using emptyDirectory instead of remove for clearing the cache 2019-03-11 10:24:39 +01:00
Patrick Reimers 8ae8d131d5
Add deprecation warning for name attribute 2019-03-05 10:44:55 +01:00
Jordi Boggiano 522ea033a3
Merge branch '1.8' 2019-03-04 17:26:35 +01:00
Markus Staab c876613d5c Added "Read more at" links to all commands (#8019) 2019-03-04 12:55:38 +01:00
Jordi Boggiano e3f68016ac
Merge branch '1.8' 2019-03-04 11:59:16 +01:00
Jordi Boggiano d96d046209
Fix require of platform packages with --ignore-platform-reqs, fixes #8012 2019-03-04 11:38:58 +01:00
Andreas Schempp 0e2215dc6c Added full unit test coverage 2019-03-04 11:08:59 +01:00
Andreas Schempp a91fd20673 Return the composer.json content instead of a zip:// path 2019-03-04 09:54:35 +01:00
Jordi Boggiano 9d139cb694
Merge branch '1.8' 2019-03-04 08:53:46 +01:00
Jordi Boggiano 6bce9da8c8
Only keep track of empty references that returned a 404 2019-03-04 08:53:18 +01:00
Patrick Reimers 627a832cc1
Return non zero exit code on deprecation 2019-03-01 19:39:07 +01:00
Andreas Schempp 0d0cb53f31 Adjust Zip Util to only find the root composer.json 2019-03-01 11:06:03 +01:00
Jordi Boggiano ba1e5c213c
Merge branch '1.8' 2019-02-27 15:07:33 +01:00
Jordi Boggiano 6473dd9185
Minor improvements to VersionCacheInterface 2019-02-27 15:03:25 +01:00
Andreas Schempp 05d6b21785 Use self:: for private method 2019-02-25 08:02:04 +01:00
Andreas Schempp 9de07bed1b Fixed docblocks 2019-02-25 08:01:38 +01:00
Jordi Boggiano f77285916a
Clean up temp file on curl request failure and make sure the response body is avaiable on 3xx/4xx/5xx responses 2019-02-21 15:28:50 +01:00
Jordi Boggiano d37642d9f2
Add missing use 2019-02-21 14:59:28 +01:00
Jordi Boggiano 3f5a986170
Show warning in all 400/500 responses if available, fixes #7814 2019-02-21 14:49:06 +01:00
Jordi Boggiano 5f988a34a6
Merge branch 'master' into 2.0 2019-02-21 14:08:56 +01:00
Jordi Boggiano 60f198c17d
Update target version 2019-02-21 14:06:41 +01:00
Jordi Boggiano 43a43f3cdf
Merge branch '1.8' 2019-02-21 14:06:17 +01:00
Jordi Boggiano 0f36a42d61
Allow filtering of warning/info msgs by composer version 2019-02-21 14:05:56 +01:00
Jordi Boggiano 4271167495
Improve version reporting 2019-02-21 14:05:12 +01:00
Jordi Boggiano ba346ef04d
Add forward compatibility for upcoming v2 installed.json format, refs #7999 2019-02-21 12:57:27 +01:00
Jordi Boggiano 60df892517
Store dev mode in installed.json, fixes #3008 2019-02-21 12:46:02 +01:00
Jordi Boggiano bdf1f7f82b
Fix loading of aliased packages in ComposerRepository when filtering by callback 2019-02-20 13:24:44 +01:00
Jordi Boggiano 2e204b0161
Remove support for the first version of the compression algo (#7906) 2019-02-20 11:10:44 +01:00
Jordi Boggiano 177f21ec5c
Fix loading of dev providers, refs #6415 2019-02-20 10:51:07 +01:00
Jordi Boggiano ff82334124
Load ~dev files as well as main provider files for new v2 protocol, fixes #6415 2019-02-20 09:24:13 +01:00
Jordi Boggiano d3873a0565
Merge branch '1.8' 2019-02-20 08:43:56 +01:00
Jordi Boggiano 61cd8664e5
Avoid creating empty bitbucket files if there was no composer.json present in the original branch/tag 2019-02-20 08:43:40 +01:00
Matthew Brown 65903aacfd Fix type issues (#7996)
* Fix type issues found by Psalm
2019-02-19 15:35:48 +01:00
Jordi Boggiano ab945a6ec1
Clean up RepositoryInterface, fixes #5464 2019-02-19 11:11:55 +01:00
Jordi Boggiano 6c782599f1
Make IOInterface implement psr-4 LoggerInterface, fixes #5180 2019-02-19 10:54:42 +01:00
Jordi Boggiano 3fc9ede24b
Add plugin callbacks for deactivation and uninstall, fixes #3000 2019-02-18 18:14:46 +01:00
Jordi Boggiano 1b7e957cc1
Add EventDispatcher::removeListener to allow deregistration of listeners 2019-02-18 18:12:38 +01:00
Jordi Boggiano d381b3a781
Fix variable name 2019-02-18 16:59:09 +01:00
Jordi Boggiano 7a301d9ad1
Merge pull request #7980 from johnstevenson/safe-junctions2
Improve safe junction logic
2019-02-18 14:30:38 +01:00
CZechBoY a062cd1a31
added phpstan on level 0 2019-02-18 13:05:14 +01:00
Jordi Boggiano 0fd74d1cc4
Fix PerforceDownloader, fixes #7979 2019-02-18 12:28:21 +01:00
Jordi Boggiano 9957807990
Merge branch 'master' into 2.0 2019-02-18 12:25:44 +01:00
Andreas Schempp 4d85e217c3 Extract the ZIP utility functions from ArtifactRepository 2019-02-16 18:46:59 +01:00
Jordi Boggiano 69745745b3
Merge branch '1.8' 2019-02-16 17:56:20 +01:00
Nils Adermann c875f538ea Make root alias behaviour consistent, add root ref handling, lock to newest metadata
root aliases during install should come from the lock file only, for
better reproducibility we don't reuse the value from update for the
following install
2019-02-14 17:57:29 +01:00
Markus Staab 0aa030f09d
Fixed typo introduced in recent fix 2019-02-13 07:26:14 +01:00
johnstevenson 4cf069535f Improve safe junction logic 2019-02-12 15:18:06 +00:00
Markus Staab fc2c445c06 Make sure we properly usleep() on windows rmdir/unlink
usleep() returns void, therefore the previous code didn't work
2019-02-12 13:57:21 +01:00
johnstevenson 6212eadcb0 Only use junctions if they can be safely removed 2019-02-11 22:23:23 +00:00
johnstevenson d1cf69fa92 Remove junctions with PHP rather than system rmdir
PHP will happily remove junctions using its `rmdir` function (tested on
versions back to 5.2.17). This saves invoking system `rmdir` through
cmd.exe.
2019-02-11 13:32:52 +00:00
Jordi Boggiano d788c67547
Merge branch '1.8' 2019-02-11 10:52:53 +01:00
Jordi Boggiano 5ce6ae34a4
Merge pull request #7941 from johnstevenson/junctions
Fix mode bitmask when detecting a Windows junction
2019-02-11 10:18:10 +01:00
Nils Adermann 10ada7bf82 Refactor Installer class into separate install and update processes
- Introduce separate Lock and LocalRepo transactions, one for changes
  to the lock file, one for changes to locally installed packages based
  on lock file
- Remove various hacks to keep dev dependencies updated and
  incorporated the functionality into the transaction classes
- Remove installed repo, there are now local repo, locked repo and
  platform repo
- Remove access to local repo from solver, only supply locked packages
- Update can now be run to modify the lock file but not install packages
  to local repo
2019-02-11 01:00:02 +01:00
Nils Adermann 1211ba1d51 BC break: Remove workaround for loading lock files without dev requires 2019-02-10 20:28:45 +01:00
Nils Adermann 287419f6a0 Merge branch 'master' into 2.0
* master:
  Follow up to #7946 test: add solver flag to assert path execution
  Fix tests
  Make sure config command output is also output on --quiet so that warnings can be hidden, fixes #7963
  Recognize composer-plugin-api as a platform package, fixes #7951
  Quote wildcards to avoid issues in some shells, fixes #7960
  Avoid dumping null values for dist reference/shasum and source reference, fixes #7955
  Soften hard exit after revert of composer file
  Make unixy proxy code POSIX compatible
  Update aliases.md
  Same but for Problem.php
  Better error message for present but incompatible versions
  Fix inconsistent casing
  Don't do (new Foo())->bar() - not 5.3-compatible
  Support identifying the HHVM version when not running with HHVM
2019-02-10 20:28:24 +01:00
Nils Adermann 0619fbed58 Merge branch '1.8'
* 1.8:
  Follow up to #7946 test: add solver flag to assert path execution
2019-02-10 20:28:05 +01:00
Nils Adermann 29ff6a40ae Follow up to #7946 test: add solver flag to assert path execution 2019-02-10 20:26:47 +01:00
johnstevenson da0dc74414 Update doc block, remove redundant clearstatcache 2019-02-10 14:41:20 +00:00
Jordi Boggiano ff246e3e85 Merge branch '1.8' 2019-02-10 12:59:38 +01:00
Jordi Boggiano 94df554255 Make sure config command output is also output on --quiet so that warnings can be hidden, fixes #7963 2019-02-10 12:57:39 +01:00
Jordi Boggiano e1ac0c7948 Recognize composer-plugin-api as a platform package, fixes #7951 2019-02-10 12:49:29 +01:00
Jordi Boggiano 408df4b878 Avoid dumping null values for dist reference/shasum and source reference, fixes #7955 2019-02-10 12:39:00 +01:00
Michael Telgmann eee98018f7 Soften hard exit after revert of composer file 2019-02-10 11:38:47 +01:00
johnstevenson f4b9bbbf42 Make unixy proxy code POSIX compatible 2019-02-08 17:33:13 +00:00
Jordi Boggiano f2cc666c2c
Merge pull request #7913 from fredemmott/hhvm-version
Support identifying the HHVM version when not running with HHVM
2019-02-08 16:13:32 +01:00
Fred Emmott 41c7f4d2bf
Same but for Problem.php 2019-02-06 13:11:04 -08:00
Fred Emmott 17788c76f6
Better error message for present but incompatible versions
hhvm-nightly (and next week's release) now report 4.x, so all the 3.x
constraints are now giving misleading error messages with this patch.

Before:

```
    - facebook/fbexpect v2.3.0 requires hhvm ^3.28 -> you are running this with PHP and not HHVM.
```

After:

```
    - facebook/fbexpect v2.3.0 requires hhvm ^3.28 -> your HHVM version (4.0.0-dev) does not satisfy that requirement.
```
2019-02-06 12:51:30 -08:00
Nils Adermann 728e57b9e0 Merge branch 'master' into 2.0
* master:
  Fix solver problem exceptions with unexpected contradictory "Conclusions"
  Also load config into IO if not freshly created
  Only load configuration into IO if IO is available
  Fix defaultRepos fallback does not use auth config
  Add warning/info msg when tweaking disable-tls setting to avoid confusion, fixes #7935
2019-02-05 15:35:51 +01:00
Nils Adermann fdcae616b0 Merge branch '1.8'
* 1.8:
  Fix solver problem exceptions with unexpected contradictory "Conclusions"
  Also load config into IO if not freshly created
  Only load configuration into IO if IO is available
  Fix defaultRepos fallback does not use auth config
2019-02-05 15:32:52 +01:00
Nils Adermann 6b2edeae56 Fix solver problem exceptions with unexpected contradictory "Conclusions"
This 5 character fix comes with a solver test as well as a functional
installer test essentially verifying the same thing. The solver test is
more useful when working on the solver. But the functional test is less
likely to be accidentally modified incorrectly during refactoring, as
every single package, version and link in the rather complex test
scenario is essential, and a modified version of the test may very well
still result in a successful installation but no longer verify the bug
described below.

Background:

In commit 451bab1c2c from May 19, 2012 I
refactored literals from complex objects into pure integers to reduce
memory consumption. The absolute value of an integer literal is the id
of the package it refers to in the package pool. The sign indicates
whether the package should be installed (positive) or removed (negative),

So a major part of the refactoring was swapping this call:

$literal->getPackageId()

For this:

abs($literal)

Unintentionally in line 554/523 I incorrectly applied this change to the
line:

$this->literalFromId(-$literal->getPackageId());

It was converted to:

-abs($literal);

The function literalFromId used to create a new literal object. By using
the abs() function this change essentially forces the resulting literal
to be negative, while the minus sign previously inverted the literal, so
positive into negative and vice versa.

This particular line is in a function meant to analyze a conflicting
decision during dependency resolution and to draw a conclusion from it,
then revert the state of the solver to an earlier position, and attempt
to solve the rest of the rules again with this new "learned" conclusion.

Because of this bug these conclusions could only ever occur in the
negative, e.g. "don't install package X". This is by far the most likely
scenario when the solver reaches this particular line, but there are
exceptions.

If you experienced a solver problem description that contained a
statement like "Conclusion: don't install vendor/package 1.2.3" which
directly contradicted other statements listed as part of the problem,
this could likely have been the cause.
2019-02-03 16:33:55 +01:00
Arnout Boks 82b010782d Also load config into IO if not freshly created 2019-01-31 13:46:46 +01:00
Arnout Boks e151a6c51c Only load configuration into IO if IO is available 2019-01-31 13:46:45 +01:00
Arnout Boks d1ce9f6246 Fix defaultRepos fallback does not use auth config
When a full 'composer' cannot be constructed (because there is no
local composer.json and no global composer.json), some commands
(e.g. `show -a`) fall back to the default repositories from the
`$COMPOSER_HOME/config.json` file. Without this fix, any auth
configuration from `$COMPOSER_HOME/auth.json` is not used for
these repositories in such a fallback scenario.

Steps to reproduce:

* Configure a password-protected composer repository in
  `$COMPOSER_HOME/config.json`.
* Configure valid credentials for that repository in
  `$COMPOSER_HOME/auth.json`.
* Make sure there is no file `$COMPOSER_HOME/composer.json`.
* Ensure the current working directory has no `composer.json`.
* Run `composer show -a some/package`.

Expected: Information about `some/package` is shown without
needing to enter credentials.

Actual: A prompt "Authentication required" is shown for the
private repository. When running the same command in a dir
that has a `composer.json`, or when `$COMPOSER_HOME/composer.json`
exists, things work as expected.
2019-01-31 13:46:45 +01:00
johnstevenson e085a72f64 Fix mode bitmask when detecting a Windows junction 2019-01-31 11:23:48 +00:00
Jordi Boggiano 19ba2edd5c Add warning/info msg when tweaking disable-tls setting to avoid confusion, fixes #7935 2019-01-30 08:58:38 +01:00
Jordi Boggiano 9c32808782 Merge branch 'master' into 2.0 2019-01-30 08:33:13 +01:00
Jordi Boggiano e05fa2368f Merge branch '1.8' 2019-01-30 08:31:38 +01:00
Fred Emmott 1b196720bf
Support identifying the HHVM version when not running with HHVM
hhvm-nightly (and the next release) are no longer able to execute
Composer. Support executing Composer with PHP to install dependencies
for hack projects.

The goal is for this to be temporary, until Hack identifies a new
package manager, given that Composer does not aim to be a multi-language
package manager.

fixes #7734
2019-01-29 09:48:15 -08:00
Hans-Christian Otto 85617aa740
Installer: Initialize $nameMatchesRequiredPackage
We had a case where we got `Undefined variable: nameMatchesRequiredPackage` — I think it should be initialized with false, right?
2019-01-29 17:26:59 +01:00
Jordi Boggiano f42d4d9ede Merge branch '1.8' 2019-01-29 15:02:53 +01:00
Jordi Boggiano 585535a01d Fix platform package regex 2019-01-29 14:58:37 +01:00
Jordi Boggiano 4517c00d40 Merge branch 'master' into 2.0 2019-01-29 14:01:28 +01:00
Jordi Boggiano 79af9d45af Merge branch '1.8' 2019-01-29 13:49:25 +01:00
Jordi Boggiano acea4a4d4d Warn on invalid package name or require/provide/.., fixes #7874 2019-01-29 13:46:23 +01:00
Jordi Boggiano 98a15bc93c Add output for metapackage installs/updates/.. fixes #7586 2019-01-29 11:38:18 +01:00
Jordi Boggiano 11bfe9970f
Merge pull request #7912 from kathyoungaligent/feature/no-api-config
Feature/no api config
2019-01-29 10:57:15 +01:00
Andrew Gillis dec2b5cd50 add gitlab token auth for git clone 2019-01-29 10:45:02 +01:00
Kath Young fbb9d20c33 Adjusted config name to be more descriptive, added documentation 2019-01-29 07:26:38 +10:30
Jordi Boggiano b89720b52a Merge branch 'master' into 2.0 2019-01-28 18:00:52 +01:00
Jordi Boggiano 81de5f82aa Merge branch '1.8' 2019-01-28 17:57:31 +01:00
Michael Käfer e0c44f2a25 Another MB to MiB 2019-01-28 17:55:17 +01:00
Michael Käfer 4765a8f21b MB to MiB
I did not study computer science, so correct me if I'm wrong. But I think you are calculating mebibyte (MiB) not megabyte (MB). Megabyte would be:
... round($valueInByte / 1000 / 1000, 2).'MB ...
Or is there some specific standard you follow? According to https://en.wikipedia.org/wiki/Binary_prefix both calculations (yours and mine) are correct in a way but I find yours to be not completely clear.
2019-01-28 17:55:13 +01:00
Jordi Boggiano 1f97ffdcd7 Add some docs 2019-01-28 17:54:32 +01:00
Sascha Egerer 82ecf95a3c Add PHP 5.3 compatibility 2019-01-28 17:34:29 +01:00
Sascha Egerer 1845adcfbd Fix update whitelist pattern resolving and add more tests 2019-01-28 17:34:24 +01:00
Sascha Egerer dc59af555a Fix invalid call to array_merge 2019-01-28 17:34:19 +01:00
Sascha Egerer 50cb5fe3da Update all whitelist matching root dependencies
The update command can receive a pattern like `vendor/prefix-*`
to update all matching packages.
This has not worked if multiple packages, depending on each other,
where matched to the given pattern. No package has been updated
in this case as only the first package matching the pattern was
added to the whitelist.
2019-01-28 17:34:08 +01:00
Den Girnyk 3b6b63784f Fix: Keep replaced packages for autoload dumping with --no-dev 2019-01-28 17:02:32 +01:00
Jordi Boggiano f599ebf55b
Merge pull request #7925 from localheinz/fix/empty
Fix: Remove empty node
2019-01-28 16:58:13 +01:00
Jordi Boggiano f1297b11bc Merge branch '1.8' 2019-01-28 16:56:40 +01:00
Andreas Möller ea333aa134
Fix: Remove empty node 2019-01-28 16:47:33 +01:00
Jordi Boggiano abcde19022 Document --no-check-all better, fixes #7889 2019-01-28 16:17:46 +01:00
Jordi Boggiano 2200043a43
Merge pull request #7900 from Great-Antique/fix-dumpautoload-no-dev-packages-resolving
Fix: Keep replaced packages for autoload dumping with --no-dev
2019-01-28 15:52:43 +01:00
Jordi Boggiano 66a77ed210 Merge branch '1.8' 2019-01-28 15:29:45 +01:00
Jordi Boggiano 02ceb74151 Tweak --no-cache option to be available globally and to not break VCS drivers relying on it, refs #7880, refs #6650 2019-01-28 15:29:37 +01:00
Jordi Boggiano 61bd9f83f1 Merge remote-tracking branch 'Dzhuneyt/6650-disable-cache-argument' 2019-01-28 15:19:48 +01:00
Jordi Boggiano a9aaa25d4c Fix compat with Symfony Process 4.2, fixes #7923 2019-01-28 14:46:34 +01:00
Jordi Boggiano 0b928b2a42 Merge branch 'master' into 2.0 2019-01-28 14:33:10 +01:00
Jordi Boggiano fa8d33d0ed
Merge pull request #7869 from fancyweb/add-interactive-inputs-to-buffer-io
feat(buffer-io): add the possibility to set user inputs for interactive questions
2019-01-28 14:31:02 +01:00
Jordi Boggiano ff815bbae7
Merge pull request #7868 from fancyweb/add-helper-set-to-buffer-io
feat(buffer-io): add question helper to helper set
2019-01-28 13:46:01 +01:00
Jordi Boggiano c669269ec0
Merge pull request #7867 from fancyweb/use-precise-helper-set
fix(application): use precise helper set
2019-01-28 13:45:27 +01:00
Jordi Boggiano 455b904267
Merge pull request #7909 from xuanquynh/add_alias_of_run_script_command
Add alias of run-script command
2019-01-28 11:01:17 +01:00
Jordi Boggiano 40cf7cb2f7 Merge branch '1.8' 2019-01-28 11:00:29 +01:00
Kath Young 8b1f8a4629 Add no-api in the config as an acceptable config 2019-01-22 11:22:55 +10:30
Kath Young 3d1e0e79cc Allow for no-api for Github to be a composer configuration as well as repo specific 2019-01-22 11:18:35 +10:30
Nguyễn Xuân Quỳnh bcff704bc5 Add alias of run-script command 2019-01-21 11:09:52 +07:00
Jordi Boggiano 0fca816d8f
Merge pull request #7871 from petecoop/patch-1
Fix spelling mistake on Cygwin
2019-01-19 19:04:28 +01:00
Jordi Boggiano 37550ce44b Add support for new minified format 2019-01-18 18:49:45 +01:00
Jordi Boggiano bb2f64c7bc Remove ability to override the entire HttpDownloader instance in PRE_FILE_DOWNLOAD events 2019-01-18 12:14:37 +01:00
Jordi Boggiano 549ccd8f79 Remote outputProgress concept from downloaders as it does not make sense when things happen in parallel, refs #7901 2019-01-18 11:48:51 +01:00
Den Girnyk 5b78ea529a
Fix: Keep replaced packages for autoload dumping with --no-dev 2019-01-18 11:45:35 +02:00
Jordi Boggiano 3dfcae99a9 Add parallel download capability to FileDownloader and derivatives 2019-01-18 08:39:03 +01:00
Stephan Vock 59360983c6 Archive: cleanup temp dir on download error 2019-01-17 13:08:51 +01:00
Jordi Boggiano 0f2f950cb6 Add available-packages key for new repo format, and many consistency tweaks/fixes across various repo formats 2019-01-15 11:40:49 +01:00
Jordi Boggiano c97b7a9be5 Fix implementation of filterPackages 2019-01-14 17:29:24 +01:00
Jordi Boggiano fd5c5ff6bc Fix implementation of whatProvides for older provider-only repos 2019-01-14 17:29:24 +01:00
Jordi Boggiano 4b7658a2a8 Small tweaks and make sure composer fails properly in a plane 2019-01-14 17:29:24 +01:00
Jordi Boggiano a5d5270a7e Make sure other providers of a name are never loaded 2019-01-14 17:29:24 +01:00
Jordi Boggiano 137c32e72e Do not prohibit http for old provider URLs on .org in case they are used 2019-01-14 17:29:24 +01:00
Jordi Boggiano b47330adf1 Refactor ComposerRepository to work with combined repos having lazy providers and partial packages 2019-01-14 17:29:24 +01:00
Jordi Boggiano 14d6bcedda Fix redirect handling and some output tweaks 2019-01-14 17:29:24 +01:00
Jordi Boggiano 00de0f5854 Fix 5.3 support 2019-01-14 17:29:24 +01:00
Jordi Boggiano fc03ab9bba Add COMPOSER_DISABLE_NETWORK env var for debugging 2019-01-14 17:29:24 +01:00
Jordi Boggiano e8c6948770 Deduplicate link instances between versions of a given package 2019-01-14 17:29:24 +01:00
Jordi Boggiano e753bf08b1 Minor tweaks 2019-01-14 17:29:24 +01:00
Jordi Boggiano 0961e16795 Add support for new metadata-url repo attribute 2019-01-14 17:29:24 +01:00
Jordi Boggiano e67030076a Fix show command 2019-01-14 17:29:24 +01:00
Jordi Boggiano ed65625126 Handle custom http options cleaner in ComposerRepo 2019-01-14 17:29:24 +01:00
Jordi Boggiano 788a822b24 Add some phpdocs 2019-01-14 17:29:24 +01:00
Jordi Boggiano 5d2b3276eb Avoid starting all jobs immediately 2019-01-14 17:29:24 +01:00
Jordi Boggiano 64384f8b15 Fix tests 2019-01-14 17:29:24 +01:00
Jordi Boggiano 9986b797fb Add support for redirects/retries in curl downloader 2019-01-14 17:29:23 +01:00
Jordi Boggiano fd11cf3618 Port/extract most behavior of RemoteFilesystem to CurlDownloader 2019-01-14 17:29:23 +01:00
Jordi Boggiano 4a8a1cb0c9 Fix PHP 5.3 support 2019-01-14 17:29:23 +01:00
Jordi Boggiano 655a784fac Fix findPackage(s) implementation 2019-01-14 17:29:23 +01:00
Jordi Boggiano 346de47af2 Small fixes 2019-01-14 17:29:23 +01:00
Jordi Boggiano 09fd239f24 Fix factory test 2019-01-14 17:29:23 +01:00
Jordi Boggiano 1cd9f4f9db Disable request_fulluri by default for HTTPS connections 2019-01-14 17:29:23 +01:00
Jordi Boggiano f946d8eb5a More RemoteFilesystem usage removals and some repository/vcs driver refactorings 2019-01-14 17:29:23 +01:00
Jordi Boggiano 713bc4de1d Minor fixes and updated the rest of the code/tests to use HttpDownloader 2019-01-14 17:29:23 +01:00
Jordi Boggiano 56805ecafe Add HttpDownloader to wrap/replace RemoteFilesystem with a new curl multi implementation 2019-01-14 17:29:23 +01:00
Dzhuneyt Ahmed 8c30b12bd9 Added no-cache argument to "composer install" and "composer update" 2019-01-07 18:36:21 +02:00
Dzhuneyt Ahmed 750692227f Added no-cache argument to "composer install" 2019-01-07 17:46:33 +02:00
fancyweb a9d6068c57 feat(buffer-io): add the possibility to set user inputs for interactive questions 2019-01-05 11:59:33 +01:00
Pete Cooper ea48bad401
Fix spelling mistake on Cygwin 2019-01-03 17:05:46 +00:00
fancyweb 45a7b8e1c2 feat(buffer-io): add question helper set 2019-01-03 10:40:04 +01:00
fancyweb 4b2e63704b fix(application): use precise helper set 2019-01-03 10:39:40 +01:00
Christopher Hertel e5989fcfe0 adding PHP_BINARY as env var to script execution 2018-12-26 21:17:57 +01:00
bugreportuser 2739fc05e9 Read htaccess-protect as a bool 2018-12-22 09:12:33 -06:00
bugreportuser 767462b409 Move config check after config read 2018-12-22 09:12:33 -06:00
Jordi Boggiano 618e21f1c1
Merge pull request #7819 from yassine-ah/patch-3
Ask confirmation when is run as admin
2018-12-21 11:56:45 +01:00
Raphaël Aurières 6725d1d244 Fix docblock. 2018-12-13 11:39:20 +01:00
Raphaël Aurières a8f27bf097 Fix constant usage to be compatible with PHP 5.3 2018-12-13 11:36:57 +01:00
Raphaël Aurières 3c01faf0e2 Use parameter with default value to set schema file path. 2018-12-13 10:26:29 +01:00
Nils Adermann 6c32393fd7
Merge pull request #7644 from naderman/pool-builder-prune-impossible-versions
PoolBuilder:  prune impossible versions before pool creation
2018-12-11 21:33:01 +00:00
Ahammar Yassine b4fae00db2
Change return code to 1 2018-12-04 18:54:57 +01:00
Ahammar Yassine 0fd4ef6d8e
Ask confirmation when is run as admin
Use return instead of exit for the Application to run cleanly
2018-12-04 17:47:45 +01:00
Ahammar Yassine 5548051977
Ask confirmation when is run as admin 2018-12-04 16:03:16 +01:00
Jordi Boggiano 411dd51f20 Merge branch 'master' into 2.0 2018-12-03 10:41:19 +01:00
meyerbaptiste 5ce5560040
Fix support for imagemagick <3.3, refs #7762 2018-11-27 16:32:26 +01:00
Jordi Boggiano 489e0d4b12 Add support for imagemagick <3.3, refs #7762 2018-11-27 14:26:03 +01:00
Jordi Boggiano 66d84f60c6 Fix pattern matching for remove wildcard, refs #7715 2018-11-26 20:09:26 +01:00
Jordi Boggiano dc6027a0ad Merge remote-tracking branch 'dmanners/remove-all-from-one-vendor' 2018-11-26 19:55:42 +01:00
Jordi Boggiano 85ec111dee Merge remote-tracking branch 'dmanners/add-chat-option-for-support' 2018-11-26 19:47:13 +01:00
Jordi Boggiano 736c05f66b Merge remote-tracking branch 'yassine-ah/patch-1' 2018-11-26 19:44:30 +01:00
Jordi Boggiano b3cbfea36e Merge branch '1.7' 2018-11-26 13:16:44 +01:00
Jordi Boggiano acdf8f83f1 Bypass version check for explicitly versioned packages in require command when --no-update is given, fixes #7800 2018-11-26 13:12:18 +01:00
Jordi Boggiano 6e6fb844dd Avoid validating package name if it has a newline at the end 2018-11-26 12:59:54 +01:00
Shalvah 42e88ac27a Add interactive option to install dependencies after running init command (#7521)
* Add interactive option to install dependencies after running init command

* Only ask to install dependencies when dependencies where defined
2018-11-26 12:57:38 +01:00
Elan Ruusamäe f9234222d1 add lib-imagick to show -p output (#7762) 2018-11-26 12:37:56 +01:00
Jérôme Deuchnord b0b00ad1fa Call a script recursively with extra parameters (#7720)
* Added support for calling scripts recursively (fixes #7562)
2018-11-26 12:35:41 +01:00
Michele Locati 04098153c8 Add support for running composer with phpdbg (#7798) 2018-11-26 12:32:31 +01:00
Jordi Boggiano 2e0f31106a Merge remote-tracking branch 'origin/master' into 2.0 2018-11-12 16:01:07 +01:00
Jordi Boggiano 5a56bb6971 Remove BC event and constraint classes 2018-11-12 15:57:44 +01:00
Gabriel Caruso 2a13bb2649 Fixes from PHPStan (#7687)
* fix docblocks

* remove redundant conditional

* fix wrong variable name

* fix wrong namespaces

* add missing private members

* remove unused/redundant arguments

* move testcase class

* exclude TestCase.php

* Tweak RuleWatchGraph type hints

* Tweak doc comment
2018-11-12 15:23:32 +01:00
Mathias Brodala 38a34159ef Dispatch "post-package-update" event after writing lock (#7766)
Fixes #7765
2018-11-12 11:32:19 +01:00
Jordi Boggiano 856df56bdd Revert #7755 2018-10-31 22:20:40 +01:00
Jordi Boggiano ceb3a7a8e8 Merge branch '1.7' 2018-10-31 18:32:39 +01:00
Jordi Boggiano 1898ad12ce Make sure we chdir back in case update dir is relative, refs #7519 2018-10-31 18:23:18 +01:00
Jordi Boggiano 2528654c53 Merge branch '1.7' 2018-10-31 18:13:39 +01:00
Jérôme Tanghe a51563300c Warning about the UNIX permissions lost if unzip command is not installed.
Some packages provide (such as Symfony Panther or Dusk) executable files, but
as PHP's unzip extension does not handle UNIX permissions, those files will
lose their executable ones.
2018-10-31 18:10:36 +01:00
Jordi Boggiano 284da1487c Avoid downgrading from error to warning 2018-10-31 17:36:38 +01:00
Ahammar Yassine da94e4b619 Skip all network-based checks (#7641)
* Skip all network-based checks

Change the warnings in diagnose to a friendly messages when allow_url_fopen is disabled.

Issue: #7622
2018-10-31 17:32:02 +01:00
Grzegorz Korba 0ee0138bed Support for ignoring packages in `outdated` command (#7682)
* Support for ignoring packages in `outdated` command. Fixes #7656
2018-10-31 17:18:54 +01:00
Seven Du 148e503b31 Modified comment block (#7700)
* Modified comment block
2018-10-31 16:57:44 +01:00
Raffael Comi 3c543b2752 Report "same as actual" version if override package matches actual 2018-10-31 16:50:21 +01:00
Michele Locati 41458c7518 Don't call Symfony ProcessUtils::escapeArgument 2018-10-31 16:13:37 +01:00
Jordi Boggiano 38a63ba05a Only show path for installed packages, refs #7698 2018-10-31 16:13:37 +01:00
Mariusz Zarzycki f72e2312dc Ran php-cs-fixer 2018-10-31 16:13:37 +01:00
Mariusz Zarzycki 77457ca474 Show command respects --path flag
Path added to package meta output
2018-10-31 16:13:37 +01:00
Jordi Boggiano ac524e9bf3
Merge pull request #7760 from deguif/1.7
Fix ini_get() for boolean values
2018-10-31 16:13:22 +01:00
Jordi Boggiano 9e6a0bff71
Merge pull request #7658 from fooman/fix-non-zip-file-with-zip-ext
Fix regression for artifact repository
2018-10-31 16:12:55 +01:00
Jordi Boggiano 8bead93343
Merge pull request #7648 from NickWilde1990/allow-plugin-commands-from-child-folders
Allow plugin commands to be run from child folders like core commands
2018-10-31 15:33:26 +01:00
Jordi Boggiano 359d1318f2
Merge pull request #7703 from glaubinix/t/composer-version-cache
Vcs Repository: add option to cache/reuse entire versions
2018-10-31 11:09:10 +01:00
François-Xavier de Guillebon 114217c6e3
Fix ini_get() for boolean values 2018-10-31 09:55:53 +01:00
Jordi Boggiano 11752864eb
Merge pull request #7735 from glaubinix/t/bitbucket-v1-API-deprecation
Bitbucket: switch to v2 API
2018-10-30 16:52:13 +01:00
Gabriel Caruso 2805a69e58 Simplify conditions and inline temp variables 2018-10-30 15:58:07 +01:00
Gabriel Caruso a64b652a6b Use func_num_args instead of counting on func_get_args 2018-10-30 15:57:27 +01:00
Alexey Kopytko 20107dbf77 Ensure that a missing SSL/TLS protection warning does not pollute STDOUT
Fixes #7737
2018-10-30 15:56:24 +01:00
Markus Staab 67e6d6d8a4 diagnose: write warning on stderr 2018-10-30 15:53:47 +01:00
Jordi Boggiano 5d92eea170
Merge pull request #7756 from glaubinix/f/undefined-index-preprocess
VcsRepository: fix undefined index notice in preProcess
2018-10-30 11:39:02 +01:00
Stephan Vock 105477218d VcsRepository: fix undefined index notice in preProcess 2018-10-29 12:01:46 +01:00
Stephan Vock 8b8df01336 Bitbucket: fix redirect behaviour 2018-10-26 15:48:18 +02:00
Stephan Vock 23d37eebe6 Fix: undefined index name in VcsRepository 2018-10-24 13:52:08 +02:00
Stephan Vock 819f487b38 Bitbucket: switch to v2 API 2018-10-19 14:31:17 +02:00
David Manners a1ab75a703 composer/composer#7159: make the remove command to a regex lookup on package name
- if you have multiple vendor modules installed you should be able to do composer remove vendor/* to remove all
 - update remove and also remove from alternative type to also do a preg_grep for what the user has inputed
2018-10-14 14:31:57 +00:00
David Manners 96347fbea1 composer/composer#7384: add chat to support options
- update schema documents to note that chat is allowed,
 - validate that chat must be a string and a url similar to forum options
2018-10-14 11:15:25 +00:00
Stephan Vock 5f2eefb49b Vcs Repository: add option to cache/reuse entire versions 2018-10-10 14:12:38 +02:00
Kristof Ringleff, Fooman 2ed573b22d Combine open zip call with conditional 2018-10-01 23:03:51 +13:00
Kristof Ringleff, Fooman bcf4e94e8a Ensure opening the zip was successful before proceeding 2018-10-01 23:03:51 +13:00
Max 4d86414dd1 Use a case insenstive method to check that SHA384 is a supported openssl algorithm 2018-09-24 12:18:04 +02:00
Nick Wilde 14c6c2c99f Allow plugin commands to be run from child folders as well as core commands 2018-09-16 13:12:14 -07:00
Nils Adermann 537f4fbc3b Prune unreachable required versions correctly for aliased packages
In trials this seems pointless, so maybe better to skip aliases and
reduce memory and cpu wasted on looking these things up
2018-09-14 15:03:38 +02:00
Nils Adermann 83efeaec5c Attempt to prune versions which are impossible to install during pool building 2018-09-14 14:40:34 +02:00
Nils Adermann f11c357325 Restore output of number of packages analyzed in solver 2018-09-14 14:39:24 +02:00
Nils Adermann b757c1952c Fix phpdoc 2018-09-13 15:24:12 +02:00
Ahammar Yassine 4a8c416a02
Update ValidateCommand.php
Skip publish and lock check even in strict check mode when the user want so.
Example : `composer validate --no-check-lock --strict composer.json`.
Issue : #7624
2018-09-13 11:17:30 +00:00
Nils Adermann 53c5e3c076
Merge pull request #7633 from naderman/remove-pool-whitelist
Remove pool whitelist
2018-09-13 11:29:13 +02:00
Jordi Boggiano af677553cc Merge branch '1.7' 2018-09-13 09:28:04 +02:00
Jordi Boggiano 0124e7b553 Revert "add removePackage() to RepositoryInterface"
This reverts commit cfb0d33c45.

Fixes #7634
2018-09-13 09:27:57 +02:00
Nils Adermann 7c2d3518e5 Remove whitelisting of required package names, done by pool builder now 2018-09-12 19:03:57 +02:00
Jordi Boggiano b441176f21 Merge remote-tracking branch 'origin/1.7' 2018-09-12 18:29:53 +02:00
Stephan Vock 896d801a30 Fix: Bitbucket getChangeDate throws exception for branches containing a slash 2018-09-12 12:01:43 -04:00
Nils Adermann 902cb290e7 Only load package versions which fit the root composer.json constraints 2018-09-12 16:48:17 +02:00
Nils Adermann 81bb8f81ad Set all package ids only once the pool is created
They all get set in one place only and at a specific time when nothing
else will possibly change them anymore
2018-09-12 14:31:40 +02:00
Nils Adermann 5c491ecc9b
Merge pull request #7625 from naderman/repository-set
Separate RepositorySet from Package Pool, load only metadata of packages directly required
2018-09-12 14:22:01 +02:00
Nils Adermann 261efe1e8e Implement loadPackages on Composer repositories with providers 2018-09-12 14:14:04 +02:00
Nils Adermann 019ebee185 Add missing use statement to package event to fix install --no-dev 2018-09-12 13:56:13 +02:00
Nils Adermann c0f19f6c57 Move construction of pool from repo set into a pool builder
Pool construction depends on the install request now, so only required
packages get loaded, add some structure for future asynchronously
loading composer repositories
2018-09-12 11:49:09 +02:00