Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
jawira committed Feb 2, 2021
2 parents c7bcabf + 398f479 commit 919e771
Show file tree
Hide file tree
Showing 1,148 changed files with 8,556 additions and 16,417 deletions.
2 changes: 1 addition & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@
.idea
build
docs
test
tests
vendor
8 changes: 6 additions & 2 deletions .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,17 @@ root = true
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 2
trim_trailing_whitespace = true

[*.json]
indent_size = 4

[*.{php, xml, rng}]
insert_final_newline = true
indent_size = 4

[*.md]
[*.{md, txt}]
insert_final_newline = true
trim_trailing_whitespace = false
2 changes: 1 addition & 1 deletion .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,5 @@ hlsaxon text eol=lf
.gitignore text eol=lf

docs export-ignore
test export-ignore
tests export-ignore
composer.lock export-ignore
2 changes: 1 addition & 1 deletion .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
github: [mrook, siad007, kenguest]
github: [mrook, siad007]
patreon: michielrook
55 changes: 44 additions & 11 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,28 @@ name: Phing CI

on:
push:
pull_request_target:
pull_request:

jobs:
pre_job:
# continue-on-error: true # Uncomment once integration is finished
runs-on: ubuntu-latest
# Map a step output to a job output
outputs:
should_skip: ${{ steps.skip_check.outputs.should_skip }}
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@master
with:
# All of these options are optional, so you can remove them if you are happy with the defaults
concurrent_skipping: 'never'
skip_after_successful_duplicate: 'true'
paths_ignore: '["**/README.md", "**/docs/**"]'
do_not_skip: '["push", "workflow_dispatch", "schedule"]'

static_code_analysis:
needs: pre_job
if: ${{ needs.pre_job.outputs.should_skip != 'true' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
Expand All @@ -16,19 +33,30 @@ jobs:
with:
dependency-versions: 'locked'

- name: Static Code Analysis
run: bin/phpcs -s -n --standard=./ruleset.xml classes test/classes
- name: Code style
run: bin/phpcs -s -n --standard=./ruleset.xml classes src tests/Phing

- name: Static analysis (level 1)
run: bin/phpstan

test:
needs:
- pre_job
- static_code_analysis
if: ${{ needs.pre_job.outputs.should_skip != 'true' }}
runs-on: ${{ matrix.operating-system }}
continue-on-error: ${{ matrix.experimental }}
strategy:
fail-fast: true
fail-fast: false
matrix:
operating-system: [ ubuntu-latest, macos-latest, windows-latest ]
php: [ '7.3', '7.4', '8.0' ]
dependencies: [ 'lowest', 'locked' ]
experimental: [ false ]
include:
- php: 8.1
operating-system: ubuntu-latest
experimental: true

name: PHP ${{ matrix.php }} on ${{ matrix.operating-system }} with ${{ matrix.dependencies }} dependencies

Expand All @@ -37,28 +65,31 @@ jobs:
name: Checkout repository

- name: Setup PHP
uses: nanasess/setup-php@master
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: pdo_sqlite,pdo_mysql

- uses: ramsey/composer-install@v1
with:
dependency-versions: ${{ matrix.dependencies }}
composer-options: ${{ matrix.composer-options }}

- name: Test phing
working-directory: test
working-directory: tests
run: |
echo "=== SETTING GIT IDENTITY ==="
git config --global user.email "github-ci-build@phing.info"
git config --global user.name "Phing Github Action"
echo "=== RUN TESTS ==="
../bin/phing -Dtests.codecoverage=false -listener "phing.listener.StatisticsListener"
../bin/phing -Dtests.codecoverage=false -listener "Phing\\Listener\\StatisticsListener"
build_phar:
runs-on: ubuntu-latest
needs:
- pre_job
- test
if: ${{ needs.pre_job.outputs.should_skip != 'true' }}
steps:
- uses: actions/checkout@v2
name: Checkout repository
Expand Down Expand Up @@ -93,7 +124,9 @@ jobs:
coverage:
runs-on: ubuntu-latest
needs:
- pre_job
- static_code_analysis
if: ${{ needs.pre_job.outputs.should_skip != 'true' }}
steps:
- name: Checkout repository
uses: actions/checkout@v2
Expand All @@ -119,19 +152,19 @@ jobs:
run: composer install --no-interaction --no-progress --ansi

- name: Test with coverage
working-directory: test
working-directory: tests
run: |
echo "=== SETTING GIT IDENTITY ==="
git config --global user.email "github-ci-build@phing.info"
git config --global user.name "Phing Github Action"
echo "=== RUN TESTS ==="
../bin/phing -debug -Dtests.codecoverage=true -listener "phing.listener.StatisticsListener"
../bin/phing -debug -Dtests.codecoverage=true -listener "Phing\\Listener\\StatisticsListener"
- name: Transfer coverage
if: github.repository_owner == 'phingofficial'
run: |
bash <(curl -s https://codecov.io/bash) -f ./test/reports/clover-coverage.xml
wget https://scrutinizer-ci.com/ocular.phar && php ocular.phar code-coverage:upload --format=php-clover ./test/reports/clover-coverage.xml
bash <(curl -s https://codecov.io/bash) -f ./tests/reports/clover-coverage.xml
wget https://scrutinizer-ci.com/ocular.phar && php ocular.phar code-coverage:upload --format=php-clover ./tests/reports/clover-coverage.xml
notify:
runs-on: ubuntu-latest
Expand Down
9 changes: 5 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,15 @@
.idea/
build/full
build/pear
test/reports/
docs/api/docs
vendor/
bin/*
!bin/pear*
!bin/phing*
**/*.log
**/*.log.txt
test/etc/tasks/system/defaultexcludestestinput/
test/etc/types/selectors/tmp/
test/tmp/
tests/.phpunit.result.cache
tests/etc/tasks/system/defaultexcludestestinput/
tests/etc/types/selectors/tmp/
tests/reports/
tests/tmp/
4 changes: 2 additions & 2 deletions .scrutinizer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ tools:
timeout: 1200

filter:
paths: ["classes/*", "test/classes/*", "test/bootstrap.php"]
paths: ["classes/*", "src/Phing/*", "tests/bootstrap.php", "tests/Phing/*"]
dependency_paths:
- "vendor/"

Expand All @@ -23,4 +23,4 @@ build:
tests:
tests:
override:
- 'git config --global user.email "scrutinizer@phing.info" && git config --global user.name "Phing Scrutinizer Builder" && cd test && ../bin/phing'
- 'git config --global user.email "scrutinizer@phing.info" && git config --global user.name "Phing Scrutinizer Builder" && cd tests && ../bin/phing'
99 changes: 99 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,92 @@ P H I N G
=========================


Feb. X, 2021 - Phing 3.0.0 rc1
------------------------------

The following issues and pull requests were closed in this release:

* Fixed windows line ending issue [\#1500](https://github.com/phingofficial/phing/pull/1500)
* Fixed line ending issue on windows [\#1499](https://github.com/phingofficial/phing/pull/1499)
* excludesfile example [\#1498](https://github.com/phingofficial/phing/issues/1498)
* Updated composer dependencies [\#1496](https://github.com/phingofficial/phing/pull/1496)
* Added ModifiedSelector. [\#1487](https://github.com/phingofficial/phing/pull/1487)
* [PHPUnitTask] Removed PHPUnitTestRunner7 [\#1486](https://github.com/phingofficial/phing/pull/1486)
* [Pear*] Removed unused test xml file. [\#1485](https://github.com/phingofficial/phing/pull/1485)
* [phploc] Fixed test case. [\#1484](https://github.com/phingofficial/phing/pull/1484)
* [phploc] Json formatter not tested [\#1483](https://github.com/phingofficial/phing/issues/1483)
* Size helper [\#1482](https://github.com/phingofficial/phing/pull/1482)
* [PatternSet] Simplified __toString method. [\#1481](https://github.com/phingofficial/phing/pull/1481)
* Standardize file size units [\#1480](https://github.com/phingofficial/phing/issues/1480)
* [core] Fixed codecoverage in action with latest ubuntu [\#1478](https://github.com/phingofficial/phing/pull/1478)
* Show suggestion on unknown target [\#1477](https://github.com/phingofficial/phing/pull/1477)
* [BindTargets] Added BindTargets Task [\#1476](https://github.com/phingofficial/phing/pull/1476)
* Changed build trigger handling [\#1474](https://github.com/phingofficial/phing/pull/1474)
* [DateSelector] Add tests and correct behavior [\#1473](https://github.com/phingofficial/phing/pull/1473)
* [core] Fixed delta in TimerTest.php [\#1471](https://github.com/phingofficial/phing/pull/1471)
* [core] Move internal build steps from travis to github [\#1470](https://github.com/phingofficial/phing/pull/1470)
* Updated Dependencies [\#1469](https://github.com/phingofficial/phing/pull/1469)
* Changed arg passed to phploc [\#1457](https://github.com/phingofficial/phing/pull/1457)
* Add tests and correct TouchTask behavior [\#1456](https://github.com/phingofficial/phing/pull/1456)
* [PHPUnitTask] Added haltondefect argument [\#1455](https://github.com/phingofficial/phing/pull/1455)
* [TouchTask] Test doesn't check that files were created with the correct timestamp [\#1454](https://github.com/phingofficial/phing/issues/1454)
* [TouchTask] millis attribute leads to invalid dates [\#1453](https://github.com/phingofficial/phing/issues/1453)
* [TouchTask] allows invalid datetime values to be specified [\#1452](https://github.com/phingofficial/phing/issues/1452)
* [PHPUnitTask] Fixed processIsolation setting [\#1451](https://github.com/phingofficial/phing/pull/1451)
* [PHPUnitTask] renamed formatter [\#1448](https://github.com/phingofficial/phing/pull/1448)
* [core] Removed unused excludes in test build. [\#1447](https://github.com/phingofficial/phing/pull/1447)
* [core] Work on PHP 8 [\#1445](https://github.com/phingofficial/phing/pull/1445)
* [DeleteTask] Fixed that only variables can be passed by reference. [\#1444](https://github.com/phingofficial/phing/pull/1444)
* [PHPUnitTask] Removed includes [\#1443](https://github.com/phingofficial/phing/pull/1443)
* [core] Fixed tests [\#1442](https://github.com/phingofficial/phing/pull/1442)
* [core] Added PHP 8.0 and 8.1 snapshot to travis [\#1441](https://github.com/phingofficial/phing/pull/1441)
* Fix deprecated ReflectionParameter::getClass() [\#1440](https://github.com/phingofficial/phing/pull/1440)
* [PlainPHPUnitResultFormatter] Added risky counter [\#1439](https://github.com/phingofficial/phing/pull/1439)
* [PHPUnitResultFormatter] Added risky test counter to summary [\#1438](https://github.com/phingofficial/phing/pull/1438)
* [CoverageMergerTask] Fixed code coverage handling [\#1437](https://github.com/phingofficial/phing/pull/1437)
* Add new optional clover-html formatter. [\#1436](https://github.com/phingofficial/phing/pull/1436)
* [PHPUnitResultFormatter] Added warning and risky counter [\#1435](https://github.com/phingofficial/phing/pull/1435)
* [PHPUnitTask] Added failure handling for risky and warning tests [\#1434](https://github.com/phingofficial/phing/pull/1434)
* [PHPUnitTask] Added missing halton* methods. [\#1433](https://github.com/phingofficial/phing/pull/1433)
* Added coverage-* related test setup [\#1432](https://github.com/phingofficial/phing/pull/1432)
* Make use of PHPUnit 9 code coverage and reporting [\#1431](https://github.com/phingofficial/phing/pull/1431)
* Make better use of PHPUnit 9 code coverage and reporting [\#1430](https://github.com/phingofficial/phing/issues/1430)
* [PHPUnitReportTask] Fixed windows detection [\#1429](https://github.com/phingofficial/phing/pull/1429)
* Delete unused. [\#1428](https://github.com/phingofficial/phing/pull/1428)
* ComposerTask tests don't need Composer on the path [\#1427](https://github.com/phingofficial/phing/pull/1427)
* ComposerTask test failing if Composer isn't on the path [\#1426](https://github.com/phingofficial/phing/issues/1426)
* SonarConfigurationFileParser tests fail on cygwin (Windows) [\#1425](https://github.com/phingofficial/phing/pull/1425)
* Fix ini parser must ignore ini sections [\#1421](https://github.com/phingofficial/phing/pull/1421)
* Fixed env handling for windows [\#1419](https://github.com/phingofficial/phing/pull/1419)
* Environment argument for ExecTask is broken for windows [\#1417](https://github.com/phingofficial/phing/issues/1417)
* Move composer vaidation to action [\#1415](https://github.com/phingofficial/phing/pull/1415)
* Added GITHub action workflow. [\#1414](https://github.com/phingofficial/phing/pull/1414)
* Fixed Windows codepage setting for utf8 beta. [\#1413](https://github.com/phingofficial/phing/pull/1413)
* Updated dependencies [\#1412](https://github.com/phingofficial/phing/pull/1412)
* Windows & UTF-8 [\#1399](https://github.com/phingofficial/phing/issues/1399)
* Fix Support for Nested Exec Env Tag - Fixes #1395 [\#1396](https://github.com/phingofficial/phing/pull/1396)
* ENV SubTask Not Working as Expected [\#1395](https://github.com/phingofficial/phing/issues/1395)
* Added new version of FtpDeloyTask [\#1394](https://github.com/phingofficial/phing/pull/1394)
* Variable properties which could not expanded should be null. [\#1393](https://github.com/phingofficial/phing/pull/1393)
* Error resolving proxy [\#1391](https://github.com/phingofficial/phing/issues/1391)
* Fix visualizer bug [\#1390](https://github.com/phingofficial/phing/pull/1390)
* [HttpRequest] Fixed verbose mode. [\#1389](https://github.com/phingofficial/phing/pull/1389)
* [phploc] Fixed broken task for PHP >= 7.3 [\#1387](https://github.com/phingofficial/phing/pull/1387)
* Downgraded guzzle to 6.5 [\#1386](https://github.com/phingofficial/phing/pull/1386)
* httpget broken by guzzle update [\#1385](https://github.com/phingofficial/phing/issues/1385)
* Could not create task/type: 'scp'. Make sure that this class has been declared using taskdef / typedef. (3.0.0-alpha4) [\#1372](https://github.com/phingofficial/phing/issues/1372)
* VisualizerTask bug [\#1388](https://github.com/phingofficial/phing/issues/1388)
* Reliance on PEAR packages despite being removed from PEAR itself [\#1370](https://github.com/phingofficial/phing/issues/1370)
* [SubPhing] Fail on error should also be passed to the phing task. [\#1361](https://github.com/phingofficial/phing/pull/1361)
* Cleanup test build script [\#1332](https://github.com/phingofficial/phing/pull/1332)
* Added missing Target::dependsOn implementation [\#1303](https://github.com/phingofficial/phing/pull/1303)
* Declaration of case-insensitive constants is deprecated - replace Net_FTP [\#1224](https://github.com/phingofficial/phing/issues/1224)

Jan. 29, 2021 - Phing 2.16.4
----------------------------

This patch release fixes some PHP 8.0 compatibility issues.

Jul. 4, 2020 - Phing 3.0.0 alpha 4
----------------------------------

Expand Down Expand Up @@ -144,6 +230,19 @@ The following issues and pull requests were closed in this release:
* Auto-discover custom tasks when installed through Composer [\#654](https://github.com/phingofficial/phing/issues/654)
* MkdirTask behaves the same as "mkdir" Linux command and respects POSIX ACL [\#591](https://github.com/phingofficial/phing/pull/591)

Feb. 3, 2020 - Phing 2.16.3
---------------------------

This patch release fixes additional PHP 7.4 deprecation issues.

Jan. 3, 2020 - Phing 2.16.2
---------------------------

This patch release fixes the following issue:

* PHP-7.4: PHP Deprecated: Array and string offset access syntax with curly braces [\#1210](https://github.com/phingofficial/phing/issues/1210)
* Add symfony/yaml ^2.8 to restore PHP 5.4 compatibility [\#919](https://github.com/phingofficial/phing/issues/919)

Sep. 13, 2019 - Phing 3.0.0 alpha 3
-----------------------------------

Expand Down
17 changes: 15 additions & 2 deletions CREDITS.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,21 @@ P H I N G
=========================


We're forever indebted to the folks turning their (free) time into valuable Phing contributions.
If you've done work on Phing and you are not listed here, please feel free to add yourself.


Phing 3.x Development
---------------------

- Michiel Rook <mrook@php.net>
- Ken Guest <ken@linux.ie>
- Siad Ardroumli <siad.ardroumli@gmail.com>
- Jawira Portugal
- Thomas Müller
- Blair Cooper


Phing 2.x Development
---------------------

Expand Down Expand Up @@ -34,8 +49,6 @@ Phing 2.x Development
- Ken Guest <ken@linux.ie>
- Siad Ardroumli <siad.ardroumli@gmail.com>

If you've done work on Phing and you are not listed here, please feel free
to add yourself.

Original Phing 1.x Development
------------------------------
Expand Down
3 changes: 2 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ FROM composer:1.9 AS composer

ADD composer.* ./
ADD classes/ classes
RUN mkdir -p test/classes
ADD src/ src

RUN composer global require hirak/prestissimo --no-plugins --no-scripts
RUN composer install --optimize-autoloader --prefer-dist --no-progress --no-interaction
Expand All @@ -15,6 +15,7 @@ WORKDIR /app

ADD bin/phing* bin/
ADD classes/ classes
ADD src/ src
ADD etc/ etc

COPY --from=composer /app/vendor/ ./vendor
Expand Down
9 changes: 5 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,11 @@

If you find yourself writing custom scripts to handle the packaging, deploying, or testing of your applications, then we suggest looking at Phing. Pre-packaged with numerous out-of-the-box operation modules (tasks), and an easy-to-use OO model to extend or add your own custom tasks.

## The Latest Version
For more information and documentation, you can visit our official website at <https://www.phing.info/>.

Details of the latest version can be found on the Phing homepage
<https://www.phing.info/>.
## Phing 3

Phing 3 is a significant update with some breaking changes compared to Phing 2. For details, please refer to the [UPGRADING.md](UPGRADING.md) file.

## Supported PHP versions

Expand Down Expand Up @@ -134,7 +135,7 @@ If you'd like to contribute code to Phing, please make sure you run the tests be
Then, perform the following steps (on a clone/fork of Phing):

$ composer install
$ cd test
$ cd tests
$ ../bin/phing

## Licensing
Expand Down
Loading

0 comments on commit 919e771

Please sign in to comment.