3.3 Running Phing

Now you are prepared to execute Phing on the command line or via script files. The following section briefly describe how to properly execute phing.

3.3.1 Command Line

Phing execution on the command line is simple. Just change to the directory where your buildfile resides and type

$ phing [target [target2 [target3] ...]]

at the command line (where [target...] are the target(s) you want to be executed). If no target is specified Phing will try to execute the default target, as specified in the project tag. When calling multipe targets, Phing will invoke each target independently of the other targets. Optionally, you may specify command line arguments as listed in Appendix A.

For example, the following command line calls the default buildscript build.xml using the default target with the property ftp.upload set to true.

$ phing -Dftp.upload=true

3.3.2 Supported command line arguments

The following command line arguments are supported

  -h -help               print this message
  -l -list               list available targets in this project
  -i -init [file]        generates an initial buildfile
  -v -version            print the version information and exit
  -q -quiet              be extra quiet
  -S -silent             print nothing but task outputs and build failures
  -verbose               be extra verbose
  -debug                 print debugging information
  -emacs, -e             produce logging information without adornments
  -diagnostics           print diagnostics information
  -strict                runs build in strict mode, considering a warning as error
  -no-strict             runs build normally (overrides buildfile attribute)
  -longtargets           show target descriptions during build
  -logfile <file>        use given file for log
  -logger <classname>    the class which is to perform logging
  -listener <classname>  add an instance of class as a project listener
  -f -buildfile <file>   use given buildfile
  -D<property>=<value>   use value for given property
  -keep-going, -k        execute all targets that do not depend
                         on failed target(s)
  -propertyfile <file>   load all properties from file
  -propertyfileoverride  values in property file override existing values
  -find <file>           search for buildfile towards the root of the
                         filesystem and use it
  -inputhandler <file>   the class to use to handle user input