Phing User Guide
Total Page:16
File Type:pdf, Size:1020Kb
< > Phing User Guide Michiel Rook <[email protected]> Ken Guest <[email protected]> Siad Ardroumli <[email protected]> Phing User Guide by Michiel Rook, Ken Guest, and Siad Ardroumli Phing 3.x Publication date 2021-09-07 07:19:44 Copyright © 2002-2020 The Phing Project Preface ................................................................................................................................... xvii 1. About this book ..................................................................................................................... 1 1.1. Contributors (present and past) ................................................................................... 1 1.2. Copyright .................................................................................................................... 1 1.3. License ....................................................................................................................... 1 1.4. DocBook ..................................................................................................................... 1 1.4.1. Building the documentation ............................................................................... 2 1.4.2. Template for new tasks .................................................................................... 4 1.4.3. Customization of the look & feel of the rendered outputs .................................... 4 1.4.4. DocBook v5 elements used in the manual and their meaning .............................. 5 2. Introduction .......................................................................................................................... 11 2.1. What Phing Is ........................................................................................................... 11 2.2. Phing & Binarycloud: History ..................................................................................... 11 2.3. How Phing Works ..................................................................................................... 12 2.4. Cool, so how can I help? .......................................................................................... 12 2.4.1. Participating in the development ..................................................................... 12 3. Setting-up Phing .................................................................................................................. 15 3.1. System Requirements ............................................................................................... 15 3.1.1. Operating Systems ......................................................................................... 15 3.1.2. Software Dependencies .................................................................................. 15 3.2. Obtaining Phing ........................................................................................................ 15 3.2.1. Distribution Files ............................................................................................. 15 3.2.2. Composer Install ............................................................................................ 15 3.2.3. Phar package ................................................................................................. 16 3.2.4. Getting the latest source from Phing's Github repository ................................... 16 3.3. Running Phing .......................................................................................................... 16 3.3.1. Command Line ............................................................................................... 16 3.3.2. Supported command line arguments ............................................................... 16 4. Getting started ..................................................................................................................... 19 4.1. XML And Phing ........................................................................................................ 19 4.2. Writing A Simple Buildfile .......................................................................................... 19 4.2.1. Project Element .............................................................................................. 20 4.2.2. Target Element .............................................................................................. 21 4.2.3. Task Elements ............................................................................................... 21 4.2.4. Property Element ........................................................................................... 22 4.3. More Complex Buildfile ............................................................................................. 22 4.3.1. Handling source dependencies ....................................................................... 23 4.4. Relax NG Grammar .................................................................................................. 24 5. Project components ............................................................................................................. 25 5.1. Projects .................................................................................................................... 25 5.2. Version ..................................................................................................................... 25 5.3. Project Components in General ................................................................................. 25 5.4. Targets ..................................................................................................................... 26 5.5. Tasks ....................................................................................................................... 26 5.6. Types ....................................................................................................................... 27 5.6.1. Basics ............................................................................................................ 27 5.6.2. Referencing Types ......................................................................................... 27 5.7. Basic Types .............................................................................................................. 28 5.7.1. FileSet ....................................................................................................... 28 5.7.2. FileList ..................................................................................................... 28 5.7.3. FilterChains and Filters ............................................................................. 28 5.7.4. File Mappers .................................................................................................. 29 5.8. Conditions ................................................................................................................. 30 5.8.1. not ............................................................................................................... 30 5.8.2. and ............................................................................................................... 30 5.8.3. or ................................................................................................................. 30 5.8.4. xor ............................................................................................................... 30 5.8.5. os ................................................................................................................. 31 iii Phing User Guide 5.8.6. equals ......................................................................................................... 31 5.8.7. versioncompare .......................................................................................... 31 5.8.8. http ............................................................................................................. 32 5.8.9. PDOSQLExec .................................................................................................. 32 5.8.10. socket ........................................................................................................ 33 5.8.11. hasfreespace ............................................................................................ 33 5.8.12. isset .......................................................................................................... 34 5.8.13. contains .................................................................................................... 34 5.8.14. istrue ........................................................................................................ 34 5.8.15. isfalse ...................................................................................................... 35 5.8.16. ispropertytrue ........................................................................................ 35 5.8.17. ispropertyfalse ...................................................................................... 35 5.8.18. referenceexists ...................................................................................... 35 5.8.19. available .................................................................................................. 36 5.8.20. filesmatch ................................................................................................ 36 5.8.21. isfileselected ........................................................................................ 36 5.8.22. isfailure .................................................................................................. 36 5.8.23. matches .....................................................................................................