| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
Unbundle the 900KB multi-sapi-5.3.29-homebrew.patch | 5 年前 | |
Refactored building `./configure` command-line options and environment variables In order to be able to build PHP 7.4 using Homebrew-managed dependencies (\#1085), the variant builder should not only be able to build command-line options for the `./configure` command but also generate the `PKG_CONFIG_PATH` environment variable. Currently it's implemented via storing the `PKG_CONFIG_PATH` components in the build object which then gets passed to the `ConfigureTask`. This pull request refactors this implementation by introducing the `ConfigureParameters` immutable value object that can be used for building command-line options and environment variables for the `./configure` command without storing anything in the `Build` object state or global state. All variant closures now take the a value of `ConfigurationParameters` and return a new version augmented with the parameters representing the variant. In addition to refactoring, the following cleanup and improvements have been done: 1. Changes in the `BuildSettings` class: - All properties have been made `private`. - The absence of a user-provided value for the variant is stored as `null`, not as `true`. This is more semantically correct, corresponds to the API of the variant builder closures and makes their code more straightforward. - The `#hasVariant()` method has been removed since it duplicates `#isEnabledVariant()`. - The `#isDisabledVariant()` method has been removed because it's not used anywhere. - The `#getVariants()` method has been renamed to `#getEnabledVariants()` for consistency with `#getDisabledVariants()`. - The `#getVariant()` method has been removed since it was needed for an edge case that has been reworked to not rely on it. - The `#grepExtraOptionsByPattern()` method has been removed. It violates the SRP: the callers should filter using whatever suitable implementation if needed. - The `#resolveVariants()` no longer returns a value since it's an implementation detail. The method may be removed later as unnecessary from the API perspective. 2. A new implementation of `PrefixFinder`, the `UserProvidedPrefix` class has been added. It helps avoid the repetitive `if ($prefix === null)` conditions in the variant builder closures. 3. The default `./configure` options like `--with-config-file-path` have been moved from `ConfigureTask` to `InstallCommand` in order for the user-provided options to have higher precedence. 4. The `ENV_*` constants, the `$phpEnvironment` property and the `#getIdentifier()` method of the `Build` class have been removed as unused. 5. Changes in the `VariantBuilder` class: - Most of the `public` properties have been made `private`. - The `#checkConflicts()` method has been made `private`. - The `#checkPkgPrefix()` method has been removed as unused. 6. The deprecated `icu` variant has been removed. The `intl` variant will detect the needed build prefix or, otherwise, it can be passed as an extra `--with-icu-dir` option. 7. The recently added warning in the `sodium` variant have been removed since they create unnecessary noise in the test output. Additionally, the `mcrypt`, `opcache` and `phpdbg` version-specific variants don't emit such warnings. As needed, the version awareness should be introduced on the framework level. 8. The `xml` variant no longer ignores the user-provided value. 9. The `xml_all` has been removed since it duplicates `xml`. 10. The `$prefix` / `$val` arguments of the variant builder closures have been consistently renamed to `$value` since they represent the user-provided value for the variant which is not always a prefix. The argument has been made required since it's part of the API and is always passed by the calling code. | 6 年前 | |
Removed more unused code | 6 年前 | |
add patch for readline build Adds patch to fix build of readline extension on modern Linux distros. This is a backport of a patch introduced in PHP 7.2: https://github.com/php/php-src/commit/1ea58b6e78355437b79fb7b1f287ba6688fb1c57 Fixes #889. | 5 年前 | |
Patch ext/gd in PHP < 7.4 for compatibility with newer Debian distros | 6 年前 | |
Added PHP_CodeSniffer configuration with PSR-12 as the target Additionally: 1. All class FQNs are replaced with imports. 2. Unused imports are removed. 3. Remaining imports are alphabetically sorted. 4. Expressions like `return $this->logger->error()` replaced with `$this->logger->error(); return` since most of the methods with such a combination do not return any value. 5. Removed doc-blocks autogenerated by PhpStorm. | 6 年前 | |
To be consistency, using the PHP_EOL to replace \n | 3 年前 | |
Added PHP_CodeSniffer configuration with PSR-12 as the target Additionally: 1. All class FQNs are replaced with imports. 2. Unused imports are removed. 3. Remaining imports are alphabetically sorted. 4. Expressions like `return $this->logger->error()` replaced with `$this->logger->error(); return` since most of the methods with such a combination do not return any value. 5. Removed doc-blocks autogenerated by PhpStorm. | 6 年前 | |
Added PHP_CodeSniffer configuration with PSR-12 as the target Additionally: 1. All class FQNs are replaced with imports. 2. Unused imports are removed. 3. Remaining imports are alphabetically sorted. 4. Expressions like `return $this->logger->error()` replaced with `$this->logger->error(); return` since most of the methods with such a combination do not return any value. 5. Removed doc-blocks autogenerated by PhpStorm. | 6 年前 | |
Clean up the temporary directory used during a package extraction 1. Create the temporary directory only if needed. 2. Remove it the class destructor. | 6 年前 | |
Run php-cs-fixer fix | 10 年前 | |
Added PHP_CodeSniffer configuration with PSR-12 as the target Additionally: 1. All class FQNs are replaced with imports. 2. Unused imports are removed. 3. Remaining imports are alphabetically sorted. 4. Expressions like `return $this->logger->error()` replaced with `$this->logger->error(); return` since most of the methods with such a combination do not return any value. 5. Removed doc-blocks autogenerated by PhpStorm. | 6 年前 | |
Added PHP_CodeSniffer configuration with PSR-12 as the target Additionally: 1. All class FQNs are replaced with imports. 2. Unused imports are removed. 3. Remaining imports are alphabetically sorted. 4. Expressions like `return $this->logger->error()` replaced with `$this->logger->error(); return` since most of the methods with such a combination do not return any value. 5. Removed doc-blocks autogenerated by PhpStorm. | 6 年前 | |
Code cleanup 1. Removed the unneeded `register/`, `registry/` and `variants/` directories. 2. Removed the `BuildRegister` class as unused. 3. Removed the functionality of `export()`/`import()` and serialization/unserialization from the `Build` class. | 6 年前 | |
Added PHP_CodeSniffer configuration with PSR-12 as the target Additionally: 1. All class FQNs are replaced with imports. 2. Unused imports are removed. 3. Remaining imports are alphabetically sorted. 4. Expressions like `return $this->logger->error()` replaced with `$this->logger->error(); return` since most of the methods with such a combination do not return any value. 5. Removed doc-blocks autogenerated by PhpStorm. | 6 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 5 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 5 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 3 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 10 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 |