Phing User Guide
Total Page:16
File Type:pdf, Size:1020Kb
< > Phing User Guide Andreas Aderhold <[email protected]> Alex Black <[email protected]> Manuel Holtgrewe <[email protected]> Hans Lellelid <[email protected]> Michiel Rook <[email protected]> Johan Persson <[email protected]> Phing User Guide by Andreas Aderhold, Alex Black, Manuel Holtgrewe, Hans Lellelid, Michiel Rook, and Johan Persson Publication date 2014-07-01 Copyright © 2007-2014 The Phing Project Preface .................................................................................................................................... xiii 1. About this book ..................................................................................................................... 1 1.1. Authors ....................................................................................................................... 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 ..................................................................................................... 11 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 ........................................................................................................ 16 3.2.1. Distribution Files ............................................................................................. 16 3.2.2. Getting the latest source from Phing Git repository ........................................... 16 3.3. PEAR Install ............................................................................................................. 17 3.4. Non-PEAR Install ...................................................................................................... 17 3.4.1. Unix ............................................................................................................... 18 3.4.2. Windows ........................................................................................................ 18 3.4.3. Advanced ....................................................................................................... 18 3.5. Calling Phing ............................................................................................................ 18 3.5.1. Command Line ............................................................................................... 18 3.5.2. Supported command line arguments ............................................................... 19 4. Getting started ..................................................................................................................... 21 4.1. XML And Phing ......................................................................................................... 21 4.2. Writing A Simple Buildfile .......................................................................................... 21 4.2.1. Project Element .............................................................................................. 22 4.2.2. Target Element ............................................................................................... 22 4.2.3. Task Elements ............................................................................................... 23 4.2.4. Property Element ............................................................................................ 24 4.3. More Complex Buildfile .............................................................................................. 24 4.3.1. Handling source dependencies ....................................................................... 25 4.4. Relax NG Grammar .................................................................................................. 25 5. Project components ............................................................................................................. 27 5.1. Projects .................................................................................................................... 27 5.2. Version ..................................................................................................................... 27 5.3. Project Components in General ................................................................................. 27 5.4. Targets ..................................................................................................................... 28 5.5. Tasks ........................................................................................................................ 28 5.6. Types ....................................................................................................................... 29 5.6.1. Basics ............................................................................................................ 29 5.6.2. Referencing Types ......................................................................................... 29 5.7. Basic Types .............................................................................................................. 30 5.7.1. FileSet ........................................................................................................ 30 5.7.2. FileList ...................................................................................................... 30 5.7.3. FilterChains and Filters ............................................................................. 30 5.7.4. File Mappers .................................................................................................. 31 5.8. Conditions ................................................................................................................. 32 5.8.1. not ................................................................................................................ 32 5.8.2. and ................................................................................................................ 32 iii Phing User Guide 5.8.3. or .................................................................................................................. 32 5.8.4. os .................................................................................................................. 32 5.8.5. equals .......................................................................................................... 33 5.8.6. isset ............................................................................................................ 33 5.8.7. contains ...................................................................................................... 33 5.8.8. istrue .......................................................................................................... 33 5.8.9. isfalse ........................................................................................................ 34 5.8.10. referenceexists ...................................................................................... 34 5.8.11. available .................................................................................................. 34 6. Extending Phing ................................................................................................................... 35 6.1. Extension Possibilities ............................................................................................... 35 6.1.1. Tasks ............................................................................................................. 35 6.1.2. Types ............................................................................................................. 35 6.1.3. Mappers ......................................................................................................... 35 6.2. Source Layout ........................................................................................................... 35 6.2.1. Files And Directories .....................................................................................