Ant
• Ant is kind of GNU make
• Ant is a Java library and command-line tool
• Ant is Open Source, maintained by Apache
• Ant is cross platform and portable
• Ant is well suited to a large number of
automation and scripting tasks
http://phpday.it #phpday @k3a
Phing
• PHing Is Not GNU make
• It's a PHP project build system or
build tool based on Apache Ant
http://phpday.it #phpday @k3a
Installation Ant
• Apt-get o Yum
• Donwload binary file and setup the env
• SVN + Build
• Requires JRE 1.4
http://phpday.it #phpday @k3a
Ant Phing
Netbeans Plugin No
Eclipse Plugin wip
Built-in*
Zend Studio Run cmd
Textmate Bundle** Bundle**
phpStorm No Built-in***
Komodo Run cmd Run cmd
http://phpday.it #phpday @k3a
How they work
• XML configuration file
• Project, Target, Task, Property, Type
http://phpday.it #phpday @k3a
PHP Project Wizard
(PPW)
ppw --source src
--tests tests
--name myproject
PHP Project Wizard (PPW) 1.0.4 by Sebastian Bergmann.
Wrote build script for Apache Ant to ./build.xml
Wrote configuration for PHPUnit to ./phpunit.xml.dist
http://phpday.it #phpday @k3a
Cos’è Ant\nCos’è Phing\nCosa possiamo automatizzare\nCosa possiamo automatizzare con Ant/Phing\nPrincipali gruppi di task\nTarget -> Target chain\n\n
\n
Quotidianamente, Compiti ripetitivi (e noiosi): fare i backup, lavare la macchina, trasformare immagini in serie, cambiare i pannolini, deploy di siti web, test del codice, verifica delle performance, lavare i denti, minimizzare js e css\nPer fortuna ci sono molte cose che si possono automatizzare con i sistemi di build automation\nutilizzare software BA è una best practice perchè procedure manuali sono passive di errori, BA sono autodocumentate, aumentano la nostra produttività, le BA possono essere lanciate da altri sistemi, cron, CI\n\n
Quanti utilizzano software di build automation?\nAnt/Phing/Altro\n\n
\n
in principio\n
luglio 2000 1.1\nben si adatta\n
tracce nel 2001\n2004 porting su PHP5\n
Consigliato JDK 1.4, sconsigliato perchè non funzionano diversi task (dal sito non è dato sapere quali)\n
Jenkins, Cruise control, Bamboo: entrambi, bamboo con symlink\n\n
Template for Jenkins jobs for PHP project\n
Template for Jenkins jobs for PHP project\n
I maggiori programmi utilizzati (a parte Vi ed Emacs), Cross platform (tranne Textmate)\nNe utilizzate altri?\n
* Eclipse si, ZS version <8\n** Bundle non in rete ma da creare a mano\n*** Presente ad oggi solo in Early Access Program (probabilmente dalla 2.1)\n
\n
\n
\n
\n
\n
\n
\n
per ant, git e svn non sono nel ramo ufficiale ma si trovano dei plugin/macro\n
Mess Detector, analizza il codice e fornisce un report su possibli bug, espressioni complicate, parametri metodi e propriet&#xE0; non utilizzati\n\n
In realt&#xE0; originariamente Ant supportava l&#x2019;attributo &#x201C;command&#x201D; ma ora &#xE8; deprecato\n
\n
\n
\n
\n
\n
oltre ad include/exclude, dimensione, created at, dir/file, quale livello del fs\nricrea la struttura\noltre al fileset esistono altri type, filelist, mapper, filter\n